aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rix <trix@redhat.com>2002-04-16 02:58:11 +0000
committerTom Rix <trix@redhat.com>2002-04-16 02:58:11 +0000
commit76b999d0131e6a37bd3539686378c72878bef4ce (patch)
tree3a6e83f7606c33d0ef71bbbdbd1332a4614886b0
parent036fe0fe8efc60354c126a84bdbb47b28d8ad914 (diff)
downloadbinutils-76b999d0131e6a37bd3539686378c72878bef4ce.zip
binutils-76b999d0131e6a37bd3539686378c72878bef4ce.tar.gz
binutils-76b999d0131e6a37bd3539686378c72878bef4ce.tar.bz2
Prevent adjustments to symbols in merge sections.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-d10v.c9
2 files changed, 10 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f0d019c..4e38f42 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-15 Tom Rix <trix@redhat.com>
+
+ * config/tc-d10v.c (d10v_fix_adjustable): Prevent adjustments to
+ symbols in merge sections.
+
2002-04-11 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi (TC_LARGEST_EXPONENT_IS_NORMAL): Document.
diff --git a/gas/config/tc-d10v.c b/gas/config/tc-d10v.c
index 10c673e..73d8e43 100644
--- a/gas/config/tc-d10v.c
+++ b/gas/config/tc-d10v.c
@@ -1924,10 +1924,11 @@ d10v_fix_adjustable (fixP)
if (fixP->fx_addsy == NULL)
return 1;
- /* Prevent all adjustments to global symbols. */
- if (S_IS_EXTERN (fixP->fx_addsy))
- return 0;
- if (S_IS_WEAK (fixP->fx_addsy))
+ /* Prevent all adjustments to global and weak symbols or symbols in
+ merge sections. */
+ if ((S_IS_EXTERN (fixP->fx_addsy)
+ || (S_IS_WEAK (fixP->fx_addsy))
+ || (S_GET_SEGMENT (fixP->fx_addsy)->flags & SEC_MERGE) != 0))
return 0;
/* We need the symbol name for the VTABLE entries. */