From: Tom Tromey Date: Sat, 19 Sep 2020 17:54:49 +0000 (-0600) Subject: Use gdb_bfd_sections in build_objfile_section_table X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cb814f2e3062ae3c82bba3baca6450c5e3317e58;p=binutils-gdb.git Use gdb_bfd_sections in build_objfile_section_table This changes build_objfile_section_table to avoid bfd_map_over_sections, in favor of iteration. gdb/ChangeLog 2020-09-19 Tom Tromey * objfiles.c (add_to_objfile_sections): Rename from add_to_objfile_sections_full. (add_to_objfile_sections): Remove. (build_objfile_section_table): Use foreach. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b320735fb5a..41fd064daa9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2020-09-19 Tom Tromey + + * objfiles.c (add_to_objfile_sections): Rename from + add_to_objfile_sections_full. + (add_to_objfile_sections): Remove. + (build_objfile_section_table): Use foreach. + 2020-09-19 Tom Tromey * stap-probe.c (get_stap_base_address_1): Remove. diff --git a/gdb/objfiles.c b/gdb/objfiles.c index 3aa7973e0d5..471a5c4c393 100644 --- a/gdb/objfiles.c +++ b/gdb/objfiles.c @@ -257,13 +257,13 @@ objfile_lookup_static_link (struct objfile *objfile, -/* Called via bfd_map_over_sections to build up the section table that - the objfile references. The objfile contains pointers to the start - of the table (objfile->sections) and to the first location after - the end of the table (objfile->sections_end). */ +/* Build up the section table that the objfile references. The + objfile contains pointers to the start of the table + (objfile->sections) and to the first location after the end of the + table (objfile->sections_end). */ static void -add_to_objfile_sections_full (struct bfd *abfd, struct bfd_section *asect, +add_to_objfile_sections (struct bfd *abfd, struct bfd_section *asect, struct objfile *objfile, int force) { struct obj_section *section; @@ -283,13 +283,6 @@ add_to_objfile_sections_full (struct bfd *abfd, struct bfd_section *asect, section->ovly_mapped = 0; } -static void -add_to_objfile_sections (struct bfd *abfd, struct bfd_section *asect, - void *objfilep) -{ - add_to_objfile_sections_full (abfd, asect, (struct objfile *) objfilep, 0); -} - /* Builds a section table for OBJFILE. Note that the OFFSET and OVLY_MAPPED in each table entry are @@ -304,14 +297,14 @@ build_objfile_section_table (struct objfile *objfile) count, struct obj_section); objfile->sections_end = (objfile->sections + count); - bfd_map_over_sections (objfile->obfd, - add_to_objfile_sections, (void *) objfile); + for (asection *sect : gdb_bfd_sections (objfile->obfd)) + add_to_objfile_sections (objfile->obfd, sect, objfile, 0); /* See gdb_bfd_section_index. */ - add_to_objfile_sections_full (objfile->obfd, bfd_com_section_ptr, objfile, 1); - add_to_objfile_sections_full (objfile->obfd, bfd_und_section_ptr, objfile, 1); - add_to_objfile_sections_full (objfile->obfd, bfd_abs_section_ptr, objfile, 1); - add_to_objfile_sections_full (objfile->obfd, bfd_ind_section_ptr, objfile, 1); + add_to_objfile_sections (objfile->obfd, bfd_com_section_ptr, objfile, 1); + add_to_objfile_sections (objfile->obfd, bfd_und_section_ptr, objfile, 1); + add_to_objfile_sections (objfile->obfd, bfd_abs_section_ptr, objfile, 1); + add_to_objfile_sections (objfile->obfd, bfd_ind_section_ptr, objfile, 1); } /* Given a pointer to an initialized bfd (ABFD) and some flag bits,