diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-d10v.c | 9 |
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. */ |