From d4c2917fc5091dae7ab1b30c165becb70d3c3453 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Mon, 16 Apr 2012 14:06:47 +1000 Subject: [PATCH] Fix test-suite failues with -Wl,--as-needed Signed-off-by: Allan McRae --- ChangeLog | 24 ++++++++++++++++++++++++ elf/Makefile | 21 ++++++++++++++++++++- nptl/ChangeLog | 5 +++++ nptl/Makefile | 3 ++- stdlib/Makefile | 1 + 5 files changed, 52 insertions(+), 2 deletions(-) diff --git a/elf/Makefile b/elf/Makefile index 57dcab0..47729c3 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -500,6 +500,18 @@ $(objpfx)tst-initordera3.so: $(objpfx)tst-initorderb2.so $(objpfx)tst-initorderb $(objpfx)tst-initordera4.so: $(objpfx)tst-initordera3.so $(objpfx)tst-initorder: $(objpfx)tst-initordera4.so $(objpfx)tst-initordera1.so $(objpfx)tst-initorderb2.so +LDFLAGS-nodel2mod3.so = $(no-as-needed) +LDFLAGS-reldepmod5.so = $(no-as-needed) +LDFLAGS-reldep6mod1.so = $(no-as-needed) +LDFLAGS-reldep6mod4.so = $(no-as-needed) +LDFLAGS-reldep8mod3.so = $(no-as-needed) +LDFLAGS-unload4mod1.so = $(no-as-needed) +LDFLAGS-unload4mod2.so = $(no-as-needed) +LDFLAGS-tst-initorder = $(no-as-needed) +LDFLAGS-tst-initordera2.so = $(no-as-needed) +LDFLAGS-tst-initordera3.so = $(no-as-needed) +LDFLAGS-tst-initordera4.so = $(no-as-needed) +LDFLAGS-tst-initorderb2.so = $(no-as-needed) LDFLAGS-tst-tlsmod5.so = -nostdlib LDFLAGS-tst-tlsmod6.so = -nostdlib @@ -633,7 +645,7 @@ $(objpfx)vismain.out: $(addprefix $(objpfx),vismod3.so) vismain-ENV = LD_PRELOAD=$(addprefix $(objpfx),vismod3.so) $(objpfx)noload: $(objpfx)testobj1.so $(common-objpfx)dlfcn/libdl.so -LDFLAGS-noload = -rdynamic +LDFLAGS-noload = -rdynamic $(no-as-needed) $(objpfx)noload.out: $(objpfx)testobj5.so $(objpfx)noload-mem: $(objpfx)noload.out @@ -678,6 +690,7 @@ $(objpfx)reldep4: $(libdl) $(objpfx)reldep4.out: $(objpfx)reldep4mod1.so $(objpfx)reldep4mod2.so $(objpfx)next: $(objpfx)nextmod1.so $(objpfx)nextmod2.so $(libdl) +LDFLAGS-next = $(no-as-needed) $(objpfx)unload2: $(libdl) $(objpfx)unload2.out: $(objpfx)unload2mod.so $(objpfx)unload2dep.so @@ -1025,6 +1038,8 @@ $(objpfx)order2mod1.so: $(objpfx)order2mod4.so $(objpfx)order2mod4.so: $(objpfx)order2mod3.so $(objpfx)order2mod2.so: $(objpfx)order2mod3.so order2mod2.so-no-z-defs = yes +LDFLAGS-order2mod1.so = $(no-as-needed) +LDFLAGS-order2mod2.so = $(no-as-needed) tst-stackguard1-ARGS = --command "$(built-program-cmd) --child" tst-stackguard1-static-ARGS = --command "$(objpfx)tst-stackguard1-static --child" @@ -1113,6 +1128,10 @@ $(objpfx)tst-initorder2: $(objpfx)tst-initorder2a.so $(objpfx)tst-initorder2d.so $(objpfx)tst-initorder2a.so: $(objpfx)tst-initorder2b.so $(objpfx)tst-initorder2b.so: $(objpfx)tst-initorder2c.so $(objpfx)tst-initorder2c.so: $(objpfx)tst-initorder2d.so +LDFLAGS-tst-initorder2 = $(no-as-needed) +LDFLAGS-tst-initorder2a.so = $(no-as-needed) +LDFLAGS-tst-initorder2b.so = $(no-as-needed) +LDFLAGS-tst-initorder2c.so = $(no-as-needed) define o-iterator-doit $(objpfx)tst-initorder2$o.os: tst-initorder2.c; \ $$(compile-command.c) -DNAME=\"$o\" diff --git a/nptl/Makefile b/nptl/Makefile index 09acd8a..07a1022 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -458,6 +458,7 @@ $(objpfx)tst-tls4: $(libdl) $(shared-thread-library) $(objpfx)tst-tls4.out: $(objpfx)tst-tls4moda.so $(objpfx)tst-tls4modb.so $(objpfx)tst-tls5: $(objpfx)tst-tls5mod.so $(shared-thread-library) +LDFLAGS-tst-tls5 = $(no-as-needed) LDFLAGS-tst-tls5mod.so = -Wl,-soname,tst-tls5mod.so ifeq ($(build-shared),yes) @@ -503,7 +504,7 @@ $(objpfx)tst-clock2: $(common-objpfx)rt/librt.a $(objpfx)tst-rwlock14: $(common-objpfx)rt/librt.a endif -LDFLAGS-tst-cancel24 = -lstdc++ +LDFLAGS-tst-cancel24 = $(no-as-needed) -lstdc++ extra-B-pthread.so = -B$(common-objpfx)nptl/ $(objpfx)libpthread.so: $(addprefix $(objpfx),$(crti-objs) $(crtn-objs)) diff --git a/stdlib/Makefile b/stdlib/Makefile index 44eb20d..f7811c5 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -138,6 +138,7 @@ $(objpfx)tst-fmtmsg.out: tst-fmtmsg.sh $(objpfx)tst-fmtmsg $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)stdlib/ $(objpfx)tst-putenv: $(objpfx)tst-putenvmod.so +LDFLAGS-tst-putenv = $(no-as-needed) $(objpfx)tst-putenvmod.so: $(objpfx)tst-putenvmod.os $(build-module) -- 1.7.3.4