aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-i386.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index be5985d..3a478ff 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,7 @@
+2003-11-11 Jan Hubicka <jh@suse.cz>
+
+ * config/tc-i386.c (tc_i386_fix_adjustable):
+
2003-11-10 Alan Modra <amodra@bigpond.net.au>
* 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 81e6c1c..be1e621 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