summary refs log tree commit diff
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)