aboutsummaryrefslogtreecommitdiff
path: root/gdb/solib.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2018-03-12 21:50:33 -0600
committerTom Tromey <tom@tromey.com>2018-03-16 14:22:13 -0600
commit37e136b1684929df204ddd09c38978c705fa7228 (patch)
tree08037fc61219a9f4006118689c590033bc5cedb7 /gdb/solib.c
parent8b067d2cf5bf801eb143b4b04da5c22607673471 (diff)
downloadgdb-37e136b1684929df204ddd09c38978c705fa7228.zip
gdb-37e136b1684929df204ddd09c38978c705fa7228.tar.gz
gdb-37e136b1684929df204ddd09c38978c705fa7228.tar.bz2
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.
Diffstat (limited to 'gdb/solib.c')
-rw-r--r--gdb/solib.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/gdb/solib.c b/gdb/solib.c
index 1c78845..f9a31bc 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -676,8 +676,6 @@ solib_read_symbols (struct so_list *so, symfile_add_flags flags)
TRY
{
- struct section_addr_info *sap;
-
/* Have we already loaded this shared object? */
ALL_OBJFILES (so->objfile)
{
@@ -687,13 +685,13 @@ solib_read_symbols (struct so_list *so, symfile_add_flags flags)
}
if (so->objfile == NULL)
{
- sap = build_section_addr_info_from_section_table (so->sections,
- so->sections_end);
+ section_addr_info sap
+ = build_section_addr_info_from_section_table (so->sections,
+ so->sections_end);
so->objfile = symbol_file_add_from_bfd (so->abfd, so->so_name,
- flags, sap, OBJF_SHARED,
- NULL);
+ flags, &sap,
+ OBJF_SHARED, NULL);
so->objfile->addr_low = so->addr_low;
- free_section_addr_info (sap);
}
so->symbols_loaded = 1;