]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
ld: testsuite: xfail ld-elf/compress1a etc. on Solaris/sparcv9 [PR25802]
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Fri, 24 Oct 2025 13:57:24 +0000 (15:57 +0200)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Fri, 24 Oct 2025 13:57:24 +0000 (15:57 +0200)
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  <ro@CeBiTec.Uni-Bielefeld.DE>

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
ld/testsuite/ld-elf/compressed1a.d
ld/testsuite/ld-elf/eh5.d
ld/testsuite/ld-gc/all-debug-sections.d

index 0d5b68e73e53fd36844f180e7b9bbb80c09b4dc3..44f35aacf151dd7364f90ebad2955fe5c0460799 100644 (file)
@@ -3,6 +3,8 @@
 #ld: -e func_cu2
 #readelf: -S --wide
 #xfail: alpha-*-*ecoff
+# PR ld/25802
+#xfail: sparcv9-*-solaris2*
 
 #failif
 #...
index 3a5572ec8e4846c0aca208a008e1cf19ff4bc63c..e9a7e3b842fbfe7b492ab08f41fa8cbafc121e9b 100644 (file)
@@ -3,6 +3,8 @@
 #ld: -e func_cu2
 #readelf: -t
 #xfail: alpha-*-*ecoff
+# PR ld/25802
+#xfail: sparcv9-*-solaris2*
 
 #failif
 #...
index d51b4809e94a1429d7b57edb8c4adc5b19a8a727..48109d38310348ad6fc59a95f6c3b13ceecd8255 100644 (file)
@@ -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:
 
index 45ed1bad31c62af0d27d8dce1c14316d7c4fd09b..ebbacacb3006b5592fe4b35b6ca1575ba9d1f5ec 100644 (file)
@@ -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