GDB (xrefs)

Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/solib-svr4.c File Reference
`#include "defs.h"`
`#include "elf/external.h"`
`#include "elf/common.h"`
`#include "elf/mips.h"`
`#include "symtab.h"`
`#include "bfd.h"`
`#include "symfile.h"`
`#include "objfiles.h"`
`#include "gdbcore.h"`
`#include "target.h"`
`#include "inferior.h"`
`#include "infrun.h"`
`#include "regcache.h"`
`#include "gdbthread.h"`
`#include "observer.h"`
`#include "solist.h"`
`#include "solib.h"`
`#include "solib-svr4.h"`
`#include "bfd-target.h"`
`#include "elf-bfd.h"`
`#include "exec.h"`
`#include "auxv.h"`
`#include "gdb_bfd.h"`
`#include "probe.h"`
`#include "xml-support.h"`

Go to the source code of this file.

## Classes
struct | probe_info
struct | svr4_info
struct | svr4_library_list
struct | probe_and_action
struct | solib_svr4_ops

## Macros
#define | NUM_PROBES ARRAY_SIZE (probe_info)

## Enumerations
enum | probe_action { PROBES_INTERFACE_FAILED, DO_NOTHING, FULL_RELOAD, UPDATE_OR_RELOAD }

## Functions
static struct link_map_offsets * | svr4_fetch_link_map_offsets (void)
static int | svr4_have_link_map_offsets (void)
static void | svr4_relocate_main_executable (void)
static void | svr4_free_library_list (void *p_list)
static int | svr4_same_1 (const char *gdb_so_name, const char *inferior_so_name)
static int | svr4_same (struct so_list *gdb, struct so_list *inferior)
static lm_info_svr4 * | lm_info_read (CORE_ADDR lm_addr)
static int | has_lm_dynamic_from_link_map (void)
static CORE_ADDR | lm_addr_check (const struct so_list *so, bfd *abfd)
static void | free_probes_table (struct svr4_info *info)
static void | free_solib_list (struct svr4_info *info)
static void | svr4_pspace_data_cleanup (struct program_space *pspace, void *arg)
static struct svr4_info * | get_svr4_info (void)
static int | match_main (const char *)
static gdb_byte * | read_program_header (int type, int *p_sect_size, int *p_arch_size, CORE_ADDR *base_addr)
static char * | find_program_interpreter (void)
static int | scan_dyntag (const int desired_dyntag, bfd *abfd, CORE_ADDR *ptr, CORE_ADDR *ptr_addr)
static int | scan_dyntag_auxv (const int desired_dyntag, CORE_ADDR *ptr, CORE_ADDR *ptr_addr)
static CORE_ADDR | elf_locate_base (void)
static CORE_ADDR | locate_base (struct svr4_info *info)
static CORE_ADDR | solib_svr4_r_map (struct svr4_info *info)
static CORE_ADDR | solib_svr4_r_brk (struct svr4_info *info)
static CORE_ADDR | solib_svr4_r_ldsomap (struct svr4_info *info)
static int | svr4_keep_data_in_core (CORE_ADDR vaddr, unsigned long size)
static int | open_symbol_file_object (int from_tty)
static void | svr4_free_so (struct so_list *so)
static void | svr4_clear_so (struct so_list *so)
static struct so_list * | svr4_copy_library_list (struct so_list *src)
static void | library_list_start_library (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s) *attributes)
static void | svr4_library_list_start_list (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s) *attributes)
static int | svr4_parse_libraries (const char *document, struct svr4_library_list *list)
static int | svr4_current_sos_via_xfer_libraries (struct svr4_library_list *list, const char *annex)
static struct so_list * | svr4_default_sos (void)
static int | svr4_read_so_list (CORE_ADDR lm, CORE_ADDR prev_lm, struct so_list ***link_ptr_ptr, int ignore_first)
static struct so_list * | svr4_current_sos_direct (struct svr4_info *info)
static struct so_list * | svr4_current_sos_1 (void)
static struct so_list * | svr4_current_sos (void)
CORE_ADDR | svr4_fetch_objfile_link_map (struct objfile *objfile)
int | svr4_in_dynsym_resolve_code (CORE_ADDR pc)
static CORE_ADDR | exec_entry_point (struct bfd *abfd, struct target_ops *targ)
static hashval_t | hash_probe_and_action (const void *p)
static int | equal_probe_and_action (const void *p1, const void *p2)
static void | register_solib_event_probe (probe *prob, CORE_ADDR address, enum probe_action action)
static struct probe_and_action * | solib_event_probe_at (struct svr4_info *info, CORE_ADDR address)
static enum probe_action | solib_event_probe_action (struct probe_and_action *pa)
static int | solist_update_full (struct svr4_info *info)
static int | solist_update_incremental (struct svr4_info *info, CORE_ADDR lm)
static void | disable_probes_interface_cleanup (void *arg)
static void | svr4_handle_solib_event (void)
static int | svr4_update_solib_event_breakpoint (struct breakpoint *b, void *arg)
static void | svr4_update_solib_event_breakpoints (void)
static void | svr4_create_probe_breakpoints (struct gdbarch *gdbarch, const std::vector< probe *> *probes, struct objfile *objfile)
static void | svr4_create_solib_event_breakpoints (struct gdbarch *gdbarch, CORE_ADDR address)
static int | cmp_name_and_sec_flags (const asymbol *sym, const void *data)
static int | enable_break (struct svr4_info *info, int from_tty)
static gdb_byte * | read_program_headers_from_bfd (bfd *abfd, int *phdrs_size)
static int | svr4_exec_displacement (CORE_ADDR *displacementp)
static void | svr4_solib_create_inferior_hook (int from_tty)
static void | svr4_clear_solib (void)
static CORE_ADDR | svr4_truncate_ptr (CORE_ADDR addr)
static void | svr4_relocate_section_addresses (struct so_list *so, struct target_section *sec)
static void * | solib_svr4_init (struct obstack *obstack)
void | set_solib_svr4_fetch_link_map_offsets (struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
struct link_map_offsets * | svr4_ilp32_fetch_link_map_offsets (void)
struct link_map_offsets * | svr4_lp64_fetch_link_map_offsets (void)
static struct block_symbol | elf_lookup_lib_symbol (struct objfile *objfile, const char *name, const domain_enum domain)
void | _initialize_svr4_solib (void)

## Variables
static const char *const | solib_break_names []
static const char *const | bkpt_names []
static const char *const | main_name_list []
static const struct probe_info | probe_info []
static const struct program_space_data * | solib_svr4_pspace_data
static const struct gdb_xml_attribute | svr4_library_attributes []
static const struct gdb_xml_element | svr4_library_list_children []
static const struct gdb_xml_attribute | svr4_library_list_attributes []
static const struct gdb_xml_element | svr4_library_list_elements []
static struct gdbarch_data * | solib_svr4_data
struct target_so_ops | svr4_so_ops

## Macro Definition Documentation

## ◆ NUM_PROBES

#define NUM_PROBES ARRAY_SIZE (probe_info)

Definition at line 135 of file solib-svr4.c.

Referenced by svr4_create_probe_breakpoints(), and svr4_create_solib_event_breakpoints().

## Enumeration Type Documentation

## ◆ probe_action

enum probe_action

Enumerator
PROBES_INTERFACE_FAILED |
DO_NOTHING |
FULL_RELOAD |
UPDATE_OR_RELOAD |

Definition at line 90 of file solib-svr4.c.

## Function Documentation

## ◆ _initialize_svr4_solib()

void _initialize_svr4_solib | ( | void |  | ) |

Definition at line 3272 of file solib-svr4.c.

References target_so_ops::bfd_open, target_so_ops::clear_so, target_so_ops::clear_solib, target_so_ops::current_sos, elf_lookup_lib_symbol(), target_so_ops::free_so, gdbarch_data_register_pre_init(), target_so_ops::handle_event, target_so_ops::in_dynsym_resolve_code, target_so_ops::keep_data_in_core, target_so_ops::lookup_lib_global_symbol, target_so_ops::open_symbol_file_object, open_symbol_file_object(), target_so_ops::relocate_section_addresses, target_so_ops::same, solib_bfd_open(), target_so_ops::solib_create_inferior_hook, solib_svr4_data, solib_svr4_init(), solib_svr4_pspace_data, svr4_clear_so(), svr4_clear_solib(), svr4_current_sos(), svr4_free_so(), svr4_handle_solib_event(), svr4_in_dynsym_resolve_code(), svr4_keep_data_in_core(), svr4_pspace_data_cleanup(), svr4_relocate_section_addresses(), svr4_same(), svr4_so_ops, svr4_solib_create_inferior_hook(), svr4_update_solib_event_breakpoints(), and target_so_ops::update_breakpoints.

## ◆ cmp_name_and_sec_flags()

static int cmp_name_and_sec_flags | ( | const asymbol * | sym,
|  | const void * | data
| ) |  |
| static

Definition at line 2186 of file solib-svr4.c.

Referenced by enable_break().

## ◆ disable_probes_interface_cleanup()

static void disable_probes_interface_cleanup | ( | void * | arg | ) |
| static

Definition at line 1870 of file solib-svr4.c.

References _, free_probes_table(), free_solib_list(), get_svr4_info(), and warning().

Referenced by svr4_handle_solib_event().

## ◆ elf_locate_base()

static CORE_ADDR elf_locate_base | ( | void |  | ) |
| static

Definition at line 781 of file solib-svr4.c.

References BMSYMBOL_VALUE_ADDRESS, builtin_type::builtin_data_ptr, builtin_type(), exec_bfd, extract_typed_address(), lookup_minimal_symbol(), bound_minimal_symbol::minsym, scan_dyntag(), scan_dyntag_auxv(), symfile_objfile, target_gdbarch(), target_read_memory(), and TYPE_LENGTH.

Referenced by locate_base().

## ◆ elf_lookup_lib_symbol()

static struct block_symbol elf_lookup_lib_symbol | ( | struct objfile * | objfile,
|  | const char * | name,
|  | const domain_enum | domain
| ) |  |
| static

Definition at line 3249 of file solib-svr4.c.

References exec_bfd, gdb_assert, lookup_global_symbol_from_objfile(), name, objfile::obfd, scan_dyntag(), objfile::separate_debug_objfile_backlink, and symfile_objfile.

Referenced by _initialize_svr4_solib().

## ◆ enable_break()

static int enable_break | ( | struct svr4_info * | info,
|  | int | from_tty
| ) |  |
| static

Definition at line 2224 of file solib-svr4.c.

References _, ANOFFSET, auto_solib_add, bkpt_names, BMSYMBOL_VALUE_ADDRESS, CATCH, cmp_name_and_sec_flags(), current_inferior(), current_target, svr4_info::debug_base, svr4_info::debug_loader_name, svr4_info::debug_loader_offset, svr4_info::debug_loader_offset_p, END_CATCH, exec_entry_point(), find_pc_section(), find_program_interpreter(), gdb_assert, gdb_bfd_lookup_symbol(), gdbarch_addr_bit(), gdbarch_addr_bits_remove(), gdbarch_convert_from_func_ptr_addr(), gdb::ref_ptr< T, Policy >::get(), get_thread_arch_regcache(), HOST_CHAR_BIT, inferior_ptid, interp_name(), svr4_info::interp_plt_sect_high, svr4_info::interp_plt_sect_low, svr4_info::interp_text_sect_high, svr4_info::interp_text_sect_low, lm_addr_check(), lookup_minimal_symbol(), master_so_list(), bound_minimal_symbol::minsym, objfile::obfd, obj_section::objfile, regcache_read_pc(), RETURN_MASK_ALL, SECT_OFF_TEXT, objfile::section_offsets, solib_add(), solib_bfd_open(), solib_break_names, solib_svr4_r_brk(), solib_svr4_r_map(), svr4_create_solib_event_breakpoints(), svr4_same_1(), symfile_objfile, target_auxv_search(), target_bfd_reopen(), target_close(), target_gdbarch(), TRY, warning(), and xfree().

Referenced by svr4_solib_create_inferior_hook().

## ◆ equal_probe_and_action()

static int equal_probe_and_action | ( | const void * | p1,
|  | const void * | p2
| ) |  |
| static

Definition at line 1690 of file solib-svr4.c.

References probe_and_action::address.

Referenced by register_solib_event_probe().

## ◆ exec_entry_point()

static CORE_ADDR exec_entry_point | ( | struct bfd * | abfd,
|  | struct target_ops * | targ
| ) |  |
| static

Definition at line 1644 of file solib-svr4.c.

References gdbarch_addr_bits_remove(), gdbarch_convert_from_func_ptr_addr(), and target_gdbarch().

Referenced by enable_break().

## ◆ find_program_interpreter()

static char* find_program_interpreter | ( | void |  | ) |
| static

Definition at line 572 of file solib-svr4.c.

References exec_bfd, read_program_header(), and xmalloc().

Referenced by enable_break().

## ◆ free_probes_table()

static void free_probes_table | ( | struct svr4_info * | info | ) |
| static

Definition at line 368 of file solib-svr4.c.

References svr4_info::probes_table.

Referenced by disable_probes_interface_cleanup(), svr4_pspace_data_cleanup(), and svr4_solib_create_inferior_hook().

## ◆ free_solib_list()

static void free_solib_list | ( | struct svr4_info * | info | ) |
| static

Definition at line 380 of file solib-svr4.c.

References svr4_info::solib_list, and svr4_free_library_list().

Referenced by disable_probes_interface_cleanup(), solist_update_full(), svr4_pspace_data_cleanup(), and svr4_solib_create_inferior_hook().

## ◆ get_svr4_info()

static struct svr4_info* get_svr4_info | ( | void |  | ) |
| static

Definition at line 401 of file solib-svr4.c.

References current_program_space, solib_svr4_pspace_data, and XCNEW.

Referenced by disable_probes_interface_cleanup(), open_symbol_file_object(), register_solib_event_probe(), svr4_clear_solib(), svr4_current_sos_1(), svr4_default_sos(), svr4_fetch_objfile_link_map(), svr4_handle_solib_event(), svr4_in_dynsym_resolve_code(), svr4_keep_data_in_core(), svr4_read_so_list(), and svr4_solib_create_inferior_hook().

## ◆ has_lm_dynamic_from_link_map()

static int has_lm_dynamic_from_link_map | ( | void |  | ) |
| static

Definition at line 212 of file solib-svr4.c.

References link_map_offsets::l_ld_offset, and svr4_fetch_link_map_offsets().

Referenced by lm_addr_check().

## ◆ hash_probe_and_action()

static hashval_t hash_probe_and_action | ( | const void * | p | ) |
| static

Definition at line 1679 of file solib-svr4.c.

References probe_and_action::address.

Referenced by register_solib_event_probe().

## ◆ library_list_start_library()

static void library_list_start_library | ( | struct gdb_xml_parser * | parser,
|  | const struct gdb_xml_element * | element,
|  | void * | user_data,
|  | VEC(gdb_xml_value_s) * | attributes
| ) |  |
| static

Definition at line 1145 of file solib-svr4.c.

References lm_info_svr4::l_addr_inferior, lm_info_svr4::l_ld, lm_info_svr4::lm_addr, so_list::lm_info, name, so_list::next, so_list::so_name, so_list::so_original_name, svr4_library_list::tailp, gdb_xml_value::value, XCNEW, and xml_find_attribute().

## ◆ lm_addr_check()

static CORE_ADDR lm_addr_check | ( | const struct so_list * | so,
|  | bfd * | abfd
| ) |  |
| static

Definition at line 220 of file solib-svr4.c.

References _, has_lm_dynamic_from_link_map(), if(), info_verbose, lm_info_svr4::l_addr, lm_info_svr4::l_addr_inferior, lm_info_svr4::l_addr_p, lm_info_svr4::l_ld, so_list::lm_info, paddress(), printf_unfiltered(), so_list::so_name, target_gdbarch(), and warning().

Referenced by enable_break(), and svr4_relocate_section_addresses().

## ◆ lm_info_read()

static lm_info_svr4* lm_info_read | ( | CORE_ADDR | lm_addr | ) |
| static

Definition at line 172 of file solib-svr4.c.

References _, builtin_type::builtin_data_ptr, builtin_type(), do_cleanups(), extract_typed_address(), lm_info_svr4::l_addr_inferior, link_map_offsets::l_addr_offset, lm_info_svr4::l_ld, link_map_offsets::l_ld_offset, lm_info_svr4::l_name, link_map_offsets::l_name_offset, lm_info_svr4::l_next, link_map_offsets::l_next_offset, lm_info_svr4::l_prev, link_map_offsets::l_prev_offset, link_map_offsets::link_map_size, lm_info_svr4::lm_addr, lm_addr(), make_cleanup(), paddress(), svr4_fetch_link_map_offsets(), target_gdbarch(), target_read_memory(), warning(), xfree(), and xmalloc().

Referenced by svr4_keep_data_in_core(), and svr4_read_so_list().

## ◆ locate_base()

static CORE_ADDR locate_base | ( | struct svr4_info * | info | ) |
| static

Definition at line 863 of file solib-svr4.c.

References svr4_info::debug_base, elf_locate_base(), and svr4_have_link_map_offsets().

Referenced by open_symbol_file_object(), svr4_current_sos_direct(), svr4_handle_solib_event(), and svr4_keep_data_in_core().

## ◆ match_main()

static int match_main | ( | const char * | soname | ) |
| static

Definition at line 1611 of file solib-svr4.c.

References main_name_list.

Referenced by svr4_read_so_list().

## ◆ open_symbol_file_object()

static int open_symbol_file_object | ( | int | from_tty | ) |
| static

Definition at line 990 of file solib-svr4.c.

References _, builtin_type::builtin_data_ptr, builtin_type(), svr4_info::debug_base, do_cleanups(), extract_typed_address(), get_svr4_info(), link_map_offsets::l_name_offset, locate_base(), make_cleanup(), query(), read_memory(), safe_strerror(), SO_NAME_MAX_PATH_SIZE, solib_svr4_r_map(), svr4_fetch_link_map_offsets(), symbol_file_add_main(), symfile_objfile, SYMFILE_VERBOSE, target_gdbarch(), target_read_string(), TYPE_LENGTH, warning(), xfree(), and xmalloc().

Referenced by _initialize_svr4_solib().

## ◆ read_program_header()

static gdb_byte* read_program_header | ( | int | type,
|  | int * | p_sect_size,
|  | int * | p_arch_size,
|  | CORE_ADDR * | base_addr
| ) |  |
| static

Definition at line 432 of file solib-svr4.c.

References current_target, extract_unsigned_integer(), gdbarch_byte_order(), target_auxv_search(), target_gdbarch(), target_read_memory(), xfree(), and xmalloc().

Referenced by find_program_interpreter(), scan_dyntag_auxv(), and svr4_exec_displacement().

## ◆ read_program_headers_from_bfd()

static gdb_byte* read_program_headers_from_bfd | ( | bfd * | abfd,
|  | int * | phdrs_size
| ) |  |
| static

Definition at line 2522 of file solib-svr4.c.

References SEEK_SET, xfree(), and xmalloc().

Referenced by svr4_exec_displacement().

## ◆ register_solib_event_probe()

static void register_solib_event_probe | ( | probe * | prob,
|  | CORE_ADDR | address,
|  | enum probe_action | action
| ) |  |
| static

Definition at line 1702 of file solib-svr4.c.

References probe_and_action::action, probe_and_action::address, equal_probe_and_action(), gdb_assert, get_svr4_info(), hash_probe_and_action(), probe_and_action::prob, svr4_info::probes_table, xcalloc(), XCNEW, and xfree().

Referenced by svr4_create_probe_breakpoints().

## ◆ scan_dyntag()

static int scan_dyntag | ( | const int | desired_dyntag,
|  | bfd * | abfd,
|  | CORE_ADDR * | ptr,
|  | CORE_ADDR * | ptr_addr
| ) |  |
| static

Definition at line 604 of file solib-svr4.c.

References target_section::addr, builtin_type::builtin_data_ptr, builtin_type(), current_target_sections, extract_typed_address(), target_gdbarch(), target_read_memory(), and target_section::the_bfd_section.

Referenced by elf_locate_base(), and elf_lookup_lib_symbol().

## ◆ scan_dyntag_auxv()

static int scan_dyntag_auxv | ( | const int | desired_dyntag,
|  | CORE_ADDR * | ptr,
|  | CORE_ADDR * | ptr_addr
| ) |  |
| static

Definition at line 707 of file solib-svr4.c.

References extract_unsigned_integer(), gdbarch_byte_order(), read_program_header(), target_gdbarch(), and xfree().

Referenced by elf_locate_base().

## ◆ set_solib_svr4_fetch_link_map_offsets()

void set_solib_svr4_fetch_link_map_offsets | ( | struct gdbarch * | gdbarch,
|  | struct link_map_offsets *(*)(void) | flmo
| ) |  |

Definition at line 3137 of file solib-svr4.c.

References solib_svr4_ops::fetch_link_map_offsets, set_solib_ops(), solib_svr4_data, and svr4_so_ops.

Referenced by aarch64_fbsd_init_abi(), aarch64_linux_init_abi(), alpha_linux_init_abi(), alphanbsd_init_abi(), alphaobsd_init_abi(), am33_linux_init_osabi(), amd64_linux_init_abi(), amd64_sol2_init_abi(), amd64_x32_linux_init_abi(), amd64fbsd_init_abi(), amd64nbsd_init_abi(), amd64obsd_init_abi(), arm_fbsd_init_abi(), arm_linux_init_abi(), arm_netbsd_elf_init_abi(), armobsd_init_abi(), cris_linux_init_abi(), hppa_linux_init_abi(), hppabsd_init_abi(), i386_linux_init_abi(), i386_sol2_init_abi(), i386fbsd_init_abi(), i386gnu_init_abi(), i386nbsdelf_init_abi(), i386nto_init_abi(), i386obsd_init_abi(), ia64_linux_init_abi(), m32r_linux_init_abi(), m68k_linux_init_abi(), m68kbsd_init_abi(), microblaze_linux_init_abi(), mips64obsd_init_abi(), mips_fbsd_init_abi(), mips_linux_init_abi(), mipsnbsd_init_abi(), nios2_linux_init_abi(), ppc_linux_init_abi(), ppcfbsd_init_abi(), ppcnbsd_init_abi(), ppcobsd_init_abi(), s390_gdbarch_init(), sh_linux_init_abi(), shnbsd_init_abi(), sparc32_linux_init_abi(), sparc32_sol2_init_abi(), sparc32nbsd_init_abi(), sparc64_linux_init_abi(), sparc64_sol2_init_abi(), sparc64fbsd_init_abi(), sparc64nbsd_init_abi(), sparc64obsd_init_abi(), tilegx_linux_init_abi(), vaxnbsd_elf_init_abi(), xtensa_gdbarch_init(), and xtensa_linux_init_abi().

## ◆ solib_event_probe_action()

static enum probe_action solib_event_probe_action | ( | struct probe_and_action * | pa | ) |
| static

Definition at line 1751 of file solib-svr4.c.

References probe_and_action::action, CATCH, DO_NOTHING, END_CATCH, exception_print(), FULL_RELOAD, gdb_assert, gdb_stderr, probe::get_argument_count(), get_current_frame(), probe_and_action::prob, PROBES_INTERFACE_FAILED, RETURN_MASK_ERROR, TRY, and UPDATE_OR_RELOAD.

Referenced by svr4_handle_solib_event().

## ◆ solib_event_probe_at()

static struct probe_and_action* solib_event_probe_at | ( | struct svr4_info * | info,
|  | CORE_ADDR | address
| ) |  |
| static

Definition at line 1733 of file solib-svr4.c.

References probe_and_action::address, and svr4_info::probes_table.

Referenced by svr4_handle_solib_event(), and svr4_update_solib_event_breakpoint().

## ◆ solib_svr4_init()

static void* solib_svr4_init | ( | struct obstack * | obstack | ) |
| static

Definition at line 3124 of file solib-svr4.c.

References solib_svr4_ops::fetch_link_map_offsets, and OBSTACK_ZALLOC.

Referenced by _initialize_svr4_solib().

## ◆ solib_svr4_r_brk()

static CORE_ADDR solib_svr4_r_brk | ( | struct svr4_info * | info | ) |
| static

Definition at line 908 of file solib-svr4.c.

References builtin_type::builtin_data_ptr, builtin_type(), svr4_info::debug_base, link_map_offsets::r_brk_offset, read_memory_typed_address(), svr4_fetch_link_map_offsets(), and target_gdbarch().

Referenced by enable_break().

## ◆ solib_svr4_r_ldsomap()

static CORE_ADDR solib_svr4_r_ldsomap | ( | struct svr4_info * | info | ) |
| static

Definition at line 921 of file solib-svr4.c.

References builtin_type::builtin_data_ptr, builtin_type(), CATCH, svr4_info::debug_base, END_CATCH, exception_print(), gdb_stderr, gdbarch_byte_order(), link_map_offsets::r_ldsomap_offset, link_map_offsets::r_version_offset, link_map_offsets::r_version_size, read_memory_typed_address(), read_memory_unsigned_integer(), RETURN_MASK_ERROR, svr4_fetch_link_map_offsets(), target_gdbarch(), TRY, and version.

Referenced by svr4_current_sos_direct(), and svr4_keep_data_in_core().

## ◆ solib_svr4_r_map()

static CORE_ADDR solib_svr4_r_map | ( | struct svr4_info * | info | ) |
| static

Definition at line 885 of file solib-svr4.c.

References builtin_type::builtin_data_ptr, builtin_type(), CATCH, svr4_info::debug_base, END_CATCH, exception_print(), gdb_stderr, link_map_offsets::r_map_offset, read_memory_typed_address(), RETURN_MASK_ERROR, svr4_fetch_link_map_offsets(), target_gdbarch(), and TRY.

Referenced by enable_break(), open_symbol_file_object(), and svr4_current_sos_direct().

## ◆ solist_update_full()

static int solist_update_full | ( | struct svr4_info * | info | ) |
| static

Definition at line 1798 of file solib-svr4.c.

References free_solib_list(), svr4_info::solib_list, and svr4_current_sos_direct().

Referenced by svr4_handle_solib_event().

## ◆ solist_update_incremental()

static int solist_update_incremental | ( | struct svr4_info * | info,
|  | CORE_ADDR | lm
| ) |  |
| static

Definition at line 1812 of file solib-svr4.c.

References svr4_library_list::head, if(), lm_info_svr4::lm_addr, so_list::lm_info, so_list::next, phex_nz(), svr4_info::solib_list, svr4_current_sos_via_xfer_libraries(), svr4_read_so_list(), target_augmented_libraries_svr4_read, svr4_info::using_xfer, and xsnprintf().

Referenced by svr4_handle_solib_event().

## ◆ svr4_clear_so()

static void svr4_clear_so | ( | struct so_list * | so | ) |
| static

Definition at line 1085 of file solib-svr4.c.

References if(), lm_info_svr4::l_addr_p, and so_list::lm_info.

Referenced by _initialize_svr4_solib().

## ◆ svr4_clear_solib()

static void svr4_clear_solib | ( | void |  | ) |
| static

Definition at line 3062 of file solib-svr4.c.

References svr4_info::debug_base, svr4_info::debug_loader_name, svr4_info::debug_loader_offset, svr4_info::debug_loader_offset_p, get_svr4_info(), and xfree().

Referenced by _initialize_svr4_solib().

## ◆ svr4_copy_library_list()

static struct so_list* svr4_copy_library_list | ( | struct so_list * | src | ) |
| static

Definition at line 1112 of file solib-svr4.c.

References so_list::lm_info, so_list::next, and XNEW.

Referenced by svr4_current_sos_1().

## ◆ svr4_create_probe_breakpoints()

static void svr4_create_probe_breakpoints | ( | struct gdbarch * | gdbarch,
|  | const std::vector< probe *> * | probes,
|  | struct objfile * | objfile
| ) |  |
| static

Definition at line 2077 of file solib-svr4.c.

References probe_info::action, create_solib_event_breakpoint(), NUM_PROBES, register_solib_event_probe(), and svr4_update_solib_event_breakpoints().

Referenced by svr4_create_solib_event_breakpoints().

## ◆ svr4_create_solib_event_breakpoints()

static void svr4_create_solib_event_breakpoints | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | address
| ) |  |
| static

