about summary refs log tree commit diff
path: root/elf/Makefile
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2009-06-22 15:07:40 -0700
committerUlrich Drepper <drepper@redhat.com>2009-06-22 15:07:40 -0700
commit3c30afc8625c680257b91638c3d9bee01e1fe778 (patch)
tree46b73bd4a4ca129ce8818c14c83657a9d3018f02 /elf/Makefile
parentccab6d8f73a17346862b681250de6f73a6940144 (diff)
downloadglibc-3c30afc8625c680257b91638c3d9bee01e1fe778.tar.gz
glibc-3c30afc8625c680257b91638c3d9bee01e1fe778.tar.xz
glibc-3c30afc8625c680257b91638c3d9bee01e1fe778.zip
Add more IFUNC tests.
Mostly tests around not-exported IFUNC functions, IFUNC in statically
linked binaries and PIEs, etc.
Diffstat (limited to 'elf/Makefile')
-rw-r--r--elf/Makefile82
1 files changed, 77 insertions, 5 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 2aa5b7118f..80591178e0 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -99,10 +99,18 @@ distribute	:= rtld-Rules \
 		   ifuncmain1staticpic.c ifuncmain1picstatic.c \
 		   ifuncdep1.c ifuncdep1pic.c ifuncmod1.c \
 		   ifuncmain1pie.c ifuncmain1vispie.c \
+		   ifuncmain1staticpie.c \
 		   ifuncmain2.c ifuncmain2static.c ifuncdep2.c \
 		   ifuncmain2pic.c ifuncmain2picstatic.c ifuncdep2pic.c \
 		   ifuncmain3.c ifuncmod3.c \
-		   ifuncmain4.c ifuncmain4static.c ifuncmain4picstatic.c
+		   ifuncmain4.c ifuncmain4static.c ifuncmain4picstatic.c \
+		   ifuncmain5.c ifuncmain5pic.c ifuncmain5picstatic.c \
+		   ifuncmain5pie.c ifuncmain5static.c \
+		   ifuncmain5staticpic.c \
+		   ifuncdep5.c ifuncdep5pic.c ifuncmod5.c \
+		   ifuncmain6pie.c ifuncmod6.c \
+		   ifuncmain7.c ifuncmain7pic.c ifuncmain7picstatic.c \
+		   ifuncmain7pie.c ifuncmain7static.c
 
 CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables
 CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables
@@ -244,16 +252,22 @@ modules-names-nobuild := filtmod1
 ifeq (yes,$(multi-arch))
 tests-static += ifuncmain1static ifuncmain1picstatic \
 		ifuncmain2static ifuncmain2picstatic \
-		ifuncmain4static ifuncmain4picstatic
+		ifuncmain4static ifuncmain4picstatic \
+		ifuncmain5static ifuncmain5picstatic \
+		ifuncmain7static ifuncmain7picstatic
 
 ifeq (yes,$(build-shared))
 tests += ifuncmain1 ifuncmain1pic ifuncmain1vis ifuncmain1vispic \
 	 ifuncmain1staticpic \
-	 ifuncmain2 ifuncmain2pic ifuncmain3 ifuncmain4
+	 ifuncmain2 ifuncmain2pic ifuncmain3 ifuncmain4 \
+	 ifuncmain5 ifuncmain5pic ifuncmain5staticpic \
+	 ifuncmain7 ifuncmain7pic
 ifeq (yes,$(have-fpie))
-tests: $(objpfx)ifuncmain1pie.out $(objpfx)ifuncmain1vispie.out
+tests: $(objpfx)ifuncmain1pie.out $(objpfx)ifuncmain1vispie.out \
+	$(objpfx)ifuncmain1staticpie.out $(objpfx)ifuncmain5pie.out \
+	$(objpfx)ifuncmain6pie.out $(objpfx)ifuncmain7pie.out
 endif
-modules-names += ifuncmod1 ifuncmod3
+modules-names += ifuncmod1 ifuncmod3 ifuncmod5 ifuncmod6
 endif
 endif
 
@@ -530,6 +544,8 @@ reldep9mod1.so-no-z-defs = yes
 unload3mod4.so-no-z-defs = yes
 unload4mod1.so-no-z-defs = yes
 ifuncmod1.so-no-z-defs = yes
+ifuncmod5.so-no-z-defs = yes
+ifuncmod6.so-no-z-defs = yes
 
 ifeq ($(build-shared),yes)
 # Build all the modules even when not actually running test programs.
@@ -980,12 +996,22 @@ CFLAGS-ifuncmain2pic.c += $(pic-ccflag)
 CFLAGS-ifuncmain2picstatic.c += $(pic-ccflag)
 CFLAGS-ifuncdep2pic.c += $(pic-ccflag)
 CFLAGS-ifuncmain4picstatic.c += $(pic-ccflag)
