diff --git a/gas/ChangeLog b/gas/ChangeLog index be5985d50b..3a478ffeaa 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2003-11-11 Jan Hubicka + + * config/tc-i386.c (tc_i386_fix_adjustable): + 2003-11-10 Alan Modra * config/tc-ia64.c (ia64_handle_align): Remove bogus be_nop. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 81e6c1caf1..be1e62197f 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1225,6 +1225,12 @@ tc_i386_fix_adjustable (fixP) && fixP->fx_pcrel) return 0; + /* The x86_64 GOTPCREL are represented as 32bit PCrel relocations + and changed later by validate_fix. */ + if (GOT_symbol && fixP->fx_subsy == GOT_symbol + && fixP->fx_r_type == BFD_RELOC_32_PCREL) + return 0; + /* 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