diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2009-06-22 15:07:40 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-06-22 15:07:40 -0700 |
commit | 3c30afc8625c680257b91638c3d9bee01e1fe778 (patch) | |
tree | 46b73bd4a4ca129ce8818c14c83657a9d3018f02 /elf/Makefile | |
parent | ccab6d8f73a17346862b681250de6f73a6940144 (diff) | |
download | glibc-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/Makefile | 82 |
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) |