From 9296256064c51414fbac5ce5933ed722cadb9816 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Mon, 6 Sep 1999 18:44:56 +0000 Subject: [PATCH] 1999-09-06 Donn Terry * 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'. --- bfd/ChangeLog | 5 +++++ 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 + * 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. diff --git a/bfd/syms.c b/bfd/syms.c index 108e3ea..86dc66c 100644 --- a/bfd/syms.c +++ b/bfd/syms.c @@ -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; -- 2.7.4