forked from Imagelibrary/binutils-gdb
Remove make_cleanup_free_section_addr_info
This removes make_cleanup_free_section_addr_info. Instead -- per Simon's suggestion -- this changes section_addr_info to be a std::vector. Regression tested by the buildbot. gdb/ChangeLog 2018-03-16 Tom Tromey <tom@tromey.com> * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs". * utils.h (make_cleanup_free_section_addr_info): Don't declare. * utils.c (do_free_section_addr_info) (make_cleanup_free_section_addr_info): Remove. * symfile.h (struct other_sections): Add constructor. (struct section_addr_info): Remove. (section_addr_info): New typedef. (struct sym_fns) <sym_offsets>: Change type of parameter. (build_section_addr_info_from_objfile) (relative_addr_info_to_section_offsets, addr_info_make_relative) (default_symfile_offsets, symbol_file_add) (symbol_file_add_from_bfd) (build_section_addr_info_from_section_table): Update. (alloc_section_addr_info, free_section_addr_info): Don't declare. * symfile.c (alloc_section_addr_info): Remove. (build_section_addr_info_from_section_table): Change return type. Update. (build_section_addr_info_from_bfd) (build_section_addr_info_from_objfile): Likewise. (free_section_addr_info): Remove. (relative_addr_info_to_section_offsets): Change type of "addrs". (addrs_section_compar): Now a std::sort comparator. (addrs_section_sort): Change return type. (addr_info_make_relative): Change type of "addrs". Update. (default_symfile_offsets, syms_from_objfile_1) (syms_from_objfile, symbol_file_add_with_addrs): Likewise. (symbol_file_add_separate): Update. (symbol_file_add): Change type of "addrs". Update. (add_symbol_file_command): Update. Remove cleanups. * symfile-mem.c (symbol_file_add_from_memory): Update. Remove cleanups. * symfile-debug.c (debug_sym_offsets): Change type of "info". * solib.c (solib_read_symbols): Update. * objfiles.c (objfile_relocate): Update. Remove cleanups. * machoread.c (macho_symfile_offsets): Update. * jit.c (jit_bfd_try_read_symtab): Update.
This commit is contained in:
@@ -906,16 +906,13 @@ objfile_relocate (struct objfile *objfile,
|
||||
debug_objfile;
|
||||
debug_objfile = objfile_separate_debug_iterate (objfile, debug_objfile))
|
||||
{
|
||||
struct section_addr_info *objfile_addrs;
|
||||
struct cleanup *my_cleanups;
|
||||
|
||||
objfile_addrs = build_section_addr_info_from_objfile (objfile);
|
||||
my_cleanups = make_cleanup (xfree, objfile_addrs);
|
||||
section_addr_info objfile_addrs
|
||||
= build_section_addr_info_from_objfile (objfile);
|
||||
|
||||
/* Here OBJFILE_ADDRS contain the correct absolute addresses, the
|
||||
relative ones must be already created according to debug_objfile. */
|
||||
|
||||
addr_info_make_relative (objfile_addrs, debug_objfile->obfd);
|
||||
addr_info_make_relative (&objfile_addrs, debug_objfile->obfd);
|
||||
|
||||
gdb_assert (debug_objfile->num_sections
|
||||
== gdb_bfd_count_sections (debug_objfile->obfd));
|
||||
@@ -926,8 +923,6 @@ objfile_relocate (struct objfile *objfile,
|
||||
objfile_addrs);
|
||||
|
||||
changed |= objfile_relocate1 (debug_objfile, new_debug_offsets.data ());
|
||||
|
||||
do_cleanups (my_cleanups);
|
||||
}
|
||||
|
||||
/* Relocate breakpoints as necessary, after things are relocated. */
|
||||
|
||||
Reference in New Issue
Block a user