diff options
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/syms.c | 14 |
2 files changed, 17 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d5d95da..8a4fa95 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 1999-09-06 Donn Terry <donn@interix.com> + * syms.c (stt): Add some PE/PEI section names. + (bfd_decode_symclass): Return 'w', not 'U', for a weak undefined + symbol. + (bfd_symbol_info): Check for 'w'. + * section.c (struct bfd_comdat_info): Define. (asection): Add comdat field. (STD_SECTION): Initialize comdat field. @@ -523,6 +523,11 @@ static CONST struct section_to_type stt[] = {".sdata", 'g'}, /* Small initialized data. */ {".text", 't'}, {"code", 't'}, /* MRI .text */ + {".drectve", 'i'}, /* MSVC's .drective section */ + {".idata", 'i'}, /* MSVC's .idata (import) section */ + {".edata", 'e'}, /* MSVC's .edata (export) section */ + {".pdata", 'p'}, /* MSVC's .pdata (stack unwind) section */ + {".debug", 'N'}, /* MSVC's .debug (non-standard debug syms) */ {0, 0} }; @@ -572,7 +577,12 @@ bfd_decode_symclass (symbol) if (bfd_is_com_section (symbol->section)) return 'C'; if (bfd_is_und_section (symbol->section)) - return 'U'; + { + if (symbol->flags & BSF_WEAK) + return 'w'; + else + return 'U'; + } if (bfd_is_ind_section (symbol->section)) return 'I'; if (symbol->flags & BSF_WEAK) @@ -619,7 +629,7 @@ bfd_symbol_info (symbol, ret) symbol_info *ret; { ret->type = bfd_decode_symclass (symbol); - if (ret->type != 'U') + if (ret->type != 'U' && ret->type != 'w') ret->value = symbol->value + symbol->section->vma; else ret->value = 0; |