gdb: remove target_section_table typedef
authorSimon Marchi <simon.marchi@efficios.com>
Tue, 10 Oct 2023 15:47:41 +0000 (15:47 +0000)
committerSimon Marchi <simon.marchi@efficios.com>
Thu, 19 Oct 2023 14:57:51 +0000 (10:57 -0400)
Remove this typedef.  I think that hiding the real type (std::vector)
behind a typedef just hinders readability.

Change-Id: I80949da3392f60a2826c56c268e0ec6f503ad79f
Approved-By: Pedro Alves <pedro@palves.net>
Reviewed-By: Reviewed-By: Lancelot Six <lancelot.six@amd.com>
17 files changed:
gdb/bfd-target.c
gdb/corelow.c
gdb/exec.c
gdb/exec.h
gdb/maint.c
gdb/progspace.h
gdb/record-full.c
gdb/remote.c
gdb/solib.c
gdb/solist.h
gdb/symfile.c
gdb/symfile.h
gdb/target-debug.h
gdb/target-delegates.c
gdb/target-section.h
gdb/target.c
gdb/target.h

index 9e1b980957c965315ac13799f0935defc8dc081b..2aa2f9638d3f2aece07e9e197b9603c8d1daf64a 100644 (file)
@@ -50,7 +50,7 @@ public:
                  ULONGEST offset, ULONGEST len,
                  ULONGEST *xfered_len) override;
 
-  const target_section_table *get_section_table () override;
+  const std::vector<target_section> *get_section_table () override;
 
 private:
   /* The BFD we're wrapping.  */
@@ -59,7 +59,7 @@ private:
   /* The section table build from the ALLOC sections in BFD.  Note
      that we can't rely on extracting the BFD from a random section in
      the table, since the table can be legitimately empty.  */
-  target_section_table m_table;
+  std::vector<target_section> m_table;
 };
 
 target_xfer_status
@@ -82,7 +82,7 @@ target_bfd::xfer_partial (target_object object,
     }
 }
 
-const target_section_table *
+const std::vector<target_section> *
 target_bfd::get_section_table ()
 {
   return &m_table;
index 4da5e4fa5d461c8602958dd83891aa19887ac754..91b442b4426faf18a11d57463460f2efee407949 100644 (file)
@@ -142,11 +142,11 @@ private: /* per-core data */
      shared library bfds.  The core bfd sections are an implementation
      detail of the core target, just like ptrace is for unix child
      targets.  */
-  target_section_table m_core_section_table;
+  std::vector<target_section> m_core_section_table;
 
   /* File-backed address space mappings: some core files include
      information about memory mapped files.  */
-  target_section_table m_core_file_mappings;
+  std::vector<target_section> m_core_file_mappings;
 
   /* Unavailable mappings.  These correspond to pathnames which either
      weren't found or could not be opened.  Knowing these addresses can
@@ -197,8 +197,7 @@ core_target::core_target ()
   build_file_mappings ();
 }
 
-/* Construct the target_section_table for file-backed mappings if
-   they exist.
+/* Construct the table for file-backed mappings if they exist.
 
    For each unique path in the note, we'll open a BFD with a bfd
    target of "binary".  This is an unstructured bfd target upon which
index 08c205662ea1fe3bd670a3600353b32de05eb4b3..0f9f9d076c684f76510a51ca2053394dad4a8a3d 100644 (file)
@@ -479,8 +479,8 @@ exec_file_attach (const char *filename, int from_tty)
                 gdb_bfd_errmsg (bfd_get_error (), matching).c_str ());
        }
 
-         target_section_table sections
-         = build_section_table (current_program_space->exec_bfd ());
+      std::vector<target_section> sections
+       = build_section_table (current_program_space->exec_bfd ());
 
       current_program_space->ebfd_mtime
        = bfd_get_mtime (current_program_space->exec_bfd ());
@@ -568,10 +568,10 @@ file_command (const char *arg, int from_tty)
 
 /* Builds a section table, given args BFD, TABLE.  */
 
-target_section_table
+std::vector<target_section>
 build_section_table (struct bfd *some_bfd)
 {
-  target_section_table table;
+  std::vector<target_section> table;
 
   for (asection *asect : gdb_bfd_sections (some_bfd))
     {
@@ -600,7 +600,7 @@ build_section_table (struct bfd *some_bfd)
 
 void
 program_space::add_target_sections (const void *owner,
-                                   const target_section_table &sections)
+                                   const std::vector<target_section> &sections)
 {
   if (!sections.empty ())
     {
@@ -745,7 +745,7 @@ exec_read_partial_read_only (gdb_byte *readbuf, ULONGEST offset,
 
 static std::vector<mem_range>
 section_table_available_memory (CORE_ADDR memaddr, ULONGEST len,
-                               const target_section_table &sections)
+                               const std::vector<target_section> &sections)
 {
   std::vector<mem_range> memory;
 
@@ -779,7 +779,7 @@ enum target_xfer_status
 section_table_read_available_memory (gdb_byte *readbuf, ULONGEST offset,
                                     ULONGEST len, ULONGEST *xfered_len)
 {
-  const target_section_table *table
+  const std::vector<target_section> *table
     = target_get_section_table (current_inferior ()->top_target ());
   std::vector<mem_range> available_memory
     = section_table_available_memory (offset, len, *table);
@@ -819,7 +819,7 @@ enum target_xfer_status
 section_table_xfer_memory_partial (gdb_byte *readbuf, const gdb_byte *writebuf,
                                   ULONGEST offset, ULONGEST len,
                                   ULONGEST *xfered_len,
-                                  const target_section_table &sections,
+                                  const std::vector<target_section> &sections,
                                   gdb::function_view<bool
                                     (const struct target_section *)> match_cb)
 {
@@ -895,7 +895,7 @@ exec_target::xfer_partial (enum target_object object,
                           const gdb_byte *writebuf,
                           ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 {
-  const target_section_table *table = target_get_section_table (this);
+  const std::vector<target_section> *table = target_get_section_table (this);
 
   if (object == TARGET_OBJECT_MEMORY)
     return section_table_xfer_memory_partial (readbuf, writebuf,
@@ -907,7 +907,7 @@ exec_target::xfer_partial (enum target_object object,
 \f
 
 void
-print_section_info (const target_section_table *t, bfd *abfd)
+print_section_info (const std::vector<target_section> *t, bfd *abfd)
 {
   struct gdbarch *gdbarch = gdbarch_from_bfd (abfd);
   /* FIXME: 16 is not wide enough when gdbarch_addr_bit > 64.  */
index 200a5c69265a7ad8010add2ecb9af63994917ac4..bde3fc8fcc0ecc329175aac76b1f5b79ef6827e7 100644 (file)
@@ -32,7 +32,7 @@ struct objfile;
 
 /* Builds a section table, given args BFD.  */
 
-extern target_section_table build_section_table (struct bfd *);
+extern std::vector<target_section> build_section_table (struct bfd *);
 
 /* VFORK_CHILD is a child vforked and its program space is shared with its
    parent.  This pushes the exec target on that inferior's target stack if
@@ -75,7 +75,7 @@ extern enum target_xfer_status
   section_table_xfer_memory_partial (gdb_byte *,
                                     const gdb_byte *,
                                     ULONGEST, ULONGEST, ULONGEST *,
-                                    const target_section_table &,
+                                    const std::vector<target_section> &,
                                     gdb::function_view<bool
                                       (const struct target_section *)> match_cb
                                         = nullptr);
@@ -95,7 +95,7 @@ extern void exec_set_section_address (const char *, int, CORE_ADDR);
    special cased --- it's filename is omitted; if it is the executable
    file, its entry point is printed.  */
 
-extern void print_section_info (const target_section_table *table,
+extern void print_section_info (const std::vector<target_section> *table,
                                bfd *abfd);
 
 /* Helper function that attempts to open the symbol file at EXEC_FILE_HOST.
index f91184c200561c1a44a6af2e2cc03b6b5cbd3627..e0dc5bc0c7aacff272bde80c2c5903cffbe2afa3 100644 (file)
@@ -470,7 +470,7 @@ maintenance_info_target_sections (const char *arg, int from_tty)
 {
   bfd *abfd = nullptr;
   int digits = 0;
-  const target_section_table *table
+  const std::vector<target_section> *table
     = target_get_section_table (current_inferior ()->top_target ());
   if (table == nullptr)
     return;
index 0930d8583597e47c032da2b27764964641d188c2..20dfc2e92e83d0b26f3381bfec28514490d86d90 100644 (file)
@@ -291,7 +291,7 @@ struct program_space
   /* Add the sections array defined by SECTIONS to the
      current set of target sections.  */
   void add_target_sections (const void *owner,
-                           const target_section_table &sections);
+                           const std::vector<target_section> &sections);
 
   /* Add the sections of OBJFILE to the current set of target
      sections.  They are given OBJFILE as the "owner".  */
@@ -304,7 +304,7 @@ struct program_space
   }
 
   /* Return a reference to the M_TARGET_SECTIONS table.  */
-  target_section_table &target_sections ()
+  std::vector<target_section> &target_sections ()
   {
     return m_target_sections;
   }
@@ -380,7 +380,7 @@ struct program_space
 private:
   /* The set of target sections matching the sections mapped into
      this program space.  Managed by both exec_ops and solib.c.  */
-  target_section_table m_target_sections;
+  std::vector<target_section> m_target_sections;
 };
 
 /* An address space.  It is used for comparing if
index f072bdd7f88210234acb4af50be8b28896ab2ceb..2ee08e6d54fb9c9d7d66b0230363a94c0e3d7abb 100644 (file)
@@ -173,7 +173,7 @@ struct record_full_core_buf_entry
 
 /* Record buf with core target.  */
 static detached_regcache *record_full_core_regbuf = NULL;
-static target_section_table record_full_core_sections;
+static std::vector<target_section> record_full_core_sections;
 static struct record_full_core_buf_entry *record_full_core_buf_list = NULL;
 
 /* The following variables are used for managing the linked list that
index 961061e02a9f68b55276725ec2bf38351b136d77..b58dbd4cb66e064be3d2e82f5c9d596b0d2a740c 100644 (file)
@@ -9446,7 +9446,8 @@ remote_target::remote_xfer_live_readonly_partial (gdb_byte *readbuf,
     {
       ULONGEST memend = memaddr + len;
 
-      const target_section_table *table = target_get_section_table (this);
+      const std::vector<target_section> *table
+       = target_get_section_table (this);
       for (const target_section &p : *table)
        {
          if (memaddr >= p.addr)
index e38f495056394b039e1ae27a201387edc57fac7d..fda76a8c89dc5dce91c56591259d4058b8286aa8 100644 (file)
@@ -593,7 +593,7 @@ solib_map_sections (so_list &so)
   strcpy (so.so_name, bfd_get_filename (so.abfd));
 
   if (so.sections == nullptr)
-    so.sections = new target_section_table;
+    so.sections = new std::vector<target_section>;
   *so.sections = build_section_table (so.abfd);
 
   for (target_section &p : *so.sections)
index 75e8e8ad01826b4d182b65dfb10387209cb1def6..ca12fd55ba0f16d8767bfc419d2fcee3270e8de4 100644 (file)
@@ -84,7 +84,7 @@ struct so_list
      the file cannot be found or after the command "nosharedlibrary".  */
   struct objfile *objfile = nullptr;
 
-  target_section_table *sections = nullptr;
+  std::vector<target_section> *sections = nullptr;
 
   /* Record the range of addresses belonging to this shared library.
      There may not be just one (e.g. if two segments are relocated
index 5eb1638b781c3e84316b175ab16d66c0236c3826..eebc5ea44b9b327d35aa14a204f0c7cb2560db1a 100644 (file)
@@ -216,7 +216,7 @@ find_lowest_section (asection *sect, asection **lowest)
    an existing section table.  */
 
 section_addr_info
-build_section_addr_info_from_section_table (const target_section_table &table)
+build_section_addr_info_from_section_table (const std::vector<target_section> &table)
 {
   section_addr_info sap;
 
index 296fee945c147cc5ed198de7ebf04f7b2d152e63..bb61a779314e4325beebf1e356b82310b1279c1a 100644 (file)
@@ -257,7 +257,7 @@ extern std::string find_separate_debug_file_by_debuglink
    existing section table.  */
 
 extern section_addr_info
-    build_section_addr_info_from_section_table (const target_section_table &table);
+    build_section_addr_info_from_section_table (const std::vector<target_section> &table);
 
                        /*   Variables   */
 
index 4082f8271179caabc9df9c5c5e211fadb8f95937..3663ec21740e15f5a2481aac0fcbe4841e7859e1 100644 (file)
   target_debug_do_print (host_address_to_string (X))
 #define target_debug_print_ui_file_p(X)        \
   target_debug_do_print (host_address_to_string (X))
-#define target_debug_print_const_target_section_table_p(X)     \
-  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_const_std_vector_target_section_p(X) \
+  target_debug_do_print (host_address_to_string (X->data ()))
 #define target_debug_print_void_p(X) \
   target_debug_do_print (host_address_to_string (X))
 #define target_debug_print_find_memory_region_ftype(X) \
index d1b71a11c12d6db91a2dcaab099f76088495bd95..580fc768dd1c38a389aa07ad6bca88525db51779 100644 (file)
@@ -96,7 +96,7 @@ struct dummy_target : public target_ops
   void rcmd (const char *arg0, struct ui_file *arg1) override;
   const char *pid_to_exec_file (int arg0) override;
   void log_command (const char *arg0) override;
-  const target_section_table *get_section_table () override;
+  const std::vector<target_section> *get_section_table () override;
   thread_control_capabilities get_thread_control_capabilities () override;
   bool attach_no_wait () override;
   bool can_async_p () override;
@@ -271,7 +271,7 @@ struct debug_target : public target_ops
   void rcmd (const char *arg0, struct ui_file *arg1) override;
   const char *pid_to_exec_file (int arg0) override;
   void log_command (const char *arg0) override;
-  const target_section_table *get_section_table () override;
+  const std::vector<target_section> *get_section_table () override;
   thread_control_capabilities get_thread_control_capabilities () override;
   bool attach_no_wait () override;
   bool can_async_p () override;
@@ -2032,27 +2032,27 @@ debug_target::log_command (const char *arg0)
   gdb_puts (")\n", gdb_stdlog);
 }
 
-const target_section_table *
+const std::vector<target_section> *
 target_ops::get_section_table ()
 {
   return this->beneath ()->get_section_table ();
 }
 
-const target_section_table *
+const std::vector<target_section> *
 dummy_target::get_section_table ()
 {
   return default_get_section_table ();
 }
 
-const target_section_table *
+const std::vector<target_section> *
 debug_target::get_section_table ()
 {
   gdb_printf (gdb_stdlog, "-> %s->get_section_table (...)\n", this->beneath ()->shortname ());
-  const target_section_table * result
+  const std::vector<target_section> * result
     = this->beneath ()->get_section_table ();
   gdb_printf (gdb_stdlog, "<- %s->get_section_table (", this->beneath ()->shortname ());
   gdb_puts (") = ", gdb_stdlog);
-  target_debug_print_const_target_section_table_p (result);
+  target_debug_print_const_std_vector_target_section_p (result);
   gdb_puts ("\n", gdb_stdlog);
   return result;
 }
index 5d7c846a6e25548516cebd5fbedc9e67f95c2631..1c902baa7778a10c471023d24648bdb55bc778e7 100644 (file)
@@ -51,8 +51,4 @@ struct target_section
   const void *owner;
 };
 
-/* Holds an array of target sections.  */
-
-using target_section_table = std::vector<target_section>;
-
 #endif /* GDB_TARGET_SECTION_H */
index d721cf0d231a57fb8e39911ac1a628a68689ff91..f688ff33e3b0e157bbe4042a5287436c46159d82 100644 (file)
@@ -1347,7 +1347,7 @@ target_xfer_status_to_string (enum target_xfer_status status)
 };
 
 
-const target_section_table *
+const std::vector<target_section> *
 target_get_section_table (struct target_ops *target)
 {
   return target->get_section_table ();
@@ -1358,7 +1358,7 @@ target_get_section_table (struct target_ops *target)
 const struct target_section *
 target_section_by_addr (struct target_ops *target, CORE_ADDR addr)
 {
-  const target_section_table *table = target_get_section_table (target);
+  const std::vector<target_section> *table = target_get_section_table (target);
 
   if (table == NULL)
     return NULL;
@@ -1373,7 +1373,7 @@ target_section_by_addr (struct target_ops *target, CORE_ADDR addr)
 
 /* See target.h.  */
 
-const target_section_table *
+const std::vector<target_section> *
 default_get_section_table ()
 {
   return &current_program_space->target_sections ();
@@ -1507,7 +1507,7 @@ memory_xfer_partial_1 (struct target_ops *ops, enum target_object object,
 
       if (pc_in_unmapped_range (memaddr, section))
        {
-         const target_section_table *table = target_get_section_table (ops);
+         const std::vector<target_section> *table = target_get_section_table (ops);
          const char *section_name = section->the_bfd_section->name;
 
          memaddr = overlay_mapped_address (memaddr, section);
@@ -1531,7 +1531,7 @@ memory_xfer_partial_1 (struct target_ops *ops, enum target_object object,
       if (secp != NULL
          && (bfd_section_flags (secp->the_bfd_section) & SEC_READONLY))
        {
-         const target_section_table *table = target_get_section_table (ops);
+         const std::vector<target_section> *table = target_get_section_table (ops);
          return section_table_xfer_memory_partial (readbuf, writebuf,
                                                    memaddr, len, xfered_len,
                                                    *table);
index 446c0a9fdbfa26914f738b724e9ce0f698470298..68b269fb3e61b93fa22fb208bee5da8ea3d1759c 100644 (file)
@@ -698,7 +698,7 @@ struct target_ops
       TARGET_DEFAULT_RETURN (NULL);
     virtual void log_command (const char *)
       TARGET_DEFAULT_IGNORE ();
-    virtual const target_section_table *get_section_table ()
+    virtual const std::vector<target_section> *get_section_table ()
       TARGET_DEFAULT_RETURN (default_get_section_table ());
 
     /* Provide default values for all "must have" methods.  */
@@ -2401,12 +2401,12 @@ const struct target_section *target_section_by_addr (struct target_ops *target,
 /* Return the target section table this target (or the targets
    beneath) currently manipulate.  */
 
-extern const target_section_table *target_get_section_table
+extern const std::vector<target_section> *target_get_section_table
   (struct target_ops *target);
 
 /* Default implementation of get_section_table for dummy_target.  */
 
-extern const target_section_table *default_get_section_table ();
+extern const std::vector<target_section> *default_get_section_table ();
 
 /* From mem-break.c */