* 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.
This commit is contained in:
Joel Brobecker
2002-04-22 10:19:35 +00:00
parent e2f6d8e5e4
commit 0e931cf0ee
2 changed files with 62 additions and 1 deletions

View File

@ -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