/* Shared library declarations for GDB, the GNU Debugger.
- Copyright (C) 1990-2018 Free Software Foundation, Inc.
+ Copyright (C) 1990-2022 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. */
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
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.
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);
/* 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);
/* 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