GDB (xrefs)
|
#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 "observable.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 <map>
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 (so_list *solist) |
static void | probes_table_remove_objfile_probes (struct objfile *objfile) |
static void | svr4_iterate_over_objfiles_in_search_order (gdbarch *gdbarch, iterate_over_objfiles_in_search_order_cb_ftype cb, objfile *current_objfile) |
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 std::unique_ptr< 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 bool | svr4_is_default_namespace (const svr4_info *info, CORE_ADDR debug_base) |
static void | free_probes_table (struct svr4_info *info) |
static void | free_solib_lists (svr4_info *info) |
static struct svr4_info * | get_svr4_info (program_space *pspace) |
static int | match_main (const char *) |
static gdb::optional< gdb::byte_vector > | read_program_header (int type, int *p_arch_size, CORE_ADDR *base_addr) |
static gdb::optional< gdb::byte_vector > | find_program_interpreter (void) |
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 | solib_svr4_r_map (CORE_ADDR debug_base) |
static CORE_ADDR | solib_svr4_r_brk (struct svr4_info *info) |
static CORE_ADDR | solib_svr4_r_ldsomap (struct svr4_info *info) |
static CORE_ADDR | solib_svr4_r_next (CORE_ADDR debug_base) |
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_objfile_observer (struct objfile *objfile) |
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 int | svr4_current_sos_via_xfer_libraries (struct svr4_library_list *list, const char *annex) |
static struct so_list * | svr4_default_sos (svr4_info *info) |
static int | svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, struct so_list ***link_ptr_ptr, int ignore_first) |
static void | svr4_current_sos_direct (struct svr4_info *info) |
static so_list * | svr4_collect_probes_sos (svr4_info *info) |
static struct so_list * | svr4_current_sos_1 (svr4_info *info) |
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 int | probes_table_htab_remove_objfile_probes (void **slot, void *info) |
static void | register_solib_event_probe (svr4_info *info, struct objfile *objfile, 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 (svr4_info *info, CORE_ADDR debug_base, CORE_ADDR lm) |
static void | disable_probes_interface (svr4_info *info) |
static void | svr4_handle_solib_event (void) |
static bool | svr4_update_solib_event_breakpoint (struct breakpoint *b) |
static void | svr4_update_solib_event_breakpoints (void) |
static void | svr4_create_probe_breakpoints (svr4_info *info, struct gdbarch *gdbarch, const std::vector< probe * > *probes, struct objfile *objfile) |
static bool | svr4_find_and_create_probe_breakpoints (svr4_info *info, struct gdbarch *gdbarch, struct obj_section *os, bool with_prefix) |
static void | svr4_create_solib_event_breakpoints (svr4_info *info, struct gdbarch *gdbarch, CORE_ADDR address) |
static int | enable_break (struct svr4_info *info, int from_tty) |
static gdb::optional< gdb::byte_vector > | read_program_headers_from_bfd (bfd *abfd) |
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 struct solib_svr4_ops * | get_ops (struct gdbarch *gdbarch) |
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 so_list * | find_solib_for_objfile (struct objfile *objfile) |
static CORE_ADDR | find_debug_base_for_solib (so_list *solib) |
void | _initialize_svr4_solib () |
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 registry< program_space >::key< svr4_info > | solib_svr4_pspace_data |
static const registry< gdbarch >::key< struct solib_svr4_ops > | solib_svr4_data |
const struct target_so_ops | svr4_so_ops |
#define NUM_PROBES ARRAY_SIZE (probe_info) |
Definition at line 141 of file solib-svr4.c.
Referenced by svr4_create_probe_breakpoints(), and svr4_find_and_create_probe_breakpoints().
enum probe_action |
Enumerator | |
---|---|
PROBES_INTERFACE_FAILED | |
DO_NOTHING | |
FULL_RELOAD | |
UPDATE_OR_RELOAD |
Definition at line 96 of file solib-svr4.c.
void _initialize_svr4_solib | ( | ) |
Definition at line 3479 of file solib-svr4.c.
Referenced by initialize_all_files().
|
static |
Definition at line 1952 of file solib-svr4.c.
References free_probes_table(), and free_solib_lists().
Referenced by svr4_handle_solib_event().
|
static |
Definition at line 693 of file solib-svr4.c.
References builtin_type::builtin_data_ptr, builtin_type(), current_program_space, program_space::exec_bfd(), extract_typed_address(), gdb_bfd_scan_elf_dyntag(), type::length(), lookup_minimal_symbol(), bound_minimal_symbol::minsym, scan_dyntag_auxv(), svr4_have_link_map_offsets(), program_space::symfile_object_file, target_gdbarch(), target_read_memory(), and bound_minimal_symbol::value_address().
Referenced by open_symbol_file_object(), svr4_current_sos_direct(), svr4_handle_solib_event(), svr4_iterate_over_objfiles_in_search_order(), and svr4_keep_data_in_core().
|
static |
Definition at line 2336 of file solib-svr4.c.
References auto_solib_add, bkpt_names, current_inferior(), current_program_space, exec_entry_point(), find_pc_section(), find_program_interpreter(), gdb_bfd_lookup_symbol(), gdbarch_addr_bit(), gdbarch_addr_bits_remove(), gdbarch_convert_from_func_ptr_addr(), get_thread_arch_regcache(), inferior_ptid, lm_addr_check(), lookup_minimal_symbol(), bound_minimal_symbol::minsym, regcache_read_pc(), solib_add(), solib_bfd_open(), solib_break_names, solib_svr4_r_brk(), solib_svr4_r_map(), program_space::solibs(), svr4_create_solib_event_breakpoints(), svr4_same_1(), program_space::symfile_object_file, target_auxv_search(), target_bfd_reopen(), target_gdbarch(), and bound_minimal_symbol::value_address().
|
static |
Definition at line 1703 of file solib-svr4.c.
References probe_and_action::address.
Referenced by register_solib_event_probe().
|
static |
Definition at line 1654 of file solib-svr4.c.
References gdbarch_addr_bits_remove(), gdbarch_convert_from_func_ptr_addr(), and target_gdbarch().
Referenced by enable_break().
|
static |
Definition at line 3373 of file solib-svr4.c.
References current_program_space, get_svr4_info(), so_list::next, and svr4_same().
Referenced by svr4_iterate_over_objfiles_in_search_order().
|
static |
Definition at line 589 of file solib-svr4.c.
References current_program_space, program_space::exec_bfd(), and read_program_header().
Referenced by enable_break().
Definition at line 3348 of file solib-svr4.c.
References current_program_space, objfile::separate_debug_objfile_backlink, and program_space::solibs().
Referenced by svr4_iterate_over_objfiles_in_search_order().
|
static |
Definition at line 404 of file solib-svr4.c.
Referenced by disable_probes_interface(), and svr4_solib_create_inferior_hook().
|
static |
Definition at line 412 of file solib-svr4.c.
References svr4_free_library_list().
Referenced by disable_probes_interface(), svr4_current_sos_direct(), svr4_solib_create_inferior_hook(), and svr4_info::~svr4_info().
|
static |
Definition at line 3229 of file solib-svr4.c.
References registry< T >::get(), and solib_svr4_data.
Referenced by set_solib_svr4_fetch_link_map_offsets(), svr4_fetch_link_map_offsets(), and svr4_have_link_map_offsets().
|
static |
Definition at line 430 of file solib-svr4.c.
References registry< T >::get(), and solib_svr4_pspace_data.
Referenced by find_debug_base_for_solib(), open_symbol_file_object(), probes_table_htab_remove_objfile_probes(), probes_table_remove_objfile_probes(), svr4_clear_solib(), svr4_current_sos(), svr4_fetch_objfile_link_map(), svr4_handle_solib_event(), svr4_in_dynsym_resolve_code(), svr4_keep_data_in_core(), and svr4_solib_create_inferior_hook().
|
static |
Definition at line 223 of file solib-svr4.c.
References link_map_offsets::l_ld_offset, and svr4_fetch_link_map_offsets().
Referenced by lm_addr_check().
|
static |
Definition at line 1692 of file solib-svr4.c.
References probe_and_action::address.
Referenced by register_solib_event_probe().
|
static |
Definition at line 231 of file solib-svr4.c.
References gdb_printf(), has_lm_dynamic_from_link_map(), 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(), so_list::so_name, and target_gdbarch().
Referenced by enable_break(), and svr4_relocate_section_addresses().
|
static |
Definition at line 191 of file solib-svr4.c.
References builtin_type::builtin_data_ptr, builtin_type(), extract_typed_address(), 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, lm_addr(), paddress(), svr4_fetch_link_map_offsets(), target_gdbarch(), and target_read_memory().
Referenced by svr4_keep_data_in_core(), and svr4_read_so_list().
|
static |
Definition at line 1621 of file solib-svr4.c.
References main_name_list.
Referenced by svr4_read_so_list().
|
static |
Definition at line 891 of file solib-svr4.c.
References builtin_type::builtin_data_ptr, builtin_type(), current_program_space, elf_locate_base(), extract_typed_address(), get_svr4_info(), link_map_offsets::l_name_offset, type::length(), query(), read_memory(), SO_NAME_MAX_PATH_SIZE, solib_svr4_r_map(), svr4_fetch_link_map_offsets(), symbol_file_add_main(), program_space::symfile_object_file, SYMFILE_VERBOSE, target_gdbarch(), and target_read_string().
|
static |
Definition at line 1714 of file solib-svr4.c.
References get_svr4_info(), probe_and_action::objfile, svr4_info::probes_table, and objfile::pspace.
Referenced by probes_table_remove_objfile_probes().
|
static |
Definition at line 1729 of file solib-svr4.c.
References get_svr4_info(), probes_table_htab_remove_objfile_probes(), and objfile::pspace.
Referenced by svr4_free_objfile_observer().
|
static |
Definition at line 456 of file solib-svr4.c.
References extract_unsigned_integer(), gdbarch_byte_order(), target_auxv_search(), target_gdbarch(), and target_read_memory().
Referenced by find_program_interpreter(), scan_dyntag_auxv(), and svr4_exec_displacement().
|
static |
Definition at line 2627 of file solib-svr4.c.
References SEEK_SET.
Referenced by svr4_exec_displacement().
|
static |
Definition at line 1741 of file solib-svr4.c.
References probe_and_action::action, probe_and_action::address, equal_probe_and_action(), hash_probe_and_action(), probe_and_action::objfile, probe_and_action::prob, xcalloc(), and xfree().
Referenced by svr4_create_probe_breakpoints().
|
static |
Definition at line 623 of file solib-svr4.c.
References extract_unsigned_integer(), gdbarch_byte_order(), read_program_header(), and target_gdbarch().
Referenced by elf_locate_base().
void set_solib_svr4_fetch_link_map_offsets | ( | struct gdbarch * | gdbarch, |
struct link_map_offsets *(*)(void) | flmo ) |
Definition at line 3241 of file solib-svr4.c.
References solib_svr4_ops::fetch_link_map_offsets, get_ops(), set_gdbarch_iterate_over_objfiles_in_search_order(), set_gdbarch_so_ops(), svr4_iterate_over_objfiles_in_search_order(), 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(), arc_linux_init_osabi(), arm_fbsd_init_abi(), arm_linux_init_abi(), arm_netbsd_elf_init_abi(), armobsd_init_abi(), cris_linux_init_abi(), csky_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(), loongarch_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(), or1k_linux_init_abi(), ppc_linux_init_abi(), ppcfbsd_init_abi(), ppcnbsd_init_abi(), ppcobsd_init_abi(), riscv_fbsd_init_abi(), riscv_linux_init_abi(), s390_linux_init_abi_31(), s390_linux_init_abi_64(), 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().
|
static |
Definition at line 1790 of file solib-svr4.c.
References probe_and_action::action, DO_NOTHING, exception_print(), FULL_RELOAD, gdb_stderr, probe::get_argument_count(), get_current_frame(), get_frame_arch(), probe_and_action::prob, PROBES_INTERFACE_FAILED, and UPDATE_OR_RELOAD.
Referenced by svr4_handle_solib_event().
|
static |
Definition at line 1772 of file solib-svr4.c.
References probe_and_action::address.
Referenced by svr4_handle_solib_event(), and svr4_update_solib_event_breakpoint().
|
static |
Definition at line 789 of file solib-svr4.c.
References builtin_type::builtin_data_ptr, builtin_type(), link_map_offsets::r_brk_offset, read_memory_typed_address(), svr4_fetch_link_map_offsets(), and target_gdbarch().
Referenced by enable_break().
|
static |
Definition at line 802 of file solib-svr4.c.
References builtin_type::builtin_data_ptr, builtin_type(), exception_print(), gdb_stderr, 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(), svr4_fetch_link_map_offsets(), target_gdbarch(), type_byte_order(), and version.
Referenced by svr4_current_sos_direct(), and svr4_keep_data_in_core().
|
static |
Definition at line 767 of file solib-svr4.c.
References builtin_type::builtin_data_ptr, builtin_type(), exception_print(), gdb_stderr, link_map_offsets::r_map_offset, read_memory_typed_address(), svr4_fetch_link_map_offsets(), and target_gdbarch().
Referenced by enable_break(), open_symbol_file_object(), and svr4_current_sos_direct().
|
static |
Definition at line 832 of file solib-svr4.c.
References builtin_type::builtin_data_ptr, builtin_type(), exception_print(), gdb_stderr, link_map_offsets::r_next_offset, link_map_offsets::r_version_offset, link_map_offsets::r_version_size, read_memory_typed_address(), read_memory_unsigned_integer(), svr4_fetch_link_map_offsets(), target_gdbarch(), type_byte_order(), and version.
Referenced by svr4_current_sos_direct().
|
static |
Definition at line 1836 of file solib-svr4.c.
References svr4_current_sos_direct().
Referenced by svr4_handle_solib_event().
|
static |
Definition at line 1849 of file solib-svr4.c.
References lm_info_svr4::lm_addr, so_list::lm_info, so_list::next, svr4_library_list::solib_lists, svr4_current_sos_via_xfer_libraries(), svr4_is_default_namespace(), svr4_read_so_list(), and target_augmented_libraries_svr4_read().
Referenced by svr4_handle_solib_event().
|
static |
Definition at line 984 of file solib-svr4.c.
References lm_info_svr4::l_addr_p, and so_list::lm_info.
|
static |
Definition at line 3167 of file solib-svr4.c.
References current_program_space, get_svr4_info(), and xfree().
Definition at line 1448 of file solib-svr4.c.
References so_list::next, and svr4_copy_library_list().
Referenced by svr4_current_sos_1().
Definition at line 1009 of file solib-svr4.c.
References so_list::lm_info, and so_list::next.
Referenced by svr4_collect_probes_sos().
|
static |
Definition at line 2163 of file solib-svr4.c.
References probe_info::action, probe_and_action::action, probe_and_action::address, create_solib_event_breakpoint(), name, NUM_PROBES, paddress(), register_solib_event_probe(), solib_debug_printf, and svr4_update_solib_event_breakpoints().
Referenced by svr4_find_and_create_probe_breakpoints().
|
static |
Definition at line 2288 of file solib-svr4.c.
References create_solib_event_breakpoint(), find_pc_section(), paddress(), solib_debug_printf, and svr4_find_and_create_probe_breakpoints().
Referenced by enable_break().
|
static |
Definition at line 1510 of file solib-svr4.c.
References address_in_mem_range(), current_program_space, free_so(), gdbarch_vsyscall_range(), get_svr4_info(), lm_info_svr4::l_ld, mem_range::length, so_list::lm_info, so_list::next, svr4_current_sos_1(), and target_gdbarch().
Definition at line 1483 of file solib-svr4.c.
References svr4_collect_probes_sos(), svr4_current_sos_direct(), and svr4_default_sos().
Referenced by svr4_current_sos().
|
static |
Definition at line 1345 of file solib-svr4.c.
References current_program_space, elf_locate_base(), program_space::exec_bfd(), free_solib_lists(), svr4_library_list::main_lm, svr4_library_list::solib_lists, solib_svr4_r_ldsomap(), solib_svr4_r_map(), solib_svr4_r_next(), svr4_current_sos_via_xfer_libraries(), and svr4_read_so_list().
Referenced by solist_update_full(), and svr4_current_sos_1().
|
static |
Definition at line 1227 of file solib-svr4.c.
Referenced by solist_update_incremental(), and svr4_current_sos_direct().
Definition at line 1239 of file solib-svr4.c.
References lm_info_svr4::l_addr, lm_info_svr4::l_addr_inferior, lm_info_svr4::l_addr_p, so_list::lm_info, so_list::so_name, SO_NAME_MAX_PATH_SIZE, and so_list::so_original_name.
Referenced by svr4_current_sos_1().
|
static |
Definition at line 2686 of file solib-svr4.c.
References current_program_space, program_space::exec_bfd(), extract_unsigned_integer(), gdb_printf(), gdbarch_byte_order(), info_verbose, paddress(), read_program_header(), read_program_headers_from_bfd(), store_unsigned_integer(), target_auxv_search(), and target_gdbarch().
Referenced by svr4_relocate_main_executable().
|
static |
Definition at line 3257 of file solib-svr4.c.
References solib_svr4_ops::fetch_link_map_offsets, get_ops(), 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(), solib_svr4_r_map(), and solib_svr4_r_next().
CORE_ADDR svr4_fetch_objfile_link_map | ( | struct objfile * | objfile | ) |
Definition at line 1590 of file solib-svr4.c.
References auto_solib_add, current_program_space, get_svr4_info(), lm_info_svr4::lm_addr, objfile::pspace, solib_add(), program_space::solibs(), and program_space::symfile_object_file.
Referenced by aarch64_fbsd_init_abi(), aarch64_linux_init_abi(), alpha_linux_init_abi(), amd64_linux_init_abi_common(), amd64fbsd_init_abi(), arc_linux_init_osabi(), arm_fbsd_init_abi(), arm_linux_init_abi(), cris_linux_init_abi(), csky_linux_init_abi(), hppa_linux_init_abi(), i386_linux_init_abi(), i386fbsd_init_abi(), ia64_linux_init_abi(), loongarch_linux_init_abi(), m32r_linux_init_abi(), m68k_linux_init_abi(), mips_linux_init_abi(), nios2_linux_init_abi(), or1k_linux_init_abi(), ppc_linux_init_abi(), ppcfbsd_init_abi(), riscv_fbsd_init_abi(), riscv_linux_init_abi(), s390_linux_init_abi_any(), sh_linux_init_abi(), sparc32_linux_init_abi(), sparc64_linux_init_abi(), tilegx_linux_init_abi(), and xtensa_linux_init_abi().
|
static |
Definition at line 2190 of file solib-svr4.c.
References probe_and_action::action, DO_NOTHING, exception_print(), find_probes_in_objfile(), gdb_stderr, name, probe_info::name, NUM_PROBES, size, solib_debug_printf, SOLIB_SCOPED_DEBUG_START_END, and svr4_create_probe_breakpoints().
Referenced by svr4_create_solib_event_breakpoints().
|
static |
Definition at line 995 of file solib-svr4.c.
References free_so(), and so_list::next.
Referenced by free_solib_lists().
|
static |
Definition at line 966 of file solib-svr4.c.
References probes_table_remove_objfile_probes().
|
static |
Definition at line 974 of file solib-svr4.c.
References so_list::lm_info.
|
static |
Definition at line 1966 of file solib-svr4.c.
References probe_and_action::action, current_program_space, disable_probes_interface(), DO_NOTHING, elf_locate_base(), probe::evaluate_argument(), exception_print(), FULL_RELOAD, gdb_stderr, get_current_frame(), get_current_regcache(), get_svr4_info(), inhibit_section_map_updates(), probe_and_action::prob, PROBES_INTERFACE_FAILED, regcache_read_pc(), solib_event_probe_action(), solib_event_probe_at(), solist_update_full(), solist_update_incremental(), UPDATE_OR_RELOAD, value_as_address(), and value_as_long().
|
static |
Definition at line 3268 of file solib-svr4.c.
References solib_svr4_ops::fetch_link_map_offsets, get_ops(), and target_gdbarch().
Referenced by elf_locate_base(), and svr4_solib_create_inferior_hook().
struct link_map_offsets * svr4_ilp32_fetch_link_map_offsets | ( | void | ) |
Definition at line 3284 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_next_offset, link_map_offsets::r_version_offset, and link_map_offsets::r_version_size.
Referenced by arm_fbsd_init_abi(), arm_netbsd_elf_init_abi(), armobsd_init_abi(), hppabsd_init_abi(), i386_sol2_init_abi(), i386fbsd_init_abi(), i386gnu_init_abi(), i386nbsdelf_init_abi(), i386nto_init_abi(), i386obsd_init_abi(), init_i386nto_ops(), m68kbsd_init_abi(), ppcfbsd_init_abi(), ppcnbsd_init_abi(), ppcobsd_init_abi(), riscv_fbsd_init_abi(), shnbsd_init_abi(), sparc32_sol2_init_abi(), sparc32nbsd_init_abi(), vaxnbsd_elf_init_abi(), and xtensa_gdbarch_init().
int svr4_in_dynsym_resolve_code | ( | CORE_ADDR | pc | ) |
Definition at line 1638 of file solib-svr4.c.
References current_program_space, get_svr4_info(), in_gnu_ifunc_stub(), in_plt_section(), interp_plt_sect_high, and interp_text_sect_high.
Referenced by mips_linux_in_dynsym_resolve_code(), and powerpc_linux_in_dynsym_resolve_code().
|
static |
Definition at line 396 of file solib-svr4.c.
Referenced by solist_update_incremental().
|
static |
Definition at line 3401 of file solib-svr4.c.
References current_program_space, elf_locate_base(), program_space::exec_bfd(), find_debug_base_for_solib(), find_solib_for_objfile(), gdb_bfd_scan_elf_dyntag(), objfile::obfd, program_space::objfiles(), objfile::separate_debug_objfile_backlink, and program_space::symfile_object_file.
Referenced by set_solib_svr4_fetch_link_map_offsets().
|
static |
Definition at line 866 of file solib-svr4.c.
References current_program_space, elf_locate_base(), get_svr4_info(), lm_info_read(), size, and solib_svr4_r_ldsomap().
struct link_map_offsets * svr4_lp64_fetch_link_map_offsets | ( | void | ) |
Definition at line 3316 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_next_offset, link_map_offsets::r_version_offset, and link_map_offsets::r_version_size.
Referenced by aarch64_fbsd_init_abi(), alphanbsd_init_abi(), alphaobsd_init_abi(), amd64_sol2_init_abi(), amd64fbsd_init_abi(), amd64nbsd_init_abi(), amd64obsd_init_abi(), mips64obsd_init_abi(), ppcfbsd_init_abi(), riscv_fbsd_init_abi(), sparc64_sol2_init_abi(), sparc64fbsd_init_abi(), sparc64nbsd_init_abi(), and sparc64obsd_init_abi().
|
static |
Definition at line 1270 of file solib-svr4.c.
References lm_info_svr4::l_name, lm_info_svr4::l_next, lm_info_svr4::l_prev, lm_info_svr4::lm_addr, lm_info_read(), match_main(), so_list::next, paddress(), SO_NAME_MAX_PATH_SIZE, target_gdbarch(), and target_read_string().
Referenced by solist_update_incremental(), and svr4_current_sos_direct().
|
static |
Definition at line 3067 of file solib-svr4.c.
References current_program_space, program_space::exec_bfd(), exec_set_section_address(), objfile_relocate(), objfile::section_offsets, svr4_exec_displacement(), and program_space::symfile_object_file.
Referenced by svr4_solib_create_inferior_hook().
|
static |
Definition at line 3205 of file solib-svr4.c.
References target_section::addr, target_section::endaddr, lm_addr_check(), svr4_truncate_ptr(), and target_section::the_bfd_section.
Definition at line 176 of file solib-svr4.c.
References lm_info_svr4::l_addr_inferior, and svr4_same_1().
Referenced by find_debug_base_for_solib().
|
static |
Definition at line 147 of file solib-svr4.c.
Referenced by enable_break(), and svr4_same().
|
static |
Definition at line 3141 of file solib-svr4.c.
References current_program_space, enable_break(), free_probes_table(), free_solib_lists(), get_svr4_info(), svr4_have_link_map_offsets(), svr4_relocate_main_executable(), and target_has_execution().
|
static |
Definition at line 3193 of file solib-svr4.c.
References gdbarch_ptr_bit(), and target_gdbarch().
Referenced by svr4_relocate_section_addresses().
|
static |
Definition at line 2111 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, registry< T >::get(), loc, breakpoint::locations(), solib_event_probe_at(), solib_svr4_pspace_data, stop_on_solib_events, and breakpoint::type.
Referenced by svr4_update_solib_event_breakpoints().
|
static |
Definition at line 2151 of file solib-svr4.c.
References all_breakpoints_safe(), bp, and svr4_update_solib_event_breakpoint().
Referenced by svr4_create_probe_breakpoints().
|
static |
Definition at line 80 of file solib-svr4.c.
Referenced by enable_break().
|
static |
Definition at line 88 of file solib-svr4.c.
Referenced by match_main().
|
static |
Definition at line 130 of file solib-svr4.c.
|
static |
Definition at line 68 of file solib-svr4.c.
Referenced by enable_break().
|
static |
Definition at line 3224 of file solib-svr4.c.
Referenced by get_ops().
|
static |
Definition at line 391 of file solib-svr4.c.
Referenced by get_svr4_info(), and svr4_update_solib_event_breakpoint().
const struct target_so_ops svr4_so_ops |
Definition at line 3459 of file solib-svr4.c.
Referenced by i386nto_init_abi(), mips_linux_init_abi(), ppc_linux_init_abi(), rocm_solib_bfd_open(), rocm_solib_create_inferior_hook(), rocm_solib_current_sos(), rocm_solib_handle_event(), rocm_solib_relocate_section_addresses(), rocm_update_solib_list(), and set_solib_svr4_fetch_link_map_offsets().