aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog3
-rw-r--r--gas/config/obj-coff.c5
2 files changed, 8 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index a0b15a6..a93c1df 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -5,6 +5,9 @@
1999-09-11 Donn Terry <donn@interix.com>
+ * config/obj-coff.c (coff_frob_symbol): Prohibit weak common
+ symbols.
+
* config/obj-coff.c (obj_coff_endef): Don't merge labels, or
symbols which do not have a constant value, or tags with
non-tags. Remove the symbol from the list before adding it at the
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c
index 4207ea0..86e0766 100644
--- a/gas/config/obj-coff.c
+++ b/gas/config/obj-coff.c
@@ -1169,6 +1169,11 @@ coff_frob_symbol (symp, punt)
/* more ... */
}
+ /* Double check weak symbols. */
+ if (S_IS_WEAK (symp) && S_IS_COMMON (symp))
+ as_bad (_("Symbol `%s' can not be both weak and common"),
+ S_GET_NAME (symp));
+
if (SF_GET_TAG (symp))
last_tagP = symp;
else if (S_GET_STORAGE_CLASS (symp) == C_EOS)