[binutils-gdb] i386: Pass -Wl,--no-as-needed to compiler as needed

H.J. Lu hjl@sourceware.org
Wed Jan 25 17:09:01 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0e46a09d12aa9c2c77d783ace336866e429ffa73

commit 0e46a09d12aa9c2c77d783ace336866e429ffa73
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jan 25 08:57:57 2023 -0800

    i386: Pass -Wl,--no-as-needed to compiler as needed
    
    Pass -Wl,--no-as-needed to linker tests to fix
    
    FAIL: Run pr19031
    FAIL: Run got1
    FAIL: Undefined weak symbol (-fPIE -no-pie)
    FAIL: Undefined weak symbol (-fPIE -pie)
    
    when --as-needed is passed to linker by compiler.
    
            PR ld/30050
            * testsuite/ld-i386/i386.exp: Pass -Wl,--no-as-needed to compiler
            as needed.

Diff:
---
 ld/testsuite/ld-i386/i386.exp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
index 89e8aee237c..5f53bcf29bc 100644
--- a/ld/testsuite/ld-i386/i386.exp
+++ b/ld/testsuite/ld-i386/i386.exp
@@ -577,7 +577,8 @@ proc undefined_weak {cflags ldflags} {
     run_ld_link_exec_tests [list \
 	[list \
 	    "Run pr19704" \
-	    "$ldflags tmpdir/libpr19704.so -Wl,-R,tmpdir" \
+	    "$ldflags -Wl,--no-as-needed tmpdir/libpr19704.so \
+	     -Wl,-R,tmpdir" \
 	    "-Wa,-mrelax-relocations=yes" \
 	    { pr19704a.c } \
 	    "pr19704" \
@@ -1078,7 +1079,7 @@ if { [isnative]
 	] \
 	[list \
 	    "Run pr19031" \
-	    "$NOPIE_LDFLAGS tmpdir/pr19031.so" \
+	    "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr19031.so" \
 	    "-Wa,-mx86-used-note=yes" \
 	    { pr19031b.S pr19031c.c } \
 	    "pr19031" \
@@ -1087,7 +1088,7 @@ if { [isnative]
 	] \
 	[list \
 	    "Run got1" \
-	    "$NOPIE_LDFLAGS tmpdir/got1d.so" \
+	    "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/got1d.so" \
 	    "-Wa,-mx86-used-note=yes" \
 	    { got1a.S got1b.c got1c.c } \
 	    "got1" \


More information about the Binutils-cvs mailing list