aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1999-09-12 02:59:54 +0000
committerIan Lance Taylor <ian@airs.com>1999-09-12 02:59:54 +0000
commit8828d8620249e09d98139788f6be8535cfe57728 (patch)
treef6103ea57b8ecbf1d644d06d7c59b4fee83f6bfb /gas
parent9690c54dda4ad0095593b6b16c54db7a3036daa3 (diff)
downloadfsf-binutils-gdb-8828d8620249e09d98139788f6be8535cfe57728.zip
fsf-binutils-gdb-8828d8620249e09d98139788f6be8535cfe57728.tar.gz
fsf-binutils-gdb-8828d8620249e09d98139788f6be8535cfe57728.tar.bz2
1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (coff_frob_symbol): Prohibit weak common symbols.
Diffstat (limited to 'gas')
-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)