Definition at line 2110 of file solib-svr4.c.

References probe::can_evaluate_arguments(), create_solib_event_breakpoint(), find_pc_section(), find_probes_in_objfile(), name, probe_info::name, NUM_PROBES, obj_section::objfile, svr4_create_probe_breakpoints(), and xsnprintf().

Referenced by enable_break().

## ◆ svr4_current_sos()

static struct so_list* svr4_current_sos | ( | void |  | ) |
| static

Definition at line 1500 of file solib-svr4.c.

References address_in_mem_range(), free_so(), gdbarch_vsyscall_range(), if(), lm_info_svr4::l_ld, mem_range::length, so_list::lm_info, so_list::next, svr4_current_sos_1(), and target_gdbarch().

Referenced by _initialize_svr4_solib().

## ◆ svr4_current_sos_1()

static struct so_list* svr4_current_sos_1 | ( | void |  | ) |
| static

Definition at line 1484 of file solib-svr4.c.

References get_svr4_info(), svr4_info::solib_list, svr4_copy_library_list(), and svr4_current_sos_direct().

Referenced by svr4_current_sos().

## ◆ svr4_current_sos_direct()

static struct so_list* svr4_current_sos_direct | ( | struct svr4_info * | info | ) |
| static

Definition at line 1413 of file solib-svr4.c.

