diff options
author | Tom Tromey <tromey@redhat.com> | 2012-12-12 17:03:03 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2012-12-12 17:03:03 +0000 |
commit | 5c80ed9d1edd660e2e5d44d3c386d501c71404a6 (patch) | |
tree | 2d5736eddd87f98eacda7bc5b4e50d5f8c52d99a /gdb/dbxread.c | |
parent | 9a27f2c60d760a95a27e336750f26f69f91dd156 (diff) | |
download | gdb-5c80ed9d1edd660e2e5d44d3c386d501c71404a6.zip gdb-5c80ed9d1edd660e2e5d44d3c386d501c71404a6.tar.gz gdb-5c80ed9d1edd660e2e5d44d3c386d501c71404a6.tar.bz2 |
* dbxread.c (read_dbx_symtab): Update.
(end_psymtab, dbx_psymtab_to_symtab_1, dbx_psymtab_to_symtab)
(read_ofile_symtab): Add 'objfile' argument.
* dwarf2read.c (process_psymtab_comp_unit_reader)
(build_type_psymtabs_reader): Update.
(dwarf2_psymtab_to_symtab): Add 'objfile' argument.
* mdebugread.c (mdebug_psymtab_to_symtab): Add 'objfile'
argument.
(parse_procedure, parse_partial_symbols): Update.
(psymtab_to_symtab_1): Add 'objfile' argument.
* psympriv.h (struct partial_symtab) <objfile>: Remove.
<read_symtab>: Add 'objfile' argument.
(sort_pst_symbols, discard_psymtab): Update.
* psymtab.c (partial_map_expand_apply): Update.
(find_pc_sect_psymtab_closer): Add 'objfile' argument.
(find_pc_sect_psymtab, find_pc_sect_symtab_from_partial): Update.
(find_pc_sect_psymbol): Add 'objfile' argument.
(lookup_symbol_aux_psymtabs): Update.
(match_partial_symbol, lookup_partial_symbol, psymtab_to_symtab):
Add 'objfile' argument.
(find_last_source_symtab_from_partial, dump_psymtab)
(dump_psymtabs_for_objfile, read_symtabs_for_function)
(expand_partial_symbol_tables, read_psymtabs_with_filename)
(find_symbol_file_from_partial, map_matching_symbols_psymtab)
(expand_symtabs_matching_via_partial): Update.
(sort_pst_symbols): Add 'objfile' argument.
(allocate_psymtab): Update.
(discard_psymtab): Add 'objfile' argument.
(maintenance_info_psymtabs, maintenance_check_symtabs): Update.
* stabsread.h (end_psymtab): Update.
* xcoffread.c (this_symtab_objfile): New global.
(process_linenos, enter_line_range, xcoff_next_symbol_text):
Update.
(read_xcoff_symtab): Add 'objfile' argument.
(read_symbol, read_symbol_lineno): Update.
(xcoff_psymtab_to_symtab_1, xcoff_psymtab_to_symtab)
(xcoff_end_psymtab): Add 'objfile' argument.
(scan_xcoff_symtab): Update.
Diffstat (limited to 'gdb/dbxread.c')
-rw-r--r-- | gdb/dbxread.c | 51 |
1 files changed, 24 insertions, 27 deletions
diff --git a/gdb/dbxread.c b/gdb/dbxread.c index 0a92764..018cdc9 100644 --- a/gdb/dbxread.c +++ b/gdb/dbxread.c @@ -259,11 +259,11 @@ static int bincls_allocated; extern void _initialize_dbxread (void); -static void read_ofile_symtab (struct partial_symtab *); +static void read_ofile_symtab (struct objfile *, struct partial_symtab *); -static void dbx_psymtab_to_symtab (struct partial_symtab *); +static void dbx_psymtab_to_symtab (struct objfile *, struct partial_symtab *); -static void dbx_psymtab_to_symtab_1 (struct partial_symtab *); +static void dbx_psymtab_to_symtab_1 (struct objfile *, struct partial_symtab *); static void read_dbx_dynamic_symtab (struct objfile *objfile); @@ -1388,8 +1388,8 @@ read_dbx_symtab (struct objfile *objfile) which are not the address. */ && nlist.n_value >= pst->textlow) { - end_psymtab (pst, psymtab_include_list, includes_used, - symnum * symbol_size, + end_psymtab (objfile, pst, psymtab_include_list, + includes_used, symnum * symbol_size, nlist.n_value > pst->texthigh ? nlist.n_value : pst->texthigh, dependency_list, dependencies_used, @@ -1507,8 +1507,8 @@ read_dbx_symtab (struct objfile *objfile) if (pst) { - end_psymtab (pst, psymtab_include_list, includes_used, - symnum * symbol_size, + end_psymtab (objfile, pst, psymtab_include_list, + includes_used, symnum * symbol_size, valu > pst->texthigh ? valu : pst->texthigh, dependency_list, dependencies_used, prev_textlow_not_set); @@ -2118,7 +2118,7 @@ read_dbx_symtab (struct objfile *objfile) follows this module. */ if (pst && gdbarch_sofun_address_maybe_missing (gdbarch)) { - end_psymtab (pst, psymtab_include_list, includes_used, + end_psymtab (objfile, pst, psymtab_include_list, includes_used, symnum * symbol_size, (CORE_ADDR) 0, dependency_list, dependencies_used, textlow_not_set); @@ -2181,7 +2181,7 @@ read_dbx_symtab (struct objfile *objfile) : lowest_text_address) + text_size; - end_psymtab (pst, psymtab_include_list, includes_used, + end_psymtab (objfile, pst, psymtab_include_list, includes_used, symnum * symbol_size, text_end > pst->texthigh ? text_end : pst->texthigh, dependency_list, dependencies_used, textlow_not_set); @@ -2235,14 +2235,13 @@ start_psymtab (struct objfile *objfile, char *filename, CORE_ADDR textlow, FIXME: List variables and peculiarities of same. */ struct partial_symtab * -end_psymtab (struct partial_symtab *pst, +end_psymtab (struct objfile *objfile, struct partial_symtab *pst, const char **include_list, int num_includes, int capping_symbol_offset, CORE_ADDR capping_text, struct partial_symtab **dependency_list, int number_dependencies, int textlow_not_set) { int i; - struct objfile *objfile = pst->objfile; struct gdbarch *gdbarch = get_objfile_arch (objfile); if (capping_symbol_offset != -1) @@ -2377,7 +2376,7 @@ end_psymtab (struct partial_symtab *pst, subpst->read_symtab = pst->read_symtab; } - sort_pst_symbols (pst); + sort_pst_symbols (objfile, pst); if (num_includes == 0 && number_dependencies == 0 @@ -2393,7 +2392,7 @@ end_psymtab (struct partial_symtab *pst, is not empty, but we don't realize that. Fixing that without slowing things down might be tricky. */ - discard_psymtab (pst); + discard_psymtab (objfile, pst); /* Indicate that psymtab was thrown away. */ pst = (struct partial_symtab *) NULL; @@ -2402,7 +2401,7 @@ end_psymtab (struct partial_symtab *pst, } static void -dbx_psymtab_to_symtab_1 (struct partial_symtab *pst) +dbx_psymtab_to_symtab_1 (struct objfile *objfile, struct partial_symtab *pst) { struct cleanup *old_chain; int i; @@ -2433,7 +2432,7 @@ dbx_psymtab_to_symtab_1 (struct partial_symtab *pst) wrap_here (""); /* Flush output. */ gdb_flush (gdb_stdout); } - dbx_psymtab_to_symtab_1 (pst->dependencies[i]); + dbx_psymtab_to_symtab_1 (objfile, pst->dependencies[i]); } if (LDSYMLEN (pst)) /* Otherwise it's a dummy. */ @@ -2446,8 +2445,8 @@ dbx_psymtab_to_symtab_1 (struct partial_symtab *pst) symbol_size = SYMBOL_SIZE (pst); /* Read in this file's symbols. */ - bfd_seek (pst->objfile->obfd, SYMBOL_OFFSET (pst), SEEK_SET); - read_ofile_symtab (pst); + bfd_seek (objfile->obfd, SYMBOL_OFFSET (pst), SEEK_SET); + read_ofile_symtab (objfile, pst); do_cleanups (old_chain); } @@ -2459,7 +2458,7 @@ dbx_psymtab_to_symtab_1 (struct partial_symtab *pst) Be verbose about it if the user wants that. */ static void -dbx_psymtab_to_symtab (struct partial_symtab *pst) +dbx_psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst) { bfd *sym_bfd; struct cleanup *back_to = NULL; @@ -2485,15 +2484,15 @@ dbx_psymtab_to_symtab (struct partial_symtab *pst) gdb_flush (gdb_stdout); } - sym_bfd = pst->objfile->obfd; + sym_bfd = objfile->obfd; next_symbol_text_func = dbx_next_symbol_text; - if (DBX_STAB_SECTION (pst->objfile)) + if (DBX_STAB_SECTION (objfile)) { stabs_data - = symfile_relocate_debug_section (pst->objfile, - DBX_STAB_SECTION (pst->objfile), + = symfile_relocate_debug_section (objfile, + DBX_STAB_SECTION (objfile), NULL); if (stabs_data) @@ -2501,14 +2500,14 @@ dbx_psymtab_to_symtab (struct partial_symtab *pst) (void *) &stabs_data); } - dbx_psymtab_to_symtab_1 (pst); + dbx_psymtab_to_symtab_1 (objfile, pst); if (back_to) do_cleanups (back_to); /* Match with global symbols. This only needs to be done once, after all of the symtabs and dependencies have been read in. */ - scan_file_globals (pst->objfile); + scan_file_globals (objfile); /* Finish up the debug error message. */ if (info_verbose) @@ -2519,7 +2518,7 @@ dbx_psymtab_to_symtab (struct partial_symtab *pst) /* Read in a defined section of a specific object file's symbols. */ static void -read_ofile_symtab (struct partial_symtab *pst) +read_ofile_symtab (struct objfile *objfile, struct partial_symtab *pst) { char *namestring; struct external_nlist *bufp; @@ -2527,14 +2526,12 @@ read_ofile_symtab (struct partial_symtab *pst) unsigned char type; unsigned max_symnum; bfd *abfd; - struct objfile *objfile; int sym_offset; /* Offset to start of symbols to read */ int sym_size; /* Size of symbols to read */ CORE_ADDR text_offset; /* Start of text segment for symbols */ int text_size; /* Size of text segment for symbols */ struct section_offsets *section_offsets; - objfile = pst->objfile; sym_offset = LDSYMOFF (pst); sym_size = LDSYMLEN (pst); text_offset = pst->textlow; |