This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gold][PATCH] PR gold/17619: Check PC-relative offset overflow in PLT entry


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]