From 7c1c13e896c76879bcf3fb29332e0a59918bc9e0 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Mon, 28 Jul 2025 15:34:12 +0200 Subject: [PATCH] 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 ld: * testsuite/ld-elf/indirect.exp (Run with libpr19553c.so): Skip on *-*-solaris2*. --- 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 -- 2.47.2