References svr4_info::debug_base, discard_cleanups(), exec_bfd, svr4_library_list::head, locate_base(), svr4_library_list::main_lm, svr4_info::main_lm_addr, make_cleanup(), solib_svr4_r_ldsomap(), solib_svr4_r_map(), svr4_current_sos_via_xfer_libraries(), svr4_default_sos(), svr4_free_library_list(), svr4_read_so_list(), and svr4_info::using_xfer.

Referenced by solist_update_full(), and svr4_current_sos_1().

## ◆ svr4_current_sos_via_xfer_libraries()

static int svr4_current_sos_via_xfer_libraries | ( | struct svr4_library_list * | list,
|  | const char * | annex
| ) |  |
| static

Definition at line 1269 of file solib-svr4.c.

References current_target, gdb_assert, svr4_parse_libraries(), target_augmented_libraries_svr4_read, TARGET_OBJECT_LIBRARIES_SVR4, and target_read_stralloc().

Referenced by solist_update_incremental(), and svr4_current_sos_direct().

## ◆ svr4_default_sos()

static struct so_list* svr4_default_sos | ( | void |  | ) |
| static

Definition at line 1299 of file solib-svr4.c.

References svr4_info::debug_loader_name, svr4_info::debug_loader_offset, svr4_info::debug_loader_offset_p, get_svr4_info(), lm_info_svr4::l_addr, lm_info_svr4::l_addr_p, so_list::lm_info, so_list::so_name, SO_NAME_MAX_PATH_SIZE, so_list::so_original_name, and XCNEW.