+CFLAGS-ifuncmain5pic.c += $(pic-ccflag)
+CFLAGS-ifuncmain5picstatic.c += $(pic-ccflag)
+CFLAGS-ifuncmain5staticpic.c += $(pic-ccflag)
+CFLAGS-ifuncdep5pic.c += $(pic-ccflag)
+CFLAGS-ifuncmain7pic.c += $(pic-ccflag)
+CFLAGS-ifuncmain7picstatic.c += $(pic-ccflag)
 
 LDFLAGS-ifuncmain3 = -Wl,-export-dynamic
 
 ifeq (yesyes,$(have-fpie)$(build-shared))
 CFLAGS-ifuncmain1pie.c += $(pie-ccflag)
 CFLAGS-ifuncmain1vispie.c += $(pie-ccflag)
+CFLAGS-ifuncmain1staticpie.c += $(pie-ccflag)
+CFLAGS-ifuncmain5pie.c += $(pie-ccflag)
+CFLAGS-ifuncmain6pie.c += $(pie-ccflag)
+CFLAGS-ifuncmain7pie.c += $(pie-ccflag)
 
 $(objpfx)ifuncmain1pie.out: $(objpfx)ifuncmain1pie
 	$(elf-objpfx)$(rtld-installed-name) \
@@ -997,6 +1023,16 @@ $(objpfx)ifuncmain1pie: $(objpfx)ifuncmain1pie.o $(objpfx)ifuncmod1.so
 
 generated += ifuncmain1pie ifuncmain1pie.out
 
+$(objpfx)ifuncmain1staticpie.out: $(objpfx)ifuncmain1staticpie
+	$(elf-objpfx)$(rtld-installed-name) \
+	  --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
+	  $< > $@
+
+$(objpfx)ifuncmain1staticpie: $(objpfx)ifuncmain1staticpie.o $(objpfx)ifuncdep1pic.o
+	$(+link-pie)
+
+generated += ifuncmain1staticpie ifuncmain1staticpie.out
+
 $(objpfx)ifuncmain1vispie.out: $(objpfx)ifuncmain1vispie
 	$(elf-objpfx)$(rtld-installed-name) \
 	  --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
@@ -1006,6 +1042,36 @@ $(objpfx)ifuncmain1vispie: $(objpfx)ifuncmain1vispie.o $(objpfx)ifuncmod1.so
 	$(+link-pie)
 
 generated += ifuncmain1vispie ifuncmain1vispie.out
+
+$(objpfx)ifuncmain5pie.out: $(objpfx)ifuncmain5pie
+	$(elf-objpfx)$(rtld-installed-name) \
+	  --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
+	  $< > $@
+
+$(objpfx)ifuncmain5pie: $(objpfx)ifuncmain5pie.o $(objpfx)ifuncmod5.so
+	$(+link-pie)
+
+generated += ifuncmain5pie ifuncmain5pie.out
+
+$(objpfx)ifuncmain6pie.out: $(objpfx)ifuncmain6pie
+	$(elf-objpfx)$(rtld-installed-name) \
+	  --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
+	  $< > $@
+
+$(objpfx)ifuncmain6pie: $(objpfx)ifuncmain6pie.o $(objpfx)ifuncmod6.so
+	$(+link-pie)
+
+generated += ifuncmain6pie ifuncmain6pie.out
+
+$(objpfx)ifuncmain7pie.out: $(objpfx)ifuncmain7pie
+	$(elf-objpfx)$(rtld-installed-name) \
+	  --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
+	  $< > $@
+
+$(objpfx)ifuncmain7pie: $(objpfx)ifuncmain7pie.o 
+	$(+link-pie)
+
+generated += ifuncmain7pie ifuncmain7pie.out
 endif
 
 $(objpfx)ifuncmain1: $(addprefix $(objpfx),ifuncmod1.so)
@@ -1022,3 +1088,9 @@ $(objpfx)ifuncmain2picstatic: $(addprefix $(objpfx),ifuncdep2pic.o)
 
 $(objpfx)ifuncmain3: $(libdl)
 $(objpfx)ifuncmain3.out: $(objpfx)ifuncmod3.so
+
+$(objpfx)ifuncmain5: $(addprefix $(objpfx),ifuncmod5.so)
+$(objpfx)ifuncmain5pic: $(addprefix $(objpfx),ifuncmod5.so)
+$(objpfx)ifuncmain5static: $(addprefix $(objpfx),ifuncdep5.o)
+$(objpfx)ifuncmain5staticpic: $(addprefix $(objpfx),ifuncdep5pic.o)
+$(objpfx)ifuncmain5picstatic: $(addprefix $(objpfx),ifuncdep5pic.o)