aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2000-07-24 17:50:35 +0000
committerDJ Delorie <dj@redhat.com>2000-07-24 17:50:35 +0000
commit39da8128405ba3c241ff51cf54cff7f82f6674ba (patch)
tree44468677ddaa2546487e72fc3aeddf6a9e255eed /gas
parent3eb6f68f1b6232e01afad13acda15e7a037d31ac (diff)
downloadgdb-39da8128405ba3c241ff51cf54cff7f82f6674ba.zip
gdb-39da8128405ba3c241ff51cf54cff7f82f6674ba.tar.gz
gdb-39da8128405ba3c241ff51cf54cff7f82f6674ba.tar.bz2
* 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.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/obj-coff.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f7501d0..ef156d9 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c
index 41fc595..935e3f2 100644
--- a/gas/config/obj-coff.c
+++ b/gas/config/obj-coff.c
@@ -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))
{