[binutils-gdb] ld: testsuite: Skip "Run with libpr19553c.so" test on Solaris
Rainer Orth
ro@sourceware.org
Mon Jul 28 13:35:00 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7c1c13e896c76879bcf3fb29332e0a59918bc9e0
commit 7c1c13e896c76879bcf3fb29332e0a59918bc9e0
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date: Mon Jul 28 15:34:12 2025 +0200
ld: testsuite: Skip "Run with libpr19553c.so" test on Solaris
The
FAIL: Run with libpr19553c.so
test FAILs on Solaris (32 and 64-bit, sparc and x86):
Running: tmpdir/pr19553c > tmpdir/pr19553c.out
diff tmpdir/pr19553c.out /vol/src/gnu/binutils/hg/master/local/ld/testsuite/ld-elf/pr19553c.out
1c1
< pr19553b
---
> pr19553c
child process exited abnormally
The test uses .symver, resulting in versioned symbols which the Solaris
ld.so.1 doesn't support and never will. Running it with LD_DEBUG=all
shows
26493: 1: symbol=foo; lookup in file=tmpdir/pr19553c [ ELF ]
26493: 1: symbol=foo; lookup in file=tmpdir/libpr19553c.so [ ELF ]
26493: 1: symbol=foo; skipping entry in file=tmpdir/libpr19553c.so, index[7], version=FOO, due to GNU version hidden bit
26493: 1: symbol=foo; continuing lookup in file=tmpdir/libpr19553c.so [ ELF ]
26493: 1: symbol=foo; lookup in file=tmpdir/libpr19553b.so [ ELF ]
26493: 1: binding file=tmpdir/pr19553c to file=tmpdir/libpr19553b.so: symbol 'foo'
so this patch skips the test.
2025-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
ld:
* testsuite/ld-elf/indirect.exp (Run with libpr19553c.so):
Skip on *-*-solaris2*.
Diff:
---
ld/testsuite/ld-elf/indirect.exp | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/ld/testsuite/ld-elf/indirect.exp b/ld/testsuite/ld-elf/indirect.exp
index 9a0bcb25da3..3d9cc2aff05 100644
--- a/ld/testsuite/ld-elf/indirect.exp
+++ b/ld/testsuite/ld-elf/indirect.exp
@@ -189,14 +189,21 @@ set run_tests [list \
{check-ptr-eq.c} "pr18720d" "pr18720.out"] \
[list "Run with libpr19553b.so" \
"-Wl,--no-as-needed tmpdir/libpr19553b.so tmpdir/libpr19553d.so -Wl,-rpath-link,." "" \
- {pr19553a.c} "pr19553b" "pr19553b.out"] \
+ {pr19553a.c} "pr19553b" "pr19553b.out"]
+]
+
+# This test relies on versioned symbols, which Solaris ld.so.1 doesn't support.
+if { ![istarget *-*-solaris2*] } {
+ lappend run_tests \
[list "Run with libpr19553c.so" \
"-Wl,--no-as-needed tmpdir/libpr19553c.so tmpdir/libpr19553b.so tmpdir/libpr19553d.so" "" \
- {pr19553a.c} "pr19553c" "pr19553c.out"] \
+ {pr19553a.c} "pr19553c" "pr19553c.out"]
+}
+
+lappend run_tests \
[list "Run with libpr19553d.so" \
"-Wl,--no-as-needed tmpdir/libpr19553d.so tmpdir/libpr19553b.so -Wl,-rpath-link,." "" \
- {pr19553a.c} "pr19553d" "pr19553d.out"] \
-]
+ {pr19553a.c} "pr19553d" "pr19553d.out"]
run_ld_link_exec_tests $run_tests
More information about the Binutils-cvs
mailing list