https://sourceware.org/bugzilla/show_bug.cgi?id=20595
Bug ID: 20595
Summary: excessive relocation for .ARM.exidx
Product: binutils
Version: 2.27
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: binutils
Assignee: unassigned at sourceware dot org
Reporter: akihiko.odaki.4i at stu dot hosei.ac.jp
Target Milestone: ---
In some cases, BFD leaves excessive relocation for .ARM.exidx.
Though I cannot provide the actual binary, I'll detail what I figured out while
investigating the issue.
The bug reproduces if:
* merged exidx have duplicate entries, which should be deleted
AND
* the target is relocatable executable (i.e. bfd_link_relocatable is FALSE, but
emitrelocations is TRUE)
Merged exidx can have duplicate entries, and the later ones will be marked to
be deleted if bfd_link_relocatable is FALSE (see elf32_arm_fix_exidx_coverage
in bfd/elf32-arm.c).
However, it just means it is incremental link, and it's FALSE even for
relocatable executable. In such cases, relocations should be updated, but they
won't. As the result, the excessive relocations remains the final output and
the later relocations in the section will slip from the expected offset.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils