diff options
author | Stu Grossman <grossman@cygnus> | 1994-06-28 23:36:52 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1994-06-28 23:36:52 +0000 |
commit | 320f93f7149cbeffb23b93e16ddb92e18f577f16 (patch) | |
tree | 76ff6320389d3d9bd471c218fdffa73e0547849c /gdb/dbxread.c | |
parent | fea3fe6407ef6bb3239c5ff8b91e89b66db45e33 (diff) | |
download | gdb-320f93f7149cbeffb23b93e16ddb92e18f577f16.zip gdb-320f93f7149cbeffb23b93e16ddb92e18f577f16.tar.gz gdb-320f93f7149cbeffb23b93e16ddb92e18f577f16.tar.bz2 |
* dbxread.c, partial-stab.h (near N_SO): SO stabs with blank
names mean end of .o file.
* infrun.c (wait_for_inferior): Clean up multi-thread logic near
top of routine. Handle new thread notification cleanly.
* lynx-nat.c (child_wait): General cleanups, handle new LynxOS
thread notification scheme.
* (child_resume): General cleanups, handle resumption of all
threads properly.
Diffstat (limited to 'gdb/dbxread.c')
-rw-r--r-- | gdb/dbxread.c | 44 |
1 files changed, 10 insertions, 34 deletions
diff --git a/gdb/dbxread.c b/gdb/dbxread.c index a77f646..5445c8a 100644 --- a/gdb/dbxread.c +++ b/gdb/dbxread.c @@ -1903,11 +1903,16 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile) end_symtab (valu, 0, 0, objfile, SECT_OFF_TEXT); end_stabs (); } + + /* Null name means this just marks the end of text for this .o file. + Don't start a new symtab in this case. */ + if (*name == '\000') + break; + start_stabs (); start_symtab (name, NULL, valu); break; - case N_SOL: /* This type of symbol indicates the start of data for a sub-source-file, one whose contents were copied or @@ -2358,12 +2363,13 @@ elfstab_build_psymtabs (objfile, section_offsets, mainline, void stabsect_build_psymtabs (objfile, section_offsets, mainline, stab_name, - stabstr_name) + stabstr_name, text_name) struct objfile *objfile; struct section_offsets *section_offsets; int mainline; char *stab_name; char *stabstr_name; + char *text_name; { int val; bfd *sym_bfd = objfile->obfd; @@ -2384,9 +2390,9 @@ stabsect_build_psymtabs (objfile, section_offsets, mainline, stab_name, objfile->sym_stab_info = (PTR) xmalloc (sizeof (struct dbx_symfile_info)); memset (DBX_SYMFILE_INFO (objfile), 0, sizeof (struct dbx_symfile_info)); - DBX_TEXT_SECT (objfile) = bfd_get_section_by_name (sym_bfd, ".text"); + DBX_TEXT_SECT (objfile) = bfd_get_section_by_name (sym_bfd, text_name); if (!DBX_TEXT_SECT (objfile)) - error ("Can't find .text section in symbol file"); + error ("Can't find %s section in symbol file", text_name); DBX_SYMBOL_SIZE (objfile) = sizeof (struct external_nlist); DBX_SYMCOUNT (objfile) = bfd_section_size (sym_bfd, stabsect) @@ -2422,36 +2428,6 @@ stabsect_build_psymtabs (objfile, section_offsets, mainline, stab_name, dbx_symfile_read (objfile, section_offsets, 0); } -/* Scan and build partial symbols for a SOM symbol file. - This SOM file has already been processed to get its minimal symbols. - - OBJFILE is the object file we are reading symbols from. - ADDR is the address relative to which the symbols are (e.g. - the base address of the text segment). - MAINLINE is true if we are reading the main symbol - table (as opposed to a shared lib or dynamically loaded file). - - */ - -void -somstab_build_psymtabs (objfile, section_offsets, mainline) - struct objfile *objfile; - struct section_offsets *section_offsets; - int mainline; -{ - free_header_files (); - init_header_files (); - - /* This is needed to debug objects assembled with gas2. */ - processing_acc_compilation = 1; - - /* In a SOM file, we've already installed the minimal symbols that came - from the SOM (non-stab) symbol table, so always act like an - incremental load here. */ - - dbx_symfile_read (objfile, section_offsets, mainline); -} - /* Parse the user's idea of an offset for dynamic linking, into our idea of how to represent it for fast symbol reading. */ |