diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-01-19 15:32:35 -0500 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-01-19 16:00:11 -0500 |
commit | 968dad0ab1f367a087ff4ad503b511dd0c565adc (patch) | |
tree | d13459628d20f7c091850755ebc120fb81156ca3 /elf/Makefile | |
parent | 86e9235918a715095a1f5bb1c1db28fae7fca22b (diff) | |
download | glibc-968dad0ab1f367a087ff4ad503b511dd0c565adc.tar.gz glibc-968dad0ab1f367a087ff4ad503b511dd0c565adc.tar.xz glibc-968dad0ab1f367a087ff4ad503b511dd0c565adc.zip |
Fix ordering of DSO constructors and destructors.
Diffstat (limited to 'elf/Makefile')
-rw-r--r-- | elf/Makefile | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/elf/Makefile b/elf/Makefile index 3c79fcfeee..0f37804aa4 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -118,7 +118,10 @@ distribute := rtld-Rules \ ifuncmain7.c ifuncmain7pic.c ifuncmain7picstatic.c \ ifuncmain7pie.c ifuncmain7static.c \ tst-unique1.c tst-unique1mod1.c tst-unique1mod2.c \ - tst-unique2.c tst-unique2mod1.c tst-unique2mod2.c + tst-unique2.c tst-unique2mod1.c tst-unique2mod2.c \ + tst-initordera1.c tst-initordera2.c tst-initorderb1.c \ + tst-initorderb2.c tst-initordera3.c tst-initordera4.c \ + tst-initorder.c CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables @@ -198,7 +201,8 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ unload3 unload4 unload5 unload6 unload7 tst-global1 order2 \ tst-audit1 tst-audit2 \ tst-stackguard1 tst-addr1 tst-thrlock \ - tst-unique1 tst-unique2 + tst-unique1 tst-unique2 \ + tst-initorder # reldep9 test-srcs = tst-pathopt tests-execstack-yes = tst-execstack tst-execstack-needed tst-execstack-prog @@ -250,7 +254,10 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ unload7mod1 unload7mod2 \ order2mod1 order2mod2 order2mod3 order2mod4 \ tst-unique1mod1 tst-unique1mod2 \ - tst-unique2mod1 tst-unique2mod2 + tst-unique2mod1 tst-unique2mod2 \ + tst-initordera1 tst-initorderb1 \ + tst-initordera2 tst-initorderb2 \ + tst-initordera3 tst-initordera4 ifeq (yes,$(have-initfini-array)) modules-names += tst-array2dep tst-array5dep endif @@ -531,6 +538,11 @@ $(objpfx)unload6mod2.so: $(libdl) $(objpfx)unload6mod3.so: $(libdl) $(objpfx)unload7mod1.so: $(libdl) $(objpfx)unload7mod2.so: $(objpfx)unload7mod1.so +$(objpfx)tst-initordera2.so: $(objpfx)tst-initordera1.so +$(objpfx)tst-initorderb2.so: $(objpfx)tst-initorderb1.so $(objpfx)tst-initordera2.so +$(objpfx)tst-initordera3.so: $(objpfx)tst-initorderb2.so $(objpfx)tst-initorderb1.so +$(objpfx)tst-initordera4.so: $(objpfx)tst-initordera3.so +$(objpfx)tst-initorder: $(objpfx)tst-initordera4.so $(objpfx)tst-initordera1.so $(objpfx)tst-initorderb2.so LDFLAGS-tst-tlsmod5.so = -nostdlib LDFLAGS-tst-tlsmod6.so = -nostdlib @@ -1162,6 +1174,12 @@ $(objpfx)tst-unique1.out: $(objpfx)tst-unique1mod1.so \ $(objpfx)tst-unique2: $(libdl) $(objpfx)tst-unique2mod1.so $(objpfx)tst-unique2.out: $(objpfx)tst-unique2mod2.so +$(objpfx)tst-initorder.out: $(objpfx)tst-initorder + $(elf-objpfx)${rtld-installed-name} \ + --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \ + $< > $@ + cmp $@ tst-initorder.exp > /dev/null + ifeq (yes,$(config-cflags-avx)) CFLAGS-tst-audit4.c += -mavx CFLAGS-tst-auditmod4a.c += -mavx |