From 0e931cf0eed83e9af7fe3eaf10de174d98c93bc0 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Mon, 22 Apr 2002 10:19:35 +0000 Subject: * symfile.h (get_section_index): Define. * symfile.c (get_section_index): New function. * mdebugread.c (SC_IS_SBSS): New macro. (SC_IS_BSS): Return true for the scBss storage class only, as the scSBss storage class refers to the .sbss section. (parse_partial_symbols): Discard the symbols which associated section does not exist. Make sure to use the .sbss section index for symbols which storage class is scBss, rather than using the .bss section index. --- gdb/symfile.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gdb/symfile.c') diff --git a/gdb/symfile.c b/gdb/symfile.c index d2d4e62..2671770 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -120,6 +120,8 @@ static void cashier_psymtab (struct partial_symtab *); bfd *symfile_bfd_open (char *); +int get_section_index (struct objfile *, char *); + static void find_sym_fns (struct objfile *); static void decrement_reading_symtab (void *); @@ -1115,6 +1117,18 @@ symfile_bfd_open (char *name) return (sym_bfd); } +/* Return the section index for the given section name. Return -1 if + the section was not found. */ +int +get_section_index (struct objfile *objfile, char *section_name) +{ + asection *sect = bfd_get_section_by_name (objfile->obfd, section_name); + if (sect) + return sect->index; + else + return -1; +} + /* Link a new symtab_fns into the global symtab_fns list. Called on gdb startup by the _initialize routine in each object file format reader, to register information about each format the the reader is prepared -- cgit v1.1