From 873a915e0ad44cb303b071638536f27569491030 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 22 Sep 2016 13:47:48 -0600 Subject: 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 * 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. --- gdb/mipsread.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'gdb/mipsread.c') diff --git a/gdb/mipsread.c b/gdb/mipsread.c index 27a59d2..dff1cb1 100644 --- a/gdb/mipsread.c +++ b/gdb/mipsread.c @@ -69,10 +69,8 @@ static void mipscoff_symfile_read (struct objfile *objfile, int symfile_flags) { bfd *abfd = objfile->obfd; - struct cleanup *back_to; - init_minimal_symbol_collection (); - back_to = make_cleanup_discard_minimal_symbols (); + minimal_symbol_reader reader; /* Now that the executable file is positioned at symbol table, process it and define symbols accordingly. */ @@ -91,8 +89,7 @@ mipscoff_symfile_read (struct objfile *objfile, int symfile_flags) /* Install any minimal symbols that have been collected as the current minimal symbols for this objfile. */ - install_minimal_symbols (objfile); - do_cleanups (back_to); + reader.install (objfile); } /* Perform any local cleanups required when we are done with a -- cgit v1.1