Referenced by svr4_current_sos_direct().

## ◆ svr4_exec_displacement()

static int svr4_exec_displacement | ( | CORE_ADDR * | displacementp | ) |
| static

Definition at line 2588 of file solib-svr4.c.

References _, current_target, exec_bfd, extract_unsigned_integer(), gdbarch_byte_order(), info_verbose, memset(), paddress(), printf_unfiltered(), read_program_header(), read_program_headers_from_bfd(), store_unsigned_integer(), target_auxv_search(), target_gdbarch(), and xfree().

Referenced by svr4_relocate_main_executable().

## ◆ svr4_fetch_link_map_offsets()

static struct link_map_offsets * svr4_fetch_link_map_offsets | ( | void |  | ) |
| static

Definition at line 3152 of file solib-svr4.c.

References solib_svr4_ops::fetch_link_map_offsets, gdb_assert, solib_svr4_data, and target_gdbarch().

Referenced by has_lm_dynamic_from_link_map(), lm_info_read(), open_symbol_file_object(), solib_svr4_r_brk(), solib_svr4_r_ldsomap(), and solib_svr4_r_map().

## ◆ svr4_fetch_objfile_link_map()

CORE_ADDR svr4_fetch_objfile_link_map | ( | struct objfile * | objfile | ) |

