From b1386f1bf2b1faac6cf3595878a89988ed08b51e Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Fri, 24 Oct 2025 15:57:24 +0200 Subject: [PATCH] ld: testsuite: xfail ld-elf/compress1a etc. on Solaris/sparcv9 [PR25802] A couple of tests FAIL on Solaris/sparcv9: FAIL: ld-elf/compress1a FAIL: ld-elf/compressed1a FAIL: ld-elf/eh5 FAIL: --gc-sections with multiple debug sections for a function section The symptom is always similar: compress1.o:(.debug_info+0x10): relocation truncated to fit: R_SPARC_UA32 against `.text' eh5.o:(.eh_frame+0x3e): relocation truncated to fit: R_SPARC_UA32 against symbol `my_personality_v0' defined in .text section in eh5.o all-debug-sections.o: in function `debug_info_main': (.debug_info.text.main+0x4): relocation truncated to fit: R_SPARC_32 against symbol `main' defined in .text.main section in all-debug-sections.o With the default Solaris/sparcv9 text address of 0x100000000, the relocations are out of the 32-bit range of R_SPARC_UA32 resp. R_SPARC_32, so the "relocation truncated to fit" errors are benign. One could avoid those by linking the affected tests with -Ttext=0x80000000, matching Solaris /usr/lib/ld/map.below4G, but that doesn't reflect real usage. Therefore this patch xfail's those tests. Tested on sparcv9-sun-solaris2.11, sparc-sun-solaris2.11, and x86_64-pc-linux-gnu. 2025-07-30 Rainer Orth ld: PR ld/25802 * testsuite/ld-elf/compress1a.d: xfail on sparcv9-*-solaris2*. * testsuite/ld-elf/compressed1a.d: Likewise. * testsuite/ld-elf/eh5.d: Likewise. * testsuite/ld-gc/all-debug-sections.d: Likewise. --- ld/testsuite/ld-elf/compress1a.d | 2 ++ ld/testsuite/ld-elf/compressed1a.d | 2 ++ ld/testsuite/ld-elf/eh5.d | 2 ++ ld/testsuite/ld-gc/all-debug-sections.d | 2 ++ 4 files changed, 8 insertions(+) diff --git a/ld/testsuite/ld-elf/compress1a.d b/ld/testsuite/ld-elf/compress1a.d index 0d5b68e73e5..44f35aacf15 100644 --- a/ld/testsuite/ld-elf/compress1a.d +++ b/ld/testsuite/ld-elf/compress1a.d @@ -3,6 +3,8 @@ #ld: -e func_cu2 #readelf: -S --wide #xfail: alpha-*-*ecoff +# PR ld/25802 +#xfail: sparcv9-*-solaris2* #failif #... diff --git a/ld/testsuite/ld-elf/compressed1a.d b/ld/testsuite/ld-elf/compressed1a.d index 3a5572ec8e4..e9a7e3b842f 100644 --- a/ld/testsuite/ld-elf/compressed1a.d +++ b/ld/testsuite/ld-elf/compressed1a.d @@ -3,6 +3,8 @@ #ld: -e func_cu2 #readelf: -t #xfail: alpha-*-*ecoff +# PR ld/25802 +#xfail: sparcv9-*-solaris2* #failif #... diff --git a/ld/testsuite/ld-elf/eh5.d b/ld/testsuite/ld-elf/eh5.d index d51b4809e94..48109d38310 100644 --- a/ld/testsuite/ld-elf/eh5.d +++ b/ld/testsuite/ld-elf/eh5.d @@ -5,6 +5,8 @@ #readelf: -wf #target: [check_as_cfi] #xfail: alpha-*-*ecoff tile*-*-* visium-*-* +# PR ld/25802 +#xfail: sparcv9-*-solaris2* Contents of the .eh_frame section: diff --git a/ld/testsuite/ld-gc/all-debug-sections.d b/ld/testsuite/ld-gc/all-debug-sections.d index 45ed1bad31c..ebbacacb300 100644 --- a/ld/testsuite/ld-gc/all-debug-sections.d +++ b/ld/testsuite/ld-gc/all-debug-sections.d @@ -2,6 +2,8 @@ #as: -gdwarf-sections #ld: --gc-sections -e _start #nm: -B +# PR ld/25802 +#xfail: sparcv9-*-solaris2* #... [0-9a-f]+ N +debug_aranges_main -- 2.47.3