aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog3
-rw-r--r--bfd/coffcode.h8
2 files changed, 6 insertions, 5 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ff33b48..54bfc03 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,8 @@
2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
+ * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
+ OR it in rather than replacing previously selected flags.
+
* elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
(TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index f0a2c5e..f87cb9e 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -4443,16 +4443,14 @@ coff_slurp_symbol_table (abfd)
#ifdef COFF_WITH_PE
if (src->u.syment.n_sclass == C_NT_WEAK)
- dst->symbol.flags = BSF_WEAK;
+ dst->symbol.flags |= BSF_WEAK;
+
if (src->u.syment.n_sclass == C_SECTION
&& src->u.syment.n_scnum > 0)
- {
dst->symbol.flags = BSF_LOCAL;
- }
#endif
-
if (src->u.syment.n_sclass == C_WEAKEXT)
- dst->symbol.flags = BSF_WEAK;
+ dst->symbol.flags |= BSF_WEAK;
break;