https://sourceware.org/bugzilla/show_bug.cgi?id=18780
Bug ID: 18780
Summary: Gold does not support long PLT on ARM
Product: binutils
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: gold
Assignee: ccoutant at gmail dot com
Reporter: eugeni.stepanov at gmail dot com
CC: ian at airs dot com
Target Milestone: ---
The BFD linker has a -long-plt option to generate 16-byte PLT entries that are
capable of addressing GOT at arbitrary offset. Gold only knows how to emit
12-byte PLT entries which limits the linked binary to 0xFFFFFFF (256MB) offset
between PLT and GOT.
Linking a larger binary results in the following error (at HEAD):
ld.gold: internal error in do_fill_plt_entry, at arm.cc:7799
In case the code moves later, this refers to the following lines in
do_fill_plt_entry:
int32_t offset = ((got_address + got_offset)
- (plt_address + plt_offset + 8));
gold_assert(offset >= 0 && offset < 0x0fffffff);
--
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