gdb: add field::name / field::set_name
[binutils-gdb.git] / gdb / solist.h
index ee99fc815b5da3cc50e61b5d8fe4f17b906094af..6033751dd695f8b8c0c0c66811a1cd50508110d7 100644 (file)
@@ -1,5 +1,5 @@
 /* Shared library declarations for GDB, the GNU Debugger.
-   Copyright (C) 1990-2019 Free Software Foundation, Inc.
+   Copyright (C) 1990-2021 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 /* For domain_enum domain.  */
 #include "symtab.h"
 #include "gdb_bfd.h"
-
-#define ALL_SO_LIBS(so) \
-    for (so = so_list_head; \
-        so != NULL; \
-        so = so->next)
+#include "target-section.h"
 
 /* Base class for target-specific link map information.  */
 
@@ -76,8 +72,7 @@ struct so_list
      the file cannot be found or after the command "nosharedlibrary".  */
   struct objfile *objfile;
 
-  struct target_section *sections;
-  struct target_section *sections_end;
+  target_section_table *sections;
 
   /* Record the range of addresses belonging to this shared library.
      There may not be just one (e.g. if two segments are relocated
@@ -168,6 +163,8 @@ struct target_so_ops
   void (*handle_event) (void);
 };
 
+using so_list_range = next_range<so_list>;
+
 /* Free the memory associated with a (so_list *).  */
 void free_so (struct so_list *so);
 
@@ -183,9 +180,6 @@ struct so_deleter
 /* A unique pointer to a so_list.  */
 typedef std::unique_ptr<so_list, so_deleter> so_list_up;
 
-/* Return address of first so_list entry in master shared object list.  */
-struct so_list *master_so_list (void);
-
 /* Find main executable binary file.  */
 extern gdb::unique_xmalloc_ptr<char> exec_file_find (const char *in_pathname,
                                                     int *fd);