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.
+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.
 
    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);
   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);