gdb: add field::name / field::set_name
[binutils-gdb.git] / gdb / solist.h
index e1410c2b79005f8e1e08c6fa6a83c097fee26327..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
@@ -139,12 +134,6 @@ struct target_so_ops
                              unsigned o_flags,
                              gdb::unique_xmalloc_ptr<char> *temp_pathname);
 
-  /* Hook for looking up global symbols in a library-specific way.  */
-  struct block_symbol (*lookup_lib_global_symbol)
-    (struct objfile *objfile,
-     const char *name,
-     const domain_enum domain);
-
   /* Given two so_list objects, one from the GDB thread list
      and another from the list returned by current_sos, return 1
      if they represent the same library.
@@ -174,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);
 
@@ -189,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);
@@ -209,9 +197,4 @@ extern gdb_bfd_ref_ptr solib_bfd_open (const char *in_pathname);
 /* FIXME: gdbarch needs to control this variable.  */
 extern struct target_so_ops *current_target_so_ops;
 
-/* Handler for library-specific global symbol lookup in solib.c.  */
-struct block_symbol solib_global_lookup (struct objfile *objfile,
-                                           const char *name,
-                                           const domain_enum domain);
-
 #endif