diff options
-rw-r--r-- | bfd/ChangeLog | 3 | ||||
-rw-r--r-- | bfd/coffcode.h | 8 |
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; |