GDB (xrefs)
|
#include "defs.h"
#include "gdbcore.h"
#include "osabi.h"
#include "target.h"
#include "objfiles.h"
#include "solib-svr4.h"
#include "glibc-tdep.h"
#include "frame-unwind.h"
#include "trad-frame.h"
#include "dwarf2-frame.h"
#include "value.h"
#include "regset.h"
#include "regcache.h"
#include "hppa-tdep.h"
#include "linux-tdep.h"
#include "elf/common.h"
Go to the source code of this file.
#define GR_REGNUM | ( | _n | ) | (HPPA_R0_REGNUM+_n) |
Definition at line 426 of file hppa-linux-tdep.c.
#define HPPA_MAX_INSN_PATTERN_LEN (4) |
Definition at line 81 of file hppa-linux-tdep.c.
Referenced by hppa_linux_sigtramp_find_sigcontext().
#define TR_REGNUM | ( | _n | ) | (HPPA_TR0_REGNUM+_n) |
Definition at line 427 of file hppa-linux-tdep.c.
void _initialize_hppa_linux_tdep | ( | void | ) |
Definition at line 565 of file hppa-linux-tdep.c.
References _initialize_hppa_linux_tdep, GDB_OSABI_LINUX, gdbarch_register_osabi(), and hppa_linux_init_abi().
static int hppa_dwarf_reg_to_regnum | ( | struct gdbarch * | gdbarch, |
int | reg | ||
) | [static] |
Definition at line 39 of file hppa-linux-tdep.c.
References _, HPPA_FP4_REGNUM, and warning().
Referenced by hppa_linux_init_abi().
static CORE_ADDR hppa_linux_find_global_pointer | ( | struct gdbarch * | gdbarch, |
struct value * | function | ||
) | [static] |
Definition at line 334 of file hppa-linux-tdep.c.
References ALL_OBJFILE_OSECTIONS, extract_signed_integer(), extract_unsigned_integer(), find_pc_section(), gdbarch_byte_order(), in_plt_section(), LONGEST, obj_section_addr, obj_section_endaddr, obj_section::objfile, objfile::sections_end, exsummary::status, target_read_memory(), obj_section::the_bfd_section, and value_as_address().
Referenced by hppa_linux_init_abi().
static void hppa_linux_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 524 of file hppa-linux-tdep.c.
References gdbarch_tdep::find_global_pointer, frame_unwind_append_unwinder(), gdbarch_tdep(), glibc_skip_solib_resolver(), hppa_dwarf_reg_to_regnum(), hppa_in_solib_call_trampoline(), hppa_linux_find_global_pointer(), hppa_linux_regset_from_core_section(), hppa_linux_target_write_pc(), hppa_skip_trampoline_code(), gdbarch_tdep::in_solib_call_trampoline, gdbarch_tdep::is_elf, linux_init_abi(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_fetch_tls_load_module_address(), set_gdbarch_long_double_bit(), set_gdbarch_regset_from_core_section(), set_gdbarch_skip_solib_resolver(), set_gdbarch_skip_trampoline_code(), set_gdbarch_write_pc(), set_solib_svr4_fetch_link_map_offsets(), svr4_fetch_objfile_link_map(), and svr4_ilp32_fetch_link_map_offsets().
Referenced by _initialize_hppa_linux_tdep().
static struct regset* hppa_linux_regset_from_core_section | ( | struct gdbarch * | gdbarch, |
const char * | sect_name, | ||
size_t | sect_size | ||
) | [static, read] |
Definition at line 507 of file hppa-linux-tdep.c.
References hppa_linux_fpregset, and hppa_linux_regset.
Referenced by hppa_linux_init_abi().
static CORE_ADDR hppa_linux_sigtramp_find_sigcontext | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 135 of file hppa-linux-tdep.c.
References align_down(), dummy, HPPA_MAX_INSN_PATTERN_LEN, insns_match_pattern(), and sp.
Referenced by hppa_linux_sigtramp_frame_sniffer(), and hppa_linux_sigtramp_frame_unwind_cache().
static struct value* hppa_linux_sigtramp_frame_prev_register | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache, | ||
int | regnum | ||
) | [static, read] |
Definition at line 284 of file hppa-linux-tdep.c.
References hppa_frame_prev_register_helper(), hppa_linux_sigtramp_frame_unwind_cache(), and hppa_linux_sigtramp_unwind_cache::saved_regs.
static int hppa_linux_sigtramp_frame_sniffer | ( | const struct frame_unwind * | self, |
struct frame_info * | this_frame, | ||
void ** | this_prologue_cache | ||
) | [static] |
Definition at line 301 of file hppa-linux-tdep.c.
References get_frame_arch(), get_frame_pc(), and hppa_linux_sigtramp_find_sigcontext().
static void hppa_linux_sigtramp_frame_this_id | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 274 of file hppa-linux-tdep.c.
References hppa_linux_sigtramp_unwind_cache::base, frame_id_build(), get_frame_pc(), and hppa_linux_sigtramp_frame_unwind_cache().
static struct hppa_linux_sigtramp_unwind_cache* hppa_linux_sigtramp_frame_unwind_cache | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) | [static, read] |
Definition at line 199 of file hppa-linux-tdep.c.
References trad_frame_saved_reg::addr, hppa_linux_sigtramp_unwind_cache::base, FRAME_OBSTACK_ZALLOC, get_frame_arch(), get_frame_pc(), get_frame_register_unsigned(), HPPA_FP0_REGNUM, HPPA_IPSW_REGNUM, hppa_linux_sigtramp_find_sigcontext(), HPPA_PCOQ_HEAD_REGNUM, HPPA_PCOQ_TAIL_REGNUM, HPPA_PCSQ_HEAD_REGNUM, HPPA_PCSQ_TAIL_REGNUM, HPPA_R0_REGNUM, HPPA_SAR_REGNUM, HPPA_SP_REGNUM, hppa_linux_sigtramp_unwind_cache::saved_regs, and trad_frame_alloc_saved_regs().
Referenced by hppa_linux_sigtramp_frame_prev_register(), and hppa_linux_sigtramp_frame_this_id().
static void hppa_linux_supply_fpregset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | regs, | ||
size_t | len | ||
) | [static] |
Definition at line 476 of file hppa-linux-tdep.c.
References HPPA_FP0_REGNUM, offset, regcache_raw_supply(), and gdbarch_tdep::regs.
static void hppa_linux_supply_regset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | regs, | ||
size_t | len | ||
) | [static] |
Definition at line 456 of file hppa-linux-tdep.c.
References gdbarch_tdep::bytes_per_address, gdbarch_tdep(), get_regcache_arch(), greg_map, offset, regcache_raw_supply(), and gdbarch_tdep::regs.
static void hppa_linux_target_write_pc | ( | struct regcache * | regcache, |
CORE_ADDR | v | ||
) | [static] |
Definition at line 54 of file hppa-linux-tdep.c.
References HPPA_PCOQ_HEAD_REGNUM, HPPA_PCOQ_TAIL_REGNUM, and regcache_cooked_write_unsigned().
Referenced by hppa_linux_init_abi().
static int insns_match_pattern | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc, | ||
struct insn_pattern * | pattern, | ||
unsigned int * | insn | ||
) | [static] |
Definition at line 91 of file hppa-linux-tdep.c.
References insn_pattern::data, extract_unsigned_integer(), gdbarch_byte_order(), insn_pattern::mask, and target_read_memory().
Referenced by hppa_linux_sigtramp_find_sigcontext().
Referenced by _initialize_hppa_linux_tdep(), and initialize_all_files().
{ GR_REGNUM(0), GR_REGNUM(1), GR_REGNUM(2), GR_REGNUM(3), GR_REGNUM(4), GR_REGNUM(5), GR_REGNUM(6), GR_REGNUM(7), GR_REGNUM(8), GR_REGNUM(9), GR_REGNUM(10), GR_REGNUM(11), GR_REGNUM(12), GR_REGNUM(13), GR_REGNUM(14), GR_REGNUM(15), GR_REGNUM(16), GR_REGNUM(17), GR_REGNUM(18), GR_REGNUM(19), GR_REGNUM(20), GR_REGNUM(21), GR_REGNUM(22), GR_REGNUM(23), GR_REGNUM(24), GR_REGNUM(25), GR_REGNUM(26), GR_REGNUM(27), GR_REGNUM(28), GR_REGNUM(29), GR_REGNUM(30), GR_REGNUM(31), HPPA_SR4_REGNUM+1, HPPA_SR4_REGNUM+2, HPPA_SR4_REGNUM+3, HPPA_SR4_REGNUM+4, HPPA_SR4_REGNUM, HPPA_SR4_REGNUM+5, HPPA_SR4_REGNUM+6, HPPA_SR4_REGNUM+7, HPPA_PCOQ_HEAD_REGNUM, HPPA_PCOQ_TAIL_REGNUM, HPPA_PCSQ_HEAD_REGNUM, HPPA_PCSQ_TAIL_REGNUM, HPPA_SAR_REGNUM, HPPA_IIR_REGNUM, HPPA_ISR_REGNUM, HPPA_IOR_REGNUM, HPPA_IPSW_REGNUM, HPPA_RCR_REGNUM, TR_REGNUM(0), TR_REGNUM(1), TR_REGNUM(2), TR_REGNUM(3), TR_REGNUM(4), TR_REGNUM(5), TR_REGNUM(6), TR_REGNUM(7), HPPA_PID0_REGNUM, HPPA_PID1_REGNUM, HPPA_PID2_REGNUM, HPPA_PID3_REGNUM, HPPA_CCR_REGNUM, HPPA_EIEM_REGNUM, }
Definition at line 428 of file hppa-linux-tdep.c.
Referenced by hppa_linux_supply_regset().
struct regset hppa_linux_fpregset [static] |
{ NULL, hppa_linux_supply_fpregset }
Definition at line 500 of file hppa-linux-tdep.c.
Referenced by hppa_linux_regset_from_core_section().
struct regset hppa_linux_regset [static] |
{ NULL, hppa_linux_supply_regset }
Definition at line 494 of file hppa-linux-tdep.c.
Referenced by hppa_linux_regset_from_core_section().
struct frame_unwind hppa_linux_sigtramp_frame_unwind [static] |
{ SIGTRAMP_FRAME, default_frame_unwind_stop_reason, hppa_linux_sigtramp_frame_this_id, hppa_linux_sigtramp_frame_prev_register, NULL, hppa_linux_sigtramp_frame_sniffer }
Definition at line 314 of file hppa-linux-tdep.c.
struct insn_pattern hppa_sigtramp[] [static] |
{ { 0x34190000, 0xfffffffd }, { 0x3414015a, 0xffffffff }, { 0xe4008200, 0xffffffff }, { 0x08000240, 0xffffffff }, { 0, 0 } }
Definition at line 69 of file hppa-linux-tdep.c.