Definition at line 1579 of file solib-svr4.c.

References auto_solib_add, get_svr4_info(), lm_info_svr4::lm_addr, so_list::lm_info, svr4_info::main_lm_addr, master_so_list(), so_list::next, so_list::objfile, solib_add(), and symfile_objfile.

Referenced by aarch64_linux_init_abi(), alpha_linux_init_abi(), amd64_linux_init_abi_common(), arm_linux_init_abi(), cris_linux_init_abi(), hppa_linux_init_abi(), i386_linux_init_abi(), ia64_linux_init_abi(), m32r_linux_init_abi(), m68k_linux_init_abi(), mips_linux_init_abi(), nios2_linux_init_abi(), ppc_linux_init_abi(), ppc_linux_spe_context_lookup(), ppcfbsd_init_abi(), s390_gdbarch_init(), sh_linux_init_abi(), sparc32_linux_init_abi(), sparc64_linux_init_abi(), tilegx_linux_init_abi(), and xtensa_linux_init_abi().

## ◆ svr4_free_library_list()

static void svr4_free_library_list | ( | void * | p_list | ) |
| static

Definition at line 1096 of file solib-svr4.c.

References free_so(), and so_list::next.

Referenced by free_solib_list(), svr4_current_sos_direct(), and svr4_parse_libraries().

