summary refs log tree commit diff
path: root/elf/Makefile
diff options
context:
space:
mode:
authorDavid Newall <glibc@davidnewall.com>2019-02-04 13:35:11 +0100
committerFlorian Weimer <fweimer@redhat.com>2019-02-04 13:35:12 +0100
commit8692ebdb1259be60c545fa509d4852b26703777e (patch)
tree02739e9bf9f8e7a888294d18c532e0b19b880126 /elf/Makefile
parent5e10136b3ce5226bb6d55f5f14f74e65218750be (diff)
downloadglibc-8692ebdb1259be60c545fa509d4852b26703777e.tar.gz
glibc-8692ebdb1259be60c545fa509d4852b26703777e.tar.xz
glibc-8692ebdb1259be60c545fa509d4852b26703777e.zip
elf: Implement --preload option for the dynamic linker
Diffstat (limited to 'elf/Makefile')
-rw-r--r--elf/Makefile12
1 files changed, 11 insertions, 1 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 9cf5cd8dfd..db6a2a0c29 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -354,7 +354,8 @@ endif
 
 ifeq (yes,$(build-shared))
 ifeq ($(run-built-tests),yes)
-tests-special += $(objpfx)tst-pathopt.out $(objpfx)tst-rtld-load-self.out
+tests-special += $(objpfx)tst-pathopt.out $(objpfx)tst-rtld-load-self.out \
+		 $(objpfx)tst-rtld-preload.out
 endif
 tests-special += $(objpfx)check-textrel.out $(objpfx)check-execstack.out \
 		 $(objpfx)check-localplt.out $(objpfx)check-initfini.out
@@ -883,6 +884,15 @@ $(objpfx)tst-rtld-load-self.out: tst-rtld-load-self.sh $(objpfx)ld.so
 	$(SHELL) $^ '$(test-wrapper)' '$(test-wrapper-env)' > $@; \
 	$(evaluate-test)
 
+tst-rtld-preload-OBJS = $(subst $(empty) ,:,$(strip $(preloadtest-preloads:=.so)))
+$(objpfx)tst-rtld-preload.out: tst-rtld-preload.sh $(objpfx)ld.so \
+			       $(objpfx)preloadtest \
+			       $(preloadtest-preloads:%=$(objpfx)%.so)
+	$(SHELL) $< $(objpfx)ld.so $(objpfx)preloadtest \
+		    '$(test-wrapper)' '$(test-wrapper-env)' '$(run_program_env)' \
+		    '$(rpath-link)' '$(tst-rtld-preload-OBJS)' > $@; \
+	$(evaluate-test)
+
 $(objpfx)initfirst: $(libdl)
 $(objpfx)initfirst.out: $(objpfx)firstobj.so