elf: Add -Wl, --no-as-needed for tst-tls-manydynamic*mod-dep-bad.so (BZ #28089)

Message ID 20210715112234.4168206-1-adhemerval.zanella@linaro.org
State New
Headers show
Series
  • elf: Add -Wl, --no-as-needed for tst-tls-manydynamic*mod-dep-bad.so (BZ #28089)
Related show

Commit Message

Florian Weimer via Libc-alpha July 15, 2021, 11:22 a.m.
The tests explicit requires the dependencies and it is required for
the case the toolchain defaults to -Wl,--as-needed.

Checked on x86_64-linux-gnu.
---
 elf/Makefile | 11 +++++++++++
 1 file changed, 11 insertions(+)

-- 
2.30.2

Comments

Florian Weimer via Libc-alpha July 15, 2021, 11:59 a.m. | #1
On 15/07/2021 08:22, Adhemerval Zanella wrote:
> The tests explicit requires the dependencies and it is required for

> the case the toolchain defaults to -Wl,--as-needed.

> 

> Checked on x86_64-linux-gnu.


The subject should be 'COMMITTED', since it is a straightforward patch
and I already pushed upstream.

Patch

diff --git a/elf/Makefile b/elf/Makefile
index bdd5cc9e1a..4fe60947ad 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -1854,25 +1854,36 @@  $(objpfx)tst-tls-manydynamic16mod-dep.so: $(objpfx)tst-tls-manydynamic18mod-dep.
 # Same but with an invalid module.
 # Single dependency.
 $(objpfx)tst-tls-manydynamic0mod-dep-bad.so: $(objpfx)tst-tls20mod-bad.so
+LDFLAGS-tst-tls-manydynamic0mod-dep-bad.so = -Wl,--no-as-needed
 # Double dependencies.
 $(objpfx)tst-tls-manydynamic1mod-dep-bad.so: $(objpfx)tst-tls-manydynamic2mod-dep-bad.so \
 					     $(objpfx)tst-tls20mod-bad.so
+LDFLAGS-tst-tls-manydynamic1mod-dep-bad.so = -Wl,--no-as-needed
 # Double dependencies with each dependency depent of another module.
 $(objpfx)tst-tls-manydynamic3mod-dep-bad.so: $(objpfx)tst-tls-manydynamic4mod-dep-bad.so \
 					     $(objpfx)tst-tls-manydynamic5mod-dep-bad.so
+LDFLAGS-tst-tls-manydynamic3mod-dep-bad.so = -Wl,--no-as-needed
 $(objpfx)tst-tls-manydynamic4mod-dep-bad.so: $(objpfx)tst-tls20mod-bad.so
+LDFLAGS-tst-tls-manydynamic4mod-dep-bad.so = -Wl,--no-as-needed
 $(objpfx)tst-tls-manydynamic5mod-dep-bad.so: $(objpfx)tst-tls20mod-bad.so
+LDFLAGS-tst-tls-manydynamic5mod-dep-bad.so = -Wl,--no-as-needed
 # Long chain with one double dependency in the middle
 $(objpfx)tst-tls-manydynamic6mod-dep-bad.so: $(objpfx)tst-tls-manydynamic7mod-dep-bad.so \
 					     $(objpfx)tst-tls-manydynamic8mod-dep-bad.so
+LDFLAGS-tst-tls-manydynamic6mod-dep-bad.so = -Wl,--no-as-needed
 $(objpfx)tst-tls-manydynamic7mod-dep-bad.so: $(objpfx)tst-tls-manydynamic9mod-dep-bad.so
+LDFLAGS-tst-tls-manydynamic7mod-dep-bad.so = -Wl,--no-as-needed
 $(objpfx)tst-tls-manydynamic9mod-dep-bad.so: $(objpfx)tst-tls20mod-bad.so
+LDFLAGS-tst-tls-manydynamic9mod-dep-bad.so = -Wl,--no-as-needed
 # Long chain with two double depedencies in the middle
 $(objpfx)tst-tls-manydynamic10mod-dep-bad.so: $(objpfx)tst-tls-manydynamic11mod-dep-bad.so
+LDFLAGS-tst-tls-manydynamic10mod-dep-bad.so = -Wl,--no-as-needed
 $(objpfx)tst-tls-manydynamic11mod-dep-bad.so: $(objpfx)tst-tls-manydynamic12mod-dep-bad.so \
 					      $(objpfx)tst-tls-manydynamic13mod-dep-bad.so
+LDFLAGS-tst-tls-manydynamic11mod-dep-bad.so = -Wl,--no-as-needed
 $(objpfx)tst-tls-manydynamic12mod-dep-bad.so: $(objpfx)tst-tls-manydynamic14mod-dep-bad.so \
 					      $(objpfx)tst-tls20mod-bad.so
+LDFLAGS-tst-tls-manydynamic12mod-dep-bad.so = -Wl,--no-as-needed
 $(objpfx)tst-tls20: $(shared-thread-library)
 $(objpfx)tst-tls20.out: $(objpfx)tst-tls20mod-bad.so \
 			$(tst-tls-many-dynamic-modules:%=$(objpfx)%.so) \