|
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 "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 |
| #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().
| enum probe_action |
| Enumerator | |
|---|---|
| PROBES_INTERFACE_FAILED | |
| DO_NOTHING | |
| FULL_RELOAD | |
| UPDATE_OR_RELOAD | |
Definition at line 90 of file solib-svr4.c.
| 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.
|
static |
Definition at line 2186 of file solib-svr4.c.
Referenced by enable_break().
|
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().
|
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().
|
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().
|
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().
|
static |
Definition at line 1690 of file solib-svr4.c.
References probe_and_action::address.
Referenced by register_solib_event_probe().
|
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().
|
static |
Definition at line 572 of file solib-svr4.c.
References exec_bfd, read_program_header(), and xmalloc().
Referenced by enable_break().
|
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().
|
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().
|
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().
|
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().
|
static |
Definition at line 1679 of file solib-svr4.c.
References probe_and_action::address.
Referenced by register_solib_event_probe().
|
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().
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().
|
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().
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().
|
static |
Definition at line 1611 of file solib-svr4.c.
References main_name_list.
Referenced by svr4_read_so_list().
|
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().
|
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().
|
static |
Definition at line 2522 of file solib-svr4.c.
References SEEK_SET, xfree(), and xmalloc().
Referenced by svr4_exec_displacement().
|
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().
|
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().
|
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().
| 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().
|
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().
|
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().
|
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().
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().
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().
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().
|
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().
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().
|
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().
|
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().
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().
|
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().
|
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().
|
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().
|
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().
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().
|
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().
|
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().
|
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().
|
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().
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().
|
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().
|
static |
Definition at line 1075 of file solib-svr4.c.
References so_list::lm_info.
Referenced by _initialize_svr4_solib().
|
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().
|
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().
| 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().
| 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().
|
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().
|
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().
| 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().
|
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().
|
static |
Definition at line 387 of file solib-svr4.c.
References free_probes_table(), free_solib_list(), and xfree().
Referenced by _initialize_svr4_solib().
|
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().
|
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().
|
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().
Definition at line 166 of file solib-svr4.c.
References svr4_same_1().
Referenced by _initialize_svr4_solib().
|
static |
Definition at line 141 of file solib-svr4.c.
Referenced by enable_break(), and svr4_same().
|
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().
Definition at line 3088 of file solib-svr4.c.
References gdbarch_ptr_bit(), and target_gdbarch().
Referenced by svr4_relocate_section_addresses().
|
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().
|
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().
|
static |
Definition at line 74 of file solib-svr4.c.
Referenced by enable_break().
|
static |
Definition at line 82 of file solib-svr4.c.
Referenced by match_main().
|
static |
Definition at line 124 of file solib-svr4.c.
|
static |
Definition at line 62 of file solib-svr4.c.
Referenced by enable_break().
|
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().
|
static |
Definition at line 363 of file solib-svr4.c.
Referenced by _initialize_svr4_solib(), get_svr4_info(), and svr4_update_solib_event_breakpoint().
|
static |
Definition at line 1199 of file solib-svr4.c.
|
static |
Definition at line 1218 of file solib-svr4.c.
|
static |
Definition at line 1208 of file solib-svr4.c.
|
static |
Definition at line 1225 of file solib-svr4.c.
Referenced by svr4_parse_libraries().
| 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().
1.8.14