diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 3 | ||||
-rw-r--r-- | gas/config/obj-coff.c | 5 |
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) |