[gold][PATCH] PR gold/17619: Check PC-relative offset overflow in PLT entry
H.J. Lu
hjl.tools@gmail.com
Thu Nov 20 01:08:00 GMT 2014
On Wed, Nov 19, 2014 at 4:37 PM, Cary Coutant <ccoutant@google.com> wrote:
>> + // Check PC-relative offset overflow in PLT entry.
>> + bool gotplt_after_plt = got_address > plt_address;
>> + int32_t plt_got_pcrel_offset = (got_address + got_offset
>> + - (plt_address + plt_offset + 6));
>> + if ((gotplt_after_plt && plt_got_pcrel_offset < 0)
>> + || (!gotplt_after_plt && plt_got_pcrel_offset > 0))
>> + gold_error(_("PC-relative offset overflow in PLT entry"));
>
> It would be nice to print more information here. I think it's
> next-to-impossible at this point to translate the PLT index into a
I will update it.
> symbol, but we could at least print the PLT index. Is there a remedy
> we can suggest?
>
We can use large PIC model. But it isn't supported by gold:
https://sourceware.org/bugzilla/show_bug.cgi?id=17593
--
H.J.
More information about the Binutils
mailing list