## ◆ svr4_free_so()

static void svr4_free_so | ( | struct so_list * | so | ) |
| static

Definition at line 1075 of file solib-svr4.c.

References so_list::lm_info.

Referenced by _initialize_svr4_solib().

## ◆ svr4_handle_solib_event()

static void svr4_handle_solib_event | ( | void |  | ) |
| static

Definition at line 1886 of file solib-svr4.c.

References probe_and_action::action, CATCH, current_program_space, svr4_info::debug_base, disable_probes_interface_cleanup(), discard_cleanups(), do_cleanups(), DO_NOTHING, END_CATCH, probe::evaluate_argument(), exception_print(), FULL_RELOAD, gdb_stderr, get_current_frame(), get_current_regcache(), get_svr4_info(), inhibit_section_map_updates(), locate_base(), make_cleanup(), probe_and_action::prob, PROBES_INTERFACE_FAILED, svr4_info::probes_table, regcache_read_pc(), resume_section_map_updates_cleanup(), RETURN_MASK_ERROR, solib_event_probe_action(), solib_event_probe_at(), solist_update_full(), solist_update_incremental(), TRY, UPDATE_OR_RELOAD, and value_as_address().

Referenced by _initialize_svr4_solib().

## ◆ svr4_have_link_map_offsets()

static int svr4_have_link_map_offsets | ( | void |  | ) |
| static

Definition at line 3165 of file solib-svr4.c.

References solib_svr4_ops::fetch_link_map_offsets, solib_svr4_data, and target_gdbarch().

Referenced by locate_base(), and svr4_solib_create_inferior_hook().

## ◆ svr4_ilp32_fetch_link_map_offsets()

struct link_map_offsets* svr4_ilp32_fetch_link_map_offsets | ( | void |  | ) |

Definition at line 3183 of file solib-svr4.c.

References link_map_offsets::l_addr_offset, link_map_offsets::l_ld_offset, link_map_offsets::l_name_offset, link_map_offsets::l_next_offset, link_map_offsets::l_prev_offset, link_map_offsets::link_map_size, link_map_offsets::r_brk_offset, link_map_offsets::r_ldsomap_offset, link_map_offsets::r_map_offset, link_map_offsets::r_version_offset, and link_map_offsets::r_version_size.

Referenced by am33_linux_init_osabi(), amd64_x32_linux_init_abi(), arm_fbsd_init_abi(), arm_linux_init_abi(), arm_netbsd_elf_init_abi(), armobsd_init_abi(), cris_linux_init_abi(), hppa_linux_init_abi(), hppabsd_init_abi(), i386_linux_init_abi(), i386_sol2_init_abi(), i386fbsd_init_abi(), i386gnu_init_abi(), i386nbsdelf_init_abi(), i386nto_init_abi(), i386obsd_init_abi(), init_i386nto_ops(), m32r_linux_init_abi(), m68k_linux_init_abi(), m68kbsd_init_abi(), microblaze_linux_init_abi(), mips_linux_init_abi(), nbsd_ilp32_solib_svr4_fetch_link_map_offsets(), nios2_linux_init_abi(), ppc_linux_init_abi(), ppcfbsd_init_abi(), ppcnbsd_init_abi(), ppcobsd_init_abi(), s390_gdbarch_init(), sh_linux_init_abi(), shnbsd_init_abi(), sparc32_linux_init_abi(), sparc32_sol2_init_abi(), sparc32nbsd_init_abi(), tilegx_linux_init_abi(), vaxnbsd_elf_init_abi(), xtensa_gdbarch_init(), and xtensa_linux_init_abi().

## ◆ svr4_in_dynsym_resolve_code()

int svr4_in_dynsym_resolve_code | ( | CORE_ADDR | pc | ) |

Definition at line 1628 of file solib-svr4.c.

References get_svr4_info(), in_gnu_ifunc_stub(), in_plt_section(), interp_plt_sect_high, svr4_info::interp_plt_sect_low, interp_text_sect_high, and svr4_info::interp_text_sect_low.

Referenced by _initialize_svr4_solib(), mips_linux_in_dynsym_resolve_code(), and powerpc_linux_in_dynsym_resolve_code().

## ◆ svr4_keep_data_in_core()

