bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/25802] New: Several 64-bit SPARC tests FAIL: relocation truncate


From: ro at gcc dot gnu.org
Subject: [Bug ld/25802] New: Several 64-bit SPARC tests FAIL: relocation truncated to fit
Date: Wed, 08 Apr 2020 13:22:37 +0000

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]