]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
ld: testsuite: Skip "Run with libpr19553c.so" test on Solaris
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Mon, 28 Jul 2025 13:34:12 +0000 (15:34 +0200)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Mon, 28 Jul 2025 13:34:12 +0000 (15:34 +0200)
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*.

ld/testsuite/ld-elf/indirect.exp

index 9a0bcb25da390fed8c1c929847144c6d2b50dfac..3d9cc2aff0545a11631f175f4d7e8ad54cd78eff 100644 (file)
@@ -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