https://sourceware.org/bugzilla/show_bug.cgi?id=25802
Bug ID: 25802 Summary: Several 64-bit SPARC tests FAIL: relocation truncated to fit Product: binutils Version: 2.35 (HEAD) Status: NEW Severity: normal Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: ro at gcc dot gnu.org CC: davem at davemloft dot net, jose.marchesi at oracle dot com Target Milestone: --- Host: sparcv9-sun-solaris2.11 Target: sparcv9-sun-solaris2.11 Build: sparcv9-sun-solaris2.11 Several ld tests FAIL on 64-bit Solaris/SPARC, all with the same problem: FAIL: ld-elf/compress1a tmpdir/compress1.o:(.debug_info+0x10): relocation truncated to fit: R_SPARC_UA32 against `.text' tmpdir/compress1.o:(.debug_info+0x14): relocation truncated to fit: R_SPARC_UA32 against `.text' tmpdir/compress1.o:(.debug_info+0x40): relocation truncated to fit: R_SPARC_UA32 against `.text' tmpdir/compress1.o:(.debug_info+0x44): relocation truncated to fit: R_SPARC_UA32 against `.text' tmpdir/compress1.o:(.debug_line+0x30): relocation truncated to fit: R_SPARC_UA32 against `.text' tmpdir/compress1.o:(.debug_line+0x3b): relocation truncated to fit: R_SPARC_UA32 against `.text' FAIL: ld-elf/compressed1a same errors FAIL: ld-elf/eh5 tmpdir/eh5.o:(.eh_frame+0x3e): relocation truncated to fit: R_SPARC_UA32 against symbol `my_personality_v0' defined in .text section in tmpdir/eh5.o tmpdir/eh5.o:(.eh_frame+0x87): relocation truncated to fit: R_SPARC_UA32 against symbol `my_personality_v0' defined in .text section in tmpdir/eh5.o tmpdir/eh5a.o:(.eh_frame+0x3a): relocation truncated to fit: R_SPARC_UA32 against symbol `my_personality_v1' defined in .text section in tmpdir/eh5a.o tmpdir/eh5a.o:(.eh_frame+0x7f): relocation truncated to fit: R_SPARC_UA32 against symbol `my_personality_v1' defined in .text section in tmpdir/eh5a.o FAIL: --gc-sections with multiple debug sections for a function section tmpdir/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 tmpdir/all-debug-sections.o tmpdir/all-debug-sections.o: in function `debug_aranges_main': (.debug_aranges.text.main+0x4): relocation truncated to fit: R_SPARC_32 against symbol `main' defined in .text.main section in tmpdir/all-debug-sections.o tmpdir/all-debug-sections.o: in function `debug_line_main': (.debug_line.text.main+0x4): relocation truncated to fit: R_SPARC_32 against symbol `main' defined in .text.main section in tmpdir/all-debug-sections.o When using Solaris ld instead, all tests can be linked (modulo removal of -z norelo since Solaris doesn't support relro). I wonder how best to handle this: bfd/elfxx-sparc.c (_bfd_sparc_elf_relocate_section) already silently ignores the overflow in a few select cases (like .stab sections), following the lead of Solaris ld. As expected, the tests do PASS if I do this unconditionally for the 3 affected relocs. This may or may not be a hack, though. -- You are receiving this mail because: You are on the CC list for the bug.