Question on tc_i386_fix_adjustable

Jie Zhang jzhang918@gmail.com
Wed Aug 22 01:15:00 GMT 2007


Hi,

Does anyone know why the following three relocation types cannot be adjusted?

int
tc_i386_fix_adjustable (fixS *fixP ATTRIBUTE_UNUSED)
{
[snip]
  /* adjust_reloc_syms doesn't know about the GOT.  */
  if (fixP->fx_r_type == BFD_RELOC_386_GOTOFF
      || fixP->fx_r_type == BFD_RELOC_386_PLT32
      || fixP->fx_r_type == BFD_RELOC_386_GOT32
      [snip])
    return 0;
[snip]
}

There are no regressions found in gas, ld, binutils and gcc testing if
these three checks are removed. g++ is not tested since it has an ICE
when I was testing.

Thanks,
Jie



More information about the Binutils mailing list