static int svr4_keep_data_in_core | ( | CORE_ADDR | vaddr,
|  | unsigned long | size
| ) |  |
| static

Definition at line 957 of file solib-svr4.c.

References svr4_info::debug_base, do_cleanups(), get_svr4_info(), lm_info_svr4::l_name, so_list::lm_info, lm_info_read(), locate_base(), make_cleanup(), size, solib_svr4_r_ldsomap(), XCNEW, and xfree().

Referenced by _initialize_svr4_solib().

## ◆ svr4_library_list_start_list()

static void svr4_library_list_start_list | ( | struct gdb_xml_parser * | parser,
|  | const struct gdb_xml_element * | element,
|  | void * | user_data,
|  | VEC(gdb_xml_value_s) * | attributes
| ) |  |
| static

Definition at line 1178 of file solib-svr4.c.

References _, gdb_xml_error(), svr4_library_list::main_lm, gdb_xml_value::value, version, and xml_find_attribute().

## ◆ svr4_lp64_fetch_link_map_offsets()

struct link_map_offsets* svr4_lp64_fetch_link_map_offsets | ( | void |  | ) |

Definition at line 3214 of file solib-svr4.c.

References link_map_offsets::l_addr_offset, link_map_offsets::l_ld_offset, link_map_offsets::l_name_offset, link_map_offsets::l_next_offset, link_map_offsets::l_prev_offset, link_map_offsets::link_map_size, link_map_offsets::r_brk_offset, link_map_offsets::r_ldsomap_offset, link_map_offsets::r_map_offset, link_map_offsets::r_version_offset, and link_map_offsets::r_version_size.

Referenced by aarch64_fbsd_init_abi(), aarch64_linux_init_abi(), alpha_linux_init_abi(), alphanbsd_init_abi(), alphaobsd_init_abi(), amd64_linux_init_abi(), amd64_sol2_init_abi(), amd64fbsd_init_abi(), amd64nbsd_init_abi(), amd64obsd_init_abi(), ia64_linux_init_abi(), mips64obsd_init_abi(), mips_linux_init_abi(), nbsd_lp64_solib_svr4_fetch_link_map_offsets(), ppc_linux_init_abi(), ppcfbsd_init_abi(), s390_gdbarch_init(), sparc64_linux_init_abi(), sparc64_sol2_init_abi(), sparc64fbsd_init_abi(), sparc64nbsd_init_abi(), sparc64obsd_init_abi(), and tilegx_linux_init_abi().

## ◆ svr4_parse_libraries()

static int svr4_parse_libraries | ( | const char * | document,
|  | struct svr4_library_list * | list
| ) |  |
| static

Definition at line 1239 of file solib-svr4.c.

References _, discard_cleanups(), do_cleanups(), gdb_xml_parse_quick(), svr4_library_list::head, make_cleanup(), memset(), svr4_free_library_list(), svr4_library_list_elements, and svr4_library_list::tailp.

Referenced by svr4_current_sos_via_xfer_libraries().

## ◆ svr4_pspace_data_cleanup()

static void svr4_pspace_data_cleanup | ( | struct program_space * | pspace,
|  | void * | arg
| ) |  |
| static

Definition at line 387 of file solib-svr4.c.

References free_probes_table(), free_solib_list(), and xfree().

Referenced by _initialize_svr4_solib().

## ◆ svr4_read_so_list()

static int svr4_read_so_list | ( | CORE_ADDR | lm,
|  | CORE_ADDR | prev_lm,
|  | struct so_list *** | link_ptr_ptr,
|  | int | ignore_first
| ) |  |
| static

Definition at line 1331 of file solib-svr4.c.

References _, get_svr4_info(), lm_info_svr4::l_name, lm_info_svr4::l_next, lm_info_svr4::l_prev, lm_info_svr4::lm_addr, lm_info_read(), svr4_info::main_lm_addr, match_main(), so_list::next, paddress(), safe_strerror(), SO_NAME_MAX_PATH_SIZE, target_gdbarch(), target_read_string(), warning(), XCNEW, and xfree().

Referenced by solist_update_incremental(), and svr4_current_sos_direct().

## ◆ svr4_relocate_main_executable()

static void svr4_relocate_main_executable | ( | void |  | ) |
| static

Definition at line 2956 of file solib-svr4.c.

References exec_bfd, exec_set_section_address(), objfile_relocate(), section_offsets::offsets, svr4_exec_displacement(), and symfile_objfile.

Referenced by svr4_solib_create_inferior_hook().

## ◆ svr4_relocate_section_addresses()

static void svr4_relocate_section_addresses | ( | struct so_list * | so,
|  | struct target_section * | sec
| ) |  |
| static

Definition at line 3100 of file solib-svr4.c.

References target_section::addr, target_section::endaddr, lm_addr_check(), svr4_truncate_ptr(), and target_section::the_bfd_section.

Referenced by _initialize_svr4_solib().

## ◆ svr4_same()

static int svr4_same | ( | struct so_list * | gdb,
|  | struct so_list * | inferior
| ) |  |
| static

Definition at line 166 of file solib-svr4.c.

References svr4_same_1().

Referenced by _initialize_svr4_solib().

## ◆ svr4_same_1()

static int svr4_same_1 | ( | const char * | gdb_so_name,
|  | const char * | inferior_so_name
| ) |  |
| static

Definition at line 141 of file solib-svr4.c.

Referenced by enable_break(), and svr4_same().

## ◆ svr4_solib_create_inferior_hook()

static void svr4_solib_create_inferior_hook | ( | int | from_tty | ) |
| static

Definition at line 3036 of file solib-svr4.c.

References enable_break(), free_probes_table(), free_solib_list(), get_svr4_info(), svr4_have_link_map_offsets(), svr4_relocate_main_executable(), and target_has_execution.

Referenced by _initialize_svr4_solib().

## ◆ svr4_truncate_ptr()

static CORE_ADDR svr4_truncate_ptr | ( | CORE_ADDR | addr | ) |
| static

Definition at line 3088 of file solib-svr4.c.

References gdbarch_ptr_bit(), and target_gdbarch().

Referenced by svr4_relocate_section_addresses().

## ◆ svr4_update_solib_event_breakpoint()

static int svr4_update_solib_event_breakpoint | ( | struct breakpoint * | b,
|  | void * | arg
| ) |  |
| static

Definition at line 2023 of file solib-svr4.c.

