aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1999-07-27 19:26:39 +0000
committerIan Lance Taylor <ian@airs.com>1999-07-27 19:26:39 +0000
commitd2e71411fe9d73b4036bd8396e5dafa26e5780db (patch)
tree4272b6ac0eeb65af1be8f8827975e4408b167e0e
parentf81112823f68bcfb92e3a132d405cd2c8c13322a (diff)
downloadfsf-binutils-gdb-d2e71411fe9d73b4036bd8396e5dafa26e5780db.zip
fsf-binutils-gdb-d2e71411fe9d73b4036bd8396e5dafa26e5780db.tar.gz
fsf-binutils-gdb-d2e71411fe9d73b4036bd8396e5dafa26e5780db.tar.bz2
* config/tc-sparc.h (tc_fix_adjustable): Don't adjust GOT, PLT, or
VTABLE relocations.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-sparc.h6
2 files changed, 11 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 4f508ef..d9a2e84 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+1999-07-27 Ian Lance Taylor <ian@zembu.com>
+
+ * config/tc-sparc.h (tc_fix_adjustable): Don't adjust GOT, PLT, or
+ VTABLE relocations.
+
1999-07-21 Mark Elbrecht <snowball3@bigfoot.com>
* config/te-go32.h (COFF_LONG_SECTION_NAMES): Define.
diff --git a/gas/config/tc-sparc.h b/gas/config/tc-sparc.h
index 40ab02c8..5df81b7 100644
--- a/gas/config/tc-sparc.h
+++ b/gas/config/tc-sparc.h
@@ -127,6 +127,12 @@ extern int elf32_sparc_force_relocation PARAMS ((struct fix *));
#define tc_fix_adjustable(FIX) \
(! S_IS_EXTERNAL ((FIX)->fx_addsy) \
&& ! S_IS_WEAK ((FIX)->fx_addsy) \
+ && (FIX)->fx_r_type != BFD_RELOC_SPARC_GOT10 \
+ && (FIX)->fx_r_type != BFD_RELOC_SPARC_GOT13 \
+ && (FIX)->fx_r_type != BFD_RELOC_SPARC_GOT22 \
+ && (FIX)->fx_r_type != BFD_RELOC_SPARC_WPLT30 \
+ && (FIX)->fx_r_type != BFD_RELOC_VTABLE_INHERIT \
+ && (FIX)->fx_r_type != BFD_RELOC_VTABLE_ENTRY \
&& (! sparc_pic_code \
|| (FIX)->fx_pcrel \
|| ((FIX)->fx_subsy != NULL \