GDB (xrefs)
|
#include "defs.h"
#include "ia64-tdep.h"
#include "ia64-hpux-tdep.h"
#include "solib-ia64-hpux.h"
#include "solist.h"
#include "solib.h"
#include "target.h"
#include "gdbtypes.h"
#include "inferior.h"
#include "gdbcore.h"
#include "regcache.h"
#include "opcode/ia64.h"
#include "symfile.h"
#include "objfiles.h"
#include "elf-bfd.h"
#include "exceptions.h"
#include <sys/ttrace.h>
#include <dlfcn.h>
#include <elf.h>
#include <service_mgr.h>
#include <crt0.h>
Go to the source code of this file.
#define _LOAD_MODULE_DESC_EXT |
Definition at line 39 of file solib-ia64-hpux.c.
#define IA64_R32_PSEUDO_REGNUM (IA64_NAT127_REGNUM + 2) |
Definition at line 56 of file solib-ia64-hpux.c.
Referenced by ia64_hpux_handle_dld_breakpoint_1(), and ia64_hpux_handle_load_event().
void _initialize_solib_ia64_hpux | ( | void | ) |
Definition at line 699 of file solib-ia64-hpux.c.
References ia64_hpux_so_ops, and ia64_hpux_target_so_ops().
static int ia64_hpux_add_so_from_dld_info | ( | struct dld_info | info, |
int | so_index | ||
) | [static] |
Definition at line 498 of file solib-ia64-hpux.c.
References _, ia64_hpux_read_tgt_mem(), dld_info::load_map, new_so_list(), so_list::next, so_list_head, and warning().
Referenced by ia64_hpux_solib_add_after_attach().
static int ia64_hpux_at_dld_breakpoint_1_p | ( | ptid_t | ptid | ) | [static] |
Definition at line 118 of file solib-ia64-hpux.c.
References breakpoint_inserted_here_p(), get_regcache_arch(), get_regcache_aspace(), get_thread_regcache(), internal_error(), gdb::printing::long, paddress(), read_memory(), and regcache_read_pc().
Referenced by ia64_hpux_at_dld_breakpoint_p().
int ia64_hpux_at_dld_breakpoint_p | ( | ptid_t | ptid | ) |
Definition at line 165 of file solib-ia64-hpux.c.
References _, ia64_hpux_at_dld_breakpoint_1_p(), inferior_ptid, gdb_exception::message, gdb_exception::reason, RETURN_MASK_ALL, TRY_CATCH, and warning().
Referenced by ia64_hpux_wait().
static void ia64_hpux_clear_solib | ( | void | ) | [static] |
Definition at line 380 of file solib-ia64-hpux.c.
References ia64_hpux_free_so(), so_list::next, so_list_head, and xfree().
Referenced by ia64_hpux_target_so_ops().
static struct so_list* ia64_hpux_current_sos | ( | void | ) | [static, read] |
Definition at line 615 of file solib-ia64-hpux.c.
References so_list::lm_info, lm_info::module_desc, new_so_list(), so_list::next, and so_list::so_name.
Referenced by ia64_hpux_target_so_ops().
static void ia64_hpux_find_start_vma | ( | bfd * | abfd, |
CORE_ADDR * | text_start, | ||
CORE_ADDR * | data_start | ||
) | [static] |
Definition at line 298 of file solib-ia64-hpux.c.
Referenced by ia64_hpux_relocate_section_addresses().
static void ia64_hpux_free_so | ( | struct so_list * | so | ) | [static] |
Definition at line 372 of file solib-ia64-hpux.c.
References so_list::lm_info, and xfree().
Referenced by ia64_hpux_clear_solib(), and ia64_hpux_target_so_ops().
static CORE_ADDR ia64_hpux_get_load_info_addr | ( | void | ) | [static] |
Definition at line 398 of file solib-ia64-hpux.c.
References _, builtin_type::builtin_data_ptr, builtin_type(), inferior_ptid, perror_with_name(), ptid_get_pid(), read_memory_typed_address(), exsummary::status, and target_gdbarch().
Referenced by ia64_hpux_solib_create_inferior_hook().
Definition at line 656 of file solib-ia64-hpux.c.
References so_list::lm_info, lm_info::module_desc, so_list::next, and so_list_head.
Referenced by ia64_hpux_xfer_solib_got().
void ia64_hpux_handle_dld_breakpoint | ( | ptid_t | ptid | ) |
Definition at line 279 of file solib-ia64-hpux.c.
References _, ia64_hpux_handle_dld_breakpoint_1(), inferior_ptid, gdb_exception::message, gdb_exception::reason, RETURN_MASK_ALL, TRY_CATCH, and warning().
Referenced by ia64_hpux_wait().
static void ia64_hpux_handle_dld_breakpoint_1 | ( | ptid_t | ptid | ) | [static] |
Definition at line 245 of file solib-ia64-hpux.c.
References auto_solib_add, current_target, get_thread_regcache(), ia64_hpux_handle_load_event(), ia64_hpux_move_pc_to_next_bundle(), IA64_R32_PSEUDO_REGNUM, regcache_cooked_read_unsigned(), solib_add(), and ULONGEST.
Referenced by ia64_hpux_handle_dld_breakpoint().
static void ia64_hpux_handle_load_event | ( | struct regcache * | regcache | ) | [static] |
Definition at line 187 of file solib-ia64-hpux.c.
References _, IA64_R32_PSEUDO_REGNUM, new_so_list(), so_list::next, pulongest(), read_memory(), read_memory_string(), regcache_cooked_read_unsigned(), so_list_head, ULONGEST, and warning().
Referenced by ia64_hpux_handle_dld_breakpoint_1().
static int ia64_hpux_in_dynsym_resolve_code | ( | CORE_ADDR | pc | ) | [static] |
Definition at line 647 of file solib-ia64-hpux.c.
Referenced by ia64_hpux_target_so_ops().
static void ia64_hpux_move_pc_to_next_bundle | ( | struct regcache * | regcache | ) | [static] |
Definition at line 229 of file solib-ia64-hpux.c.
References ia64_write_pc(), and regcache_read_pc().
Referenced by ia64_hpux_handle_dld_breakpoint_1().
static int ia64_hpux_open_symbol_file_object | ( | void * | from_ttyp | ) | [static] |
Definition at line 639 of file solib-ia64-hpux.c.
Referenced by ia64_hpux_target_so_ops().
static void ia64_hpux_read_dynamic_info | ( | struct gdbarch * | gdbarch, |
bfd * | abfd, | ||
asection * | dyn_sect, | ||
struct dld_info * | info | ||
) | [static] |
Definition at line 428 of file solib-ia64-hpux.c.
References _, dld_info::dld_flags, error(), dld_info::load_map, memset(), paddress(), and target_read_memory().
Referenced by ia64_hpux_solib_add_after_attach().
static void* ia64_hpux_read_tgt_mem | ( | void * | buffer, |
uint64_t | ptr, | ||
size_t | bufsiz, | ||
int | ident | ||
) | [static] |
Definition at line 477 of file solib-ia64-hpux.c.
References target_read_memory().
Referenced by ia64_hpux_add_so_from_dld_info().
static void ia64_hpux_relocate_section_addresses | ( | struct so_list * | so, |
struct target_section * | sec | ||
) | [static] |
Definition at line 329 of file solib-ia64-hpux.c.
References target_section::addr, so_list::addr_high, so_list::addr_low, lm_info::data_start, target_section::endaddr, ia64_hpux_find_start_vma(), so_list::lm_info, lm_info::module_desc, offset, lm_info::text_start, and target_section::the_bfd_section.
Referenced by ia64_hpux_target_so_ops().
static void ia64_hpux_solib_add_after_attach | ( | void | ) | [static] |
Definition at line 535 of file solib-ia64-hpux.c.
References _, so_list::abfd, auto_solib_add, current_target, dld_info::dld_flags, get_objfile_arch(), ia64_hpux_add_so_from_dld_info(), ia64_hpux_read_dynamic_info(), solib_add(), symfile_objfile, and warning().
Referenced by ia64_hpux_solib_create_inferior_hook().
static void ia64_hpux_solib_create_inferior_hook | ( | int | from_tty | ) | [static] |
Definition at line 578 of file solib-ia64-hpux.c.
References current_inferior(), ia64_hpux_get_load_info_addr(), ia64_hpux_solib_add_after_attach(), read_memory(), and write_memory().
Referenced by ia64_hpux_target_so_ops().
static void ia64_hpux_special_symbol_handling | ( | void | ) | [static] |
Definition at line 607 of file solib-ia64-hpux.c.
Referenced by ia64_hpux_target_so_ops().
static struct target_so_ops* ia64_hpux_target_so_ops | ( | void | ) | [static, read] |
Definition at line 678 of file solib-ia64-hpux.c.
References target_so_ops::bfd_open, target_so_ops::clear_solib, target_so_ops::current_sos, target_so_ops::free_so, ia64_hpux_clear_solib(), ia64_hpux_current_sos(), ia64_hpux_free_so(), ia64_hpux_in_dynsym_resolve_code(), ia64_hpux_open_symbol_file_object(), ia64_hpux_relocate_section_addresses(), ia64_hpux_solib_create_inferior_hook(), ia64_hpux_special_symbol_handling(), target_so_ops::in_dynsym_resolve_code, target_so_ops::open_symbol_file_object, target_so_ops::relocate_section_addresses, solib_bfd_open(), target_so_ops::solib_create_inferior_hook, target_so_ops::special_symbol_handling, and XZALLOC.
Referenced by _initialize_solib_ia64_hpux().
static struct so_list* new_so_list | ( | char * | so_name, |
struct load_module_desc | module_desc | ||
) | [static, read] |
Definition at line 85 of file solib-ia64-hpux.c.
References so_list::lm_info, lm_info::module_desc, so_list::so_name, SO_NAME_MAX_PATH_SIZE, so_list::so_original_name, and XZALLOC.
Referenced by ia64_hpux_add_so_from_dld_info(), ia64_hpux_current_sos(), and ia64_hpux_handle_load_event().
struct so_list* so_list_head = NULL [static] |
Definition at line 79 of file solib-ia64-hpux.c.
Referenced by ia64_hpux_add_so_from_dld_info(), ia64_hpux_clear_solib(), ia64_hpux_get_solib_linkage_addr(), and ia64_hpux_handle_load_event().