aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2002-03-14 18:30:40 +0000
committerNick Clifton <nickc@redhat.com>2002-03-14 18:30:40 +0000
commita181be0adea3693641bae77f10c8f7942b17786e (patch)
tree3f2f72657647d61002bd7244a7dc5653d798a42f
parenta1aefc7694399abec29b3d0865b0e29dce6b2639 (diff)
downloadgdb-a181be0adea3693641bae77f10c8f7942b17786e.zip
gdb-a181be0adea3693641bae77f10c8f7942b17786e.tar.gz
gdb-a181be0adea3693641bae77f10c8f7942b17786e.tar.bz2
When adding BSF_WEAK flag, OR it in rather than replacing previously selected
flags.
-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;