aboutsummaryrefslogtreecommitdiff
path: root/Makerules
diff options
context:
space:
mode:
Diffstat (limited to 'Makerules')
-rw-r--r--Makerules24
1 files changed, 16 insertions, 8 deletions
diff --git a/Makerules b/Makerules
index baeb9b6ab0..f334c8c171 100644
--- a/Makerules
+++ b/Makerules
@@ -418,15 +418,19 @@ ifndef libc.so-version
static-only-routines =
endif
+# Bounded pointer thunks are only built for *.ob
+elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks))
+
elide-routines.oS += $(filter-out $(static-only-routines),\
- $(routines) $(aux) $(sysdep_routines))
-elide-routines.os += $(static-only-routines)
+ $(routines) $(aux) $(sysdep_routines)) \
+ $(elide-bp-thunks)
+elide-routines.os += $(static-only-routines) $(elide-bp-thunks)
# If we have versioned code we don't need the old versions in any of the
# static libraries.
-elide-routines.o += $(shared-only-routines)
-elide-routines.op += $(shared-only-routines)
-elide-routines.og += $(shared-only-routines)
+elide-routines.o += $(shared-only-routines) $(elide-bp-thunks)
+elide-routines.op += $(shared-only-routines) $(elide-bp-thunks)
+elide-routines.og += $(shared-only-routines) $(elide-bp-thunks)
elide-routines.ob += $(shared-only-routines)
# Don't try to use -lc when making libc.so itself.
@@ -466,9 +470,13 @@ endif
# Figure out the source filenames in this directory.
-override sources := $(addsuffix .c,$(filter-out $(elided-routines),\
- $(routines) $(aux) \
- $(sysdep_routines)))
+override sources := $(addsuffix .c,\
+ $(filter-out $(elided-routines),\
+ $(routines) $(aux) \
+ $(sysdep_routines)) \
+ $(addprefix $(bppfx),\
+ $(filter $(routines) $(sysdep_routines),\
+ $(bp-thunks))))
sysdep_routines := $(sysdep_routines)
headers := $(headers) $(sysdep_headers)