From f779e99f2ab25060486dc11ab2fcddba0cacf918 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Mon, 17 Jul 1995 17:33:37 +0000 Subject: * stabsread.h (struct stab_section_list): Define. (coffstab_build_psymtabs): Remove staboff and stabsize parameters. Add textaddr, textsize, and stabs parameters. * gdb-stabs.h (struct dbx_symfile_info): Remove text_sect field. Add text_addr and text_size fields. (DBX_TEXT_SECT): Don't define. (DBX_TEXT_ADDR, DBX_TEXT_SIZE): Define. * coffread.c: Include . (struct coff_symfile_info): Remove stabsect and stabindexsect fields. Add textaddr, textsize, and stabsects fields. (coff_locate_sections): Record the address of the .text section, and total the sizes of all sections with names beginning with ".text". Don't bother to record a .stab.index section (COFF doesn't use them). Make a linked list of all sections with names beginning with ".stab". (coff_symfile_read): Adjust call to coffstab_build_psymtabs for new parameters. * dbxread.c (dbx_symfile_read): Use DBX_TEXT_ADDR and DBX_TEXT_SIZE, rather than getting both from DBX_TEXT_SECT. (dbx_symfile_init): Set DBX_TEXT_ADDR and DBX_TEXT_SIZE, not DBX_TEXT_SECT. (elfstab_build_psymtabs): Likewise. (stabsect_build_psymtabs): Likewise. (symbuf_sections, symbuf_left, symbuf_read): New static variables. (fill_symbuf): If symbuf_sections is not NULL, read symbols from multiple sections. (coffstab_build_psymtabs): Remove staboffset and stabsize parameters. Add textaddr, textsize, and stabsects parameters. Set DBX_TEXT_ADDR and DBX_TEXT_SIZE, not DBX_TEXT_SECT. Handle multiple stabs sections. * os9kread.c (os9k_symfile_read): Use DBX_TEXT_ADDR and DBX_TEXT_SIZE, rather than getting both from DBX_TEXT_SECT. (os9k_symfile_init): Set DBX_TEXT_ADDR and DBX_TEXT_SIZE, not DBX_TEXT_SECT. PR 7241. --- gdb/stabsread.h | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'gdb/stabsread.h') diff --git a/gdb/stabsread.h b/gdb/stabsread.h index a5a0de7..147950b 100644 --- a/gdb/stabsread.h +++ b/gdb/stabsread.h @@ -166,7 +166,19 @@ finish_global_stabs PARAMS ((struct objfile *objfile)); EXTERN int os9k_stabs; -/* Functions exported by dbxread.c. These are not in stabsread.h because +/* COFF files can have multiple .stab sections, if they are linked + using --split-by-reloc. This linked list is used to pass the + information into the functions in dbxread.c. */ +struct stab_section_list +{ + /* Next in list. */ + struct stab_section_list *next; + + /* Stab section. */ + asection *section; +}; + +/* Functions exported by dbxread.c. These are not in stabsread.c because they are only used by some stabs readers. */ extern struct partial_symtab * @@ -194,7 +206,8 @@ extern void coffstab_build_psymtabs PARAMS ((struct objfile *objfile, struct section_offsets *section_offsets, int mainline, - file_ptr staboff, unsigned int stabsize, + CORE_ADDR textaddr, unsigned int textsize, + struct stab_section_list *stabs, file_ptr stabstroffset, unsigned int stabstrsize)); -- cgit v1.1