2003-11-11 Jan Hubicka <jh@suse.cz>
authorAndreas Jaeger <aj@suse.de>
Tue, 11 Nov 2003 09:30:48 +0000 (09:30 +0000)
committerAndreas Jaeger <aj@suse.de>
Tue, 11 Nov 2003 09:30:48 +0000 (09:30 +0000)
* config/tc-i386.c (tc_i386_fix_adjustable):

gas/ChangeLog
gas/config/tc-i386.c

index be5985d50b5bae90fd52eb134331b0437d5baed6..3a478ffeaaced7c51bcb656e6475e9b9132052b5 100644 (file)
@@ -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.
index 81e6c1caf1a54034f8e47157459d5d603048d4bc..be1e62197febb1fa8eaac0aef2b55802c107b269 100644 (file)
@@ -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