References probe_and_action::action, bp_disabled, bp_enabled, bp_shlib_event, disable_breakpoint(), DO_NOTHING, enable_breakpoint(), breakpoint::enable_state, breakpoint::loc, loc, svr4_info::probes_table, solib_event_probe_at(), solib_svr4_pspace_data, stop_on_solib_events, and breakpoint::type.

Referenced by svr4_update_solib_event_breakpoints().

## ◆ svr4_update_solib_event_breakpoints()

static void svr4_update_solib_event_breakpoints | ( | void |  | ) |
| static

Definition at line 2066 of file solib-svr4.c.

References iterate_over_breakpoints(), and svr4_update_solib_event_breakpoint().

Referenced by _initialize_svr4_solib(), and svr4_create_probe_breakpoints().

## Variable Documentation

## ◆ bkpt_names

const char* const bkpt_names[]
| static

Initial value:
=
{
"_start",
"__start",
"main",
NULL
}

Definition at line 74 of file solib-svr4.c.

Referenced by enable_break().

## ◆ main_name_list

const char* const main_name_list[]
| static

Initial value:
=
{
"main_$main",
NULL
}

Definition at line 82 of file solib-svr4.c.

Referenced by match_main().

## ◆ probe_info

const struct probe_info probe_info[]
| static

Initial value:
=
{
{ "init_start", DO_NOTHING },
{ "init_complete", FULL_RELOAD },
{ "map_start", DO_NOTHING },
{ "map_failed", DO_NOTHING },
{ "reloc_complete", UPDATE_OR_RELOAD },
{ "unmap_start", DO_NOTHING },
{ "unmap_complete", FULL_RELOAD },
}
DO_NOTHING
Definition: solib-svr4.c:98
UPDATE_OR_RELOAD
Definition: solib-svr4.c:106
FULL_RELOAD
Definition: solib-svr4.c:101

Definition at line 124 of file solib-svr4.c.

## ◆ solib_break_names

const char* const solib_break_names[]
| static

Initial value:
=
{
"r_debug_state",
"_r_debug_state",
"_dl_debug_state",
"rtld_db_dlactivity",
"__dl_rtld_db_dlactivity",
"_rtld_debug_state",
NULL
}

Definition at line 62 of file solib-svr4.c.

Referenced by enable_break().

## ◆ solib_svr4_data

struct gdbarch_data* solib_svr4_data
| static

Definition at line 3113 of file solib-svr4.c.

Referenced by _initialize_svr4_solib(), set_solib_svr4_fetch_link_map_offsets(), svr4_fetch_link_map_offsets(), and svr4_have_link_map_offsets().

## ◆ solib_svr4_pspace_data

const struct program_space_data* solib_svr4_pspace_data
| static

Definition at line 363 of file solib-svr4.c.

Referenced by _initialize_svr4_solib(), get_svr4_info(), and svr4_update_solib_event_breakpoint().

## ◆ svr4_library_attributes

const struct gdb_xml_attribute svr4_library_attributes[]
| static

Initial value:
=
{
{ "name", GDB_XML_AF_NONE, NULL, NULL },
{ "lm", GDB_XML_AF_NONE, gdb_xml_parse_attr_ulongest, NULL },
{ "l_addr", GDB_XML_AF_NONE, gdb_xml_parse_attr_ulongest, NULL },
{ "l_ld", GDB_XML_AF_NONE, gdb_xml_parse_attr_ulongest, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}
GDB_XML_AF_NONE
Definition: xml-support.h:106
gdb_xml_parse_attr_ulongest
gdb_xml_attribute_handler gdb_xml_parse_attr_ulongest

Definition at line 1199 of file solib-svr4.c.

## ◆ svr4_library_list_attributes

const struct gdb_xml_attribute svr4_library_list_attributes[]
| static

Initial value:
=
{
{ "version", GDB_XML_AF_NONE, NULL, NULL },
{ "main-lm", GDB_XML_AF_OPTIONAL, gdb_xml_parse_attr_ulongest, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}
GDB_XML_AF_NONE
Definition: xml-support.h:106
GDB_XML_AF_OPTIONAL
Definition: xml-support.h:107
gdb_xml_parse_attr_ulongest
gdb_xml_attribute_handler gdb_xml_parse_attr_ulongest

Definition at line 1218 of file solib-svr4.c.

## ◆ svr4_library_list_children

const struct gdb_xml_element svr4_library_list_children[]
| static

Initial value:
=
{
{
"library", svr4_library_attributes, NULL,
GDB_XML_EF_REPEATABLE | GDB_XML_EF_OPTIONAL,
library_list_start_library, NULL
},
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
}
GDB_XML_EF_NONE
Definition: xml-support.h:127
GDB_XML_EF_REPEATABLE
Definition: xml-support.h:129
GDB_XML_EF_OPTIONAL
Definition: xml-support.h:128
svr4_library_attributes
static const struct gdb_xml_attribute svr4_library_attributes[]
Definition: solib-svr4.c:1199
library_list_start_library
static void library_list_start_library(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s) *attributes)
Definition: solib-svr4.c:1145

Definition at line 1208 of file solib-svr4.c.

## ◆ svr4_library_list_elements

const struct gdb_xml_element svr4_library_list_elements[]
| static

Initial value:
=
{
{ "library-list-svr4", svr4_library_list_attributes, svr4_library_list_children,
GDB_XML_EF_NONE, svr4_library_list_start_list, NULL },
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
}
svr4_library_list_attributes
static const struct gdb_xml_attribute svr4_library_list_attributes[]
Definition: solib-svr4.c:1218
GDB_XML_EF_NONE
Definition: xml-support.h:127
svr4_library_list_start_list
static void svr4_library_list_start_list(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s) *attributes)
Definition: solib-svr4.c:1178
svr4_library_list_children
static const struct gdb_xml_element svr4_library_list_children[]
Definition: solib-svr4.c:1208

Definition at line 1225 of file solib-svr4.c.

Referenced by svr4_parse_libraries().

## ◆ svr4_so_ops

struct target_so_ops svr4_so_ops

Definition at line 3242 of file solib-svr4.c.

Referenced by _initialize_svr4_solib(), i386nto_init_abi(), mips_linux_init_abi(), ppc_linux_init_abi(), set_solib_svr4_fetch_link_map_offsets(), set_spu_solib_ops(), spu_bfd_open(), spu_current_sos(), spu_free_so(), spu_lookup_lib_symbol(), spu_relocate_section_addresses(), and spu_solib_create_inferior_hook().