Use gdb_bfd_sections in gdb_bfd_close_or_warn
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:50 +0000 (11:54 -0600)
This changes gdb_bfd_close_or_warn to avoid bfd_map_over_sections, in
favor of iteration.

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

* gdb_bfd.c (free_one_bfd_section): Remove 'abfd' and 'ignore'
parameters.
(gdb_bfd_close_or_warn): Use foreach.

gdb/ChangeLog
gdb/gdb_bfd.c

index 7e5201ee4b6fa24a4278116d6680e36ed976f446..8b898140a71e2a922bde955821099fdc17893b68 100644 (file)
@@ -1,3 +1,9 @@
+2020-09-19  Tom Tromey  <tom@tromey.com>
+
+       * gdb_bfd.c (free_one_bfd_section): Remove 'abfd' and 'ignore'
+       parameters.
+       (gdb_bfd_close_or_warn): Use foreach.
+
 2020-09-19  Tom Tromey  <tom@tromey.com>
 
        * corelow.c (add_to_thread_list): Change parameters.
index 58d177cf7df26ec8da2c6db0029c8fc6372a2ed4..063943835d5bc7404ffa8ed56301358688d5be7e 100644 (file)
@@ -507,7 +507,7 @@ gdb_bfd_open (const char *name, const char *target, int fd,
    BFD.  */
 
 static void
-free_one_bfd_section (bfd *abfd, asection *sectp, void *ignore)
+free_one_bfd_section (asection *sectp)
 {
   struct gdb_bfd_section_data *sect
     = (struct gdb_bfd_section_data *) bfd_section_userdata (sectp);
@@ -536,7 +536,8 @@ gdb_bfd_close_or_warn (struct bfd *abfd)
   int ret;
   const char *name = bfd_get_filename (abfd);
 
-  bfd_map_over_sections (abfd, free_one_bfd_section, NULL);
+  for (asection *sect : gdb_bfd_sections (abfd))
+    free_one_bfd_section (sect);
 
   ret = bfd_close (abfd);