diff options
author | Tom Tromey <tom@tromey.com> | 2016-09-22 13:47:48 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2016-10-21 14:17:33 -0600 |
commit | 873a915e0ad44cb303b071638536f27569491030 (patch) | |
tree | 6209436a7e32b15b891764df1e5e2738e33a4ec5 /gdb/mdebugread.c | |
parent | 4b6749b9a4680e79affdb9c02ea2f5ba39a54587 (diff) | |
download | gdb-873a915e0ad44cb303b071638536f27569491030.zip gdb-873a915e0ad44cb303b071638536f27569491030.tar.gz gdb-873a915e0ad44cb303b071638536f27569491030.tar.bz2 |
Introduce minimal_symbol_reader
This patch introduced minimal_symbol_reader, a RAII-based class which
replaces the current make_cleanup_discard_minimal_symbols.
2016-10-21 Tom Tromey <tom@tromey.com>
* xcoffread.c (xcoff_initial_scan): Use
minimal_symbol_reader.
* mipsread.c (mipscoff_symfile_read): Use
minimal_symbol_reader.
* minsyms.h (minimal_symbol_reader): New class.
(init_minimal_symbol_collection)
(make_cleanup_discard_minimal_symbols, install_minimal_symbols):
Don't declare.
* minsyms.c (minimal_symbol_reader): Renamed from
init_minimal_symbol_collection, turned into constructor.
(~minimal_symbol_reader): Renamed from
do_discard_minimal_symbols_cleanup, turned into destructor.
(make_cleanup_discard_minimal_symbols): Remove.
(minimal_symbol_reader::install): Rename form
install_minimal_symbols.
* mdebugread.c (elfmdebug_build_psymtabs): Use
minimal_symbol_reader.
* machoread.c (macho_symfile_read): Use
minimal_symbol_reader.
* elfread.c (elf_read_minimal_symbols): Use
minimal_symbol_reader.
* dbxread.c (dbx_symfile_read): Use minimal_symbol_reader.
* coffread.c (coff_symfile_read): Use
minimal_symbol_reader.
Diffstat (limited to 'gdb/mdebugread.c')
-rw-r--r-- | gdb/mdebugread.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c index 157ce77..358ee70 100644 --- a/gdb/mdebugread.c +++ b/gdb/mdebugread.c @@ -4870,14 +4870,12 @@ elfmdebug_build_psymtabs (struct objfile *objfile, { bfd *abfd = objfile->obfd; struct ecoff_debug_info *info; - struct cleanup *back_to; /* FIXME: It's not clear whether we should be getting minimal symbol information from .mdebug in an ELF file, or whether we will. Re-initialize the minimal symbol reader in case we do. */ - init_minimal_symbol_collection (); - back_to = make_cleanup_discard_minimal_symbols (); + minimal_symbol_reader reader; info = ((struct ecoff_debug_info *) obstack_alloc (&objfile->objfile_obstack, @@ -4889,8 +4887,7 @@ elfmdebug_build_psymtabs (struct objfile *objfile, mdebug_build_psymtabs (objfile, swap, info); - install_minimal_symbols (objfile); - do_cleanups (back_to); + reader.install (objfile); } void |