Prevent adjustments to symbols in merge sections.
authorTom Rix <trix@redhat.com>
Tue, 16 Apr 2002 02:58:11 +0000 (02:58 +0000)
committerTom Rix <trix@redhat.com>
Tue, 16 Apr 2002 02:58:11 +0000 (02:58 +0000)
gas/ChangeLog
gas/config/tc-d10v.c

index f0d019cf4f497e69d655040f753b1fd2b1f0efda..4e38f42743042629c284106b208f609f78b3bd6a 100644 (file)
@@ -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.
index 10c673e49fe0058a9bb9c3a12f72021c9e158487..73d8e43f1da71346be7dabaf1cd7edd89a8c5561 100644 (file)
@@ -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.  */