* config/obj-coff.c (obj_frob_symbol): Don't merge
authorDJ Delorie <dj@redhat.com>
Mon, 24 Jul 2000 17:50:35 +0000 (17:50 +0000)
committerDJ Delorie <dj@redhat.com>
Mon, 24 Jul 2000 17:50:35 +0000 (17:50 +0000)
labels. Don't merge if the symbol isn't constant. Return
immediately if a symbol is merged.

gas/ChangeLog
gas/config/obj-coff.c

index f7501d0e785b8f03a7a0edc47db69135779c5145..ef156d976452716280b371a19260126136736328 100644 (file)
@@ -1,3 +1,9 @@
+2000-07-24  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * config/obj-coff.c (obj_frob_symbol): Don't merge
+       labels. Don't merge if the symbol isn't constant. Return
+       immediately if a symbol is merged.
+
 2000-07-22  Alan Modra  <alan@linuxcare.com.au>
 
        * frags.c (frag_align): Correct absolute section alignment.
index 41fc595eaf4a8d4cb6adc613043a5185a2cf0844..935e3f253d87b8d593f2e46f38e474d930b9ee07 100644 (file)
@@ -1139,11 +1139,14 @@ coff_frob_symbol (symp, punt)
       symbolS *real;
       if (!SF_GET_LOCAL (symp)
          && !SF_GET_STATICS (symp)
+         && S_GET_STORAGE_CLASS (symp) != C_LABEL
+         && symbol_constant_p(symp)
          && (real = symbol_find_base (S_GET_NAME (symp), DO_NOT_STRIP))
          && real != symp)
        {
          c_symbol_merge (symp, real);
          *punt = 1;
+         return;
        }
       if (!S_IS_DEFINED (symp) && !SF_GET_LOCAL (symp))
        {