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

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

* corelow.c (add_to_thread_list): Change parameters.
(core_target_open): Use foreach.

gdb/ChangeLog
gdb/corelow.c

index 16317fb017da0f721640c6095177e14858e0bc6f..7e5201ee4b6fa24a4278116d6680e36ed976f446 100644 (file)
@@ -1,3 +1,8 @@
+2020-09-19  Tom Tromey  <tom@tromey.com>
+
+       * corelow.c (add_to_thread_list): Change parameters.
+       (core_target_open): Use foreach.
+
 2020-09-19  Tom Tromey  <tom@tromey.com>
 
        * gdb_bfd.h (gdb_bfd_sections): New overload.  Fix formatting of
index 96ec739c62fb4fc33e91bdd66274250b0ae614e5..de15895c80b5634602ac56bf642f3549c65cf962 100644 (file)
@@ -290,8 +290,6 @@ core_target::build_file_mappings ()
   normalize_mem_ranges (&m_core_unavailable_mappings);
 }
 
-static void add_to_thread_list (bfd *, asection *, void *);
-
 /* An arbitrary identifier for the core inferior.  */
 #define CORELOW_PID 1
 
@@ -322,11 +320,10 @@ core_target::close ()
    extract the list of threads in a core file.  */
 
 static void
-add_to_thread_list (bfd *abfd, asection *asect, void *reg_sect_arg)
+add_to_thread_list (asection *asect, asection *reg_sect)
 {
   int core_tid;
   int pid, lwpid;
-  asection *reg_sect = (asection *) reg_sect_arg;
   bool fake_pid_p = false;
   struct inferior *inf;
 
@@ -493,8 +490,9 @@ core_target_open (const char *arg, int from_tty)
   /* Build up thread list from BFD sections, and possibly set the
      current thread to the .reg/NN section matching the .reg
      section.  */
-  bfd_map_over_sections (core_bfd, add_to_thread_list,
-                        bfd_get_section_by_name (core_bfd, ".reg"));
+  asection *reg_sect = bfd_get_section_by_name (core_bfd, ".reg");
+  for (asection *sect : gdb_bfd_sections (core_bfd))
+    add_to_thread_list (sect, reg_sect);
 
   if (inferior_ptid == null_ptid)
     {