Use gdb_bfd_sections in elf_symfile_read
authorTom Tromey <tom@tromey.com>
Sat, 19 Sep 2020 17:54:49 +0000 (11:54 -0600)
committerTom Tromey <tom@tromey.com>
Sat, 19 Sep 2020 17:54:54 +0000 (11:54 -0600)
This changes elf_symfile_read to avoid bfd_map_over_sections, in favor
of iteration.

gdb/ChangeLog
2020-09-19  Tom Tromey  <tom@tromey.com>

* elfread.c (elf_locate_sections): Change parameters.
(elf_symfile_read): Use foreach.

gdb/ChangeLog
gdb/elfread.c

index 1c950448c6f18b8d029131e984a3485688ba715c..469b6c73f252e5309aa3552eab240cdff52fd950 100644 (file)
@@ -1,3 +1,8 @@
+2020-09-19  Tom Tromey  <tom@tromey.com>
+
+       * elfread.c (elf_locate_sections): Change parameters.
+       (elf_symfile_read): Use foreach.
+
 2020-09-19  Tom Tromey  <tom@tromey.com>
 
        * cli/cli-dump.c (struct callback_data): Remove.
index 75bdd75250b11cf56ad26ad8552e0981056a95b2..5dad3ddd94041ab60d05d63d150467627df8a8f3 100644 (file)
@@ -176,11 +176,8 @@ elf_symfile_segments (bfd *abfd)
    -kingdon).  */
 
 static void
-elf_locate_sections (bfd *ignore_abfd, asection *sectp, void *eip)
+elf_locate_sections (asection *sectp, struct elfinfo *ei)
 {
-  struct elfinfo *ei;
-
-  ei = (struct elfinfo *) eip;
   if (strcmp (sectp->name, ".stab") == 0)
     {
       ei->stabsect = sectp;
@@ -1211,7 +1208,10 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
 
   memset ((char *) &ei, 0, sizeof (ei));
   if (!(objfile->flags & OBJF_READNEVER))
-    bfd_map_over_sections (abfd, elf_locate_sections, (void *) & ei);
+    {
+      for (asection *sect : gdb_bfd_sections (abfd))
+       elf_locate_sections (sect, &ei);
+    }
 
   elf_read_minimal_symbols (objfile, symfile_flags, &ei);