summaryrefslogtreecommitdiff
path: root/gdb/stabsread.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-07-17 17:33:37 +0000
committerIan Lance Taylor <ian@airs.com>1995-07-17 17:33:37 +0000
commitf779e99f2ab25060486dc11ab2fcddba0cacf918 (patch)
tree2785b2ab5eeb5b438b8baeb8b8342e93a325b707 /gdb/stabsread.h
parent5d672f28973ceaed88fb58ddf75f0a8e8149e09b (diff)
downloadbinutils-gdb-f779e99f2ab25060486dc11ab2fcddba0cacf918.tar.gz
* 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 <ctype.h>. (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.
Diffstat (limited to 'gdb/stabsread.h')
-rw-r--r--gdb/stabsread.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/gdb/stabsread.h b/gdb/stabsread.h
index a5a0de71b49..147950ba765 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));