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

Cary Coutant ccoutant@google.com
Thu Nov 20 00:37:00 GMT 2014
> +  // 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
symbol, but we could at least print the PLT index. Is there a remedy
we can suggest?

-cary



More information about the Binutils mailing list