GDB (xrefs)
|
#include "defs.h"
#include "osabi.h"
#include "regset.h"
#include "trad-frame.h"
#include "tramp-frame.h"
#include "fbsd-tdep.h"
#include "mips-tdep.h"
#include "mips-fbsd-tdep.h"
#include "solib-svr4.h"
Go to the source code of this file.
Functions | |
static void | mips_fbsd_supply_reg (struct regcache *regcache, int regnum, const void *addr, size_t len) |
static void | mips_fbsd_collect_reg (const struct regcache *regcache, int regnum, void *addr, size_t len) |
void | mips_fbsd_supply_fpregs (struct regcache *regcache, int regnum, const void *fpregs, size_t regsize) |
void | mips_fbsd_supply_gregs (struct regcache *regcache, int regnum, const void *gregs, size_t regsize) |
void | mips_fbsd_collect_fpregs (const struct regcache *regcache, int regnum, void *fpregs, size_t regsize) |
void | mips_fbsd_collect_gregs (const struct regcache *regcache, int regnum, void *gregs, size_t regsize) |
static void | mips_fbsd_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len) |
static void | mips_fbsd_collect_fpregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len) |
static void | mips_fbsd_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len) |
static void | mips_fbsd_collect_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len) |
static void | mips_fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache) |
static void | mips_fbsd_sigframe_init (const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *cache, CORE_ADDR func) |
static void | mips64_fbsd_sigframe_init (const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *cache, CORE_ADDR func) |
static CORE_ADDR | mips_fbsd_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc) |
static struct link_map_offsets * | mips_fbsd_ilp32_fetch_link_map_offsets (void) |
static struct link_map_offsets * | mips_fbsd_lp64_fetch_link_map_offsets (void) |
static void | mips_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) |
void | _initialize_mips_fbsd_tdep () |
Variables | |
static const struct regset | mips_fbsd_gregset |
static const struct regset | mips_fbsd_fpregset |
static const struct tramp_frame | mips_fbsd_sigframe |
static const struct tramp_frame | mipsn32_fbsd_sigframe |
static const struct tramp_frame | mips64_fbsd_sigframe |
#define FBSD_SYS_sigreturn 417 |
Definition at line 256 of file mips-fbsd-tdep.c.
#define MIPS_FBSD_NUM_FPREGS 34 |
Definition at line 44 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_collect_fpregset(), mips_fbsd_iterate_over_regset_sections(), and mips_fbsd_supply_fpregset().
#define MIPS_FBSD_NUM_GREGS 40 |
Definition at line 38 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_collect_gregset(), mips_fbsd_iterate_over_regset_sections(), and mips_fbsd_supply_gregset().
#define MIPS_INST_ADDIU_A0_SP_N32 |
Definition at line 429 of file mips-fbsd-tdep.c.
#define MIPS_INST_ADDIU_A0_SP_O32 |
Definition at line 337 of file mips-fbsd-tdep.c.
#define MIPS_INST_BREAK 0x0000000d |
Definition at line 260 of file mips-fbsd-tdep.c.
#define MIPS_INST_DADDIU_A0_SP_N64 |
Definition at line 446 of file mips-fbsd-tdep.c.
#define MIPS_INST_LI_V0_SIGRETURN 0x24020000 + FBSD_SYS_sigreturn |
Definition at line 258 of file mips-fbsd-tdep.c.
#define MIPS_INST_SYSCALL 0x0000000c |
Definition at line 259 of file mips-fbsd-tdep.c.
#define N64_SIGFRAME_UCONTEXT_OFFSET (32) |
Definition at line 354 of file mips-fbsd-tdep.c.
Referenced by mips64_fbsd_sigframe_init().
#define N64_SIGSET_T_SIZE (16) |
Definition at line 355 of file mips-fbsd-tdep.c.
#define N64_UCONTEXT_FPREGS (N64_UCONTEXT_FPUSED + 8) |
Definition at line 364 of file mips-fbsd-tdep.c.
Referenced by mips64_fbsd_sigframe_init().
#define N64_UCONTEXT_FPUSED (N64_UCONTEXT_HI + 8) |
Definition at line 363 of file mips-fbsd-tdep.c.
Referenced by mips64_fbsd_sigframe_init().
#define N64_UCONTEXT_HI (N64_UCONTEXT_LO + 8) |
Definition at line 362 of file mips-fbsd-tdep.c.
Referenced by mips64_fbsd_sigframe_init().
#define N64_UCONTEXT_LO (N64_UCONTEXT_SR + 8) |
Definition at line 361 of file mips-fbsd-tdep.c.
Referenced by mips64_fbsd_sigframe_init().
#define N64_UCONTEXT_ONSTACK (N64_SIGSET_T_SIZE) |
Definition at line 357 of file mips-fbsd-tdep.c.
#define N64_UCONTEXT_PC (N64_UCONTEXT_ONSTACK + 8) |
Definition at line 358 of file mips-fbsd-tdep.c.
Referenced by mips64_fbsd_sigframe_init().
#define N64_UCONTEXT_REG_SIZE 8 |
Definition at line 366 of file mips-fbsd-tdep.c.
Referenced by mips64_fbsd_sigframe_init().
#define N64_UCONTEXT_REGS (N64_UCONTEXT_PC + 8) |
Definition at line 359 of file mips-fbsd-tdep.c.
Referenced by mips64_fbsd_sigframe_init().
#define N64_UCONTEXT_SR (N64_UCONTEXT_REGS + 8 * 32) |
Definition at line 360 of file mips-fbsd-tdep.c.
Referenced by mips64_fbsd_sigframe_init().
#define O32_SIGFRAME_UCONTEXT_OFFSET (16) |
Definition at line 262 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_sigframe_init().
#define O32_SIGSET_T_SIZE (16) |
Definition at line 263 of file mips-fbsd-tdep.c.
#define O32_UCONTEXT_FPREGS (O32_UCONTEXT_FPUSED + 4) |
Definition at line 272 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_sigframe_init().
#define O32_UCONTEXT_FPUSED (O32_UCONTEXT_HI + 4) |
Definition at line 271 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_sigframe_init().
#define O32_UCONTEXT_HI (O32_UCONTEXT_LO + 4) |
Definition at line 270 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_sigframe_init().
#define O32_UCONTEXT_LO (O32_UCONTEXT_SR + 4) |
Definition at line 269 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_sigframe_init().
#define O32_UCONTEXT_ONSTACK (O32_SIGSET_T_SIZE) |
Definition at line 265 of file mips-fbsd-tdep.c.
#define O32_UCONTEXT_PC (O32_UCONTEXT_ONSTACK + 4) |
Definition at line 266 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_sigframe_init().
#define O32_UCONTEXT_REG_SIZE 4 |
Definition at line 274 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_sigframe_init().
#define O32_UCONTEXT_REGS (O32_UCONTEXT_PC + 4) |
Definition at line 267 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_sigframe_init().
#define O32_UCONTEXT_SR (O32_UCONTEXT_REGS + 4 * 32) |
Definition at line 268 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_sigframe_init().
void _initialize_mips_fbsd_tdep | ( | ) |
Definition at line 576 of file mips-fbsd-tdep.c.
References GDB_OSABI_FREEBSD, gdbarch_register_osabi(), and mips_fbsd_init_abi().
|
static |
Definition at line 369 of file mips-fbsd-tdep.c.
References extract_unsigned_integer(), frame_id_build(), func, gdbarch_byte_order(), gdbarch_fp0_regnum(), gdbarch_num_regs(), get_frame_arch(), get_frame_register_signed(), mips_regnum::hi, mips_regnum::lo, MIPS_PS_REGNUM, MIPS_RA_REGNUM, mips_regnum(), MIPS_SP_REGNUM, MIPS_ZERO_REGNUM, N64_SIGFRAME_UCONTEXT_OFFSET, N64_UCONTEXT_FPREGS, N64_UCONTEXT_FPUSED, N64_UCONTEXT_HI, N64_UCONTEXT_LO, N64_UCONTEXT_PC, N64_UCONTEXT_REG_SIZE, N64_UCONTEXT_REGS, N64_UCONTEXT_SR, mips_regnum::pc, regnum, target_read_memory(), trad_frame_set_id(), and trad_frame_set_reg_addr().
void mips_fbsd_collect_fpregs | ( | const struct regcache * | regcache, |
int | regnum, | ||
void * | fpregs, | ||
size_t | regsize ) |
Definition at line 117 of file mips-fbsd-tdep.c.
References reg_buffer::arch(), mips_regnum::fp0, mips_fbsd_collect_reg(), mips_regnum(), and regnum.
Referenced by mips_fbsd_collect_fpregset(), and mips_fbsd_nat_target::store_registers().
|
static |
Definition at line 178 of file mips-fbsd-tdep.c.
References reg_buffer::arch(), mips_abi_regsize(), mips_fbsd_collect_fpregs(), MIPS_FBSD_NUM_FPREGS, and regnum.
void mips_fbsd_collect_gregs | ( | const struct regcache * | regcache, |
int | regnum, | ||
void * | gregs, | ||
size_t | regsize ) |
Definition at line 144 of file mips-fbsd-tdep.c.
References reg_buffer::arch(), mips_fbsd_collect_reg(), mips_regnum(), mips_regnum::pc, and regnum.
Referenced by mips_fbsd_collect_gregset(), and mips_fbsd_nat_target::store_registers().
|
static |
Definition at line 211 of file mips-fbsd-tdep.c.
References reg_buffer::arch(), mips_abi_regsize(), mips_fbsd_collect_gregs(), MIPS_FBSD_NUM_GREGS, and regnum.
|
static |
Definition at line 60 of file mips-fbsd-tdep.c.
References reg_buffer::raw_collect_integer(), and regnum.
Referenced by mips_fbsd_collect_fpregs(), and mips_fbsd_collect_gregs().
|
static |
Definition at line 484 of file mips-fbsd-tdep.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 mips_fbsd_init_abi().
|
static |
Definition at line 540 of file mips-fbsd-tdep.c.
References fbsd_init_abi(), gdbarch_ptr_bit(), mips64_fbsd_sigframe, MIPS_ABI_N32, MIPS_ABI_N64, MIPS_ABI_O32, mips_fbsd_ilp32_fetch_link_map_offsets(), mips_fbsd_iterate_over_regset_sections(), mips_fbsd_lp64_fetch_link_map_offsets(), mips_fbsd_sigframe, mips_fbsd_skip_solib_resolver(), mips_software_single_step(), mipsn32_fbsd_sigframe, set_gdbarch_iterate_over_regset_sections(), set_gdbarch_skip_solib_resolver(), set_gdbarch_software_single_step(), set_solib_svr4_fetch_link_map_offsets(), and tramp_frame_prepend_unwinder().
Referenced by _initialize_mips_fbsd_tdep().
|
static |
Definition at line 241 of file mips-fbsd-tdep.c.
References mips_abi_regsize(), mips_fbsd_fpregset, mips_fbsd_gregset, MIPS_FBSD_NUM_FPREGS, and MIPS_FBSD_NUM_GREGS.
Referenced by mips_fbsd_init_abi().
|
static |
Definition at line 512 of file mips-fbsd-tdep.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 mips_fbsd_init_abi().
|
static |
Definition at line 277 of file mips-fbsd-tdep.c.
References extract_unsigned_integer(), frame_id_build(), func, gdbarch_byte_order(), gdbarch_fp0_regnum(), gdbarch_num_regs(), get_frame_arch(), get_frame_register_signed(), mips_regnum::hi, mips_regnum::lo, MIPS_PS_REGNUM, MIPS_RA_REGNUM, mips_regnum(), MIPS_SP_REGNUM, MIPS_ZERO_REGNUM, O32_SIGFRAME_UCONTEXT_OFFSET, O32_UCONTEXT_FPREGS, O32_UCONTEXT_FPUSED, O32_UCONTEXT_HI, O32_UCONTEXT_LO, O32_UCONTEXT_PC, O32_UCONTEXT_REG_SIZE, O32_UCONTEXT_REGS, O32_UCONTEXT_SR, mips_regnum::pc, regnum, target_read_memory(), trad_frame_set_id(), and trad_frame_set_reg_addr().
|
static |
Definition at line 469 of file mips-fbsd-tdep.c.
References fbsd_skip_solib_resolver(), frame_unwind_caller_pc(), get_current_frame(), lookup_bound_minimal_symbol(), bound_minimal_symbol::minsym, and bound_minimal_symbol::value_address().
Referenced by mips_fbsd_init_abi().
void mips_fbsd_supply_fpregs | ( | struct regcache * | regcache, |
int | regnum, | ||
const void * | fpregs, | ||
size_t | regsize ) |
Definition at line 71 of file mips-fbsd-tdep.c.
References reg_buffer::arch(), extract_unsigned_integer(), mips_regnum::fp0, gdbarch_byte_order(), mips_fbsd_supply_reg(), mips_regnum(), and regnum.
Referenced by mips_fbsd_nat_target::fetch_registers(), and mips_fbsd_supply_fpregset().
|
static |
Definition at line 161 of file mips-fbsd-tdep.c.
References reg_buffer::arch(), mips_abi_regsize(), MIPS_FBSD_NUM_FPREGS, mips_fbsd_supply_fpregs(), and regnum.
void mips_fbsd_supply_gregs | ( | struct regcache * | regcache, |
int | regnum, | ||
const void * | gregs, | ||
size_t | regsize ) |
Definition at line 100 of file mips-fbsd-tdep.c.
References reg_buffer::arch(), mips_fbsd_supply_reg(), mips_regnum(), mips_regnum::pc, and regnum.
Referenced by mips_fbsd_nat_target::fetch_registers(), and mips_fbsd_supply_gregset().
|
static |
Definition at line 194 of file mips-fbsd-tdep.c.
References reg_buffer::arch(), mips_abi_regsize(), MIPS_FBSD_NUM_GREGS, mips_fbsd_supply_gregs(), and regnum.
|
static |
Definition at line 50 of file mips-fbsd-tdep.c.
References reg_buffer::raw_supply_integer(), and regnum.
Referenced by mips_fbsd_supply_fpregs(), and mips_fbsd_supply_gregs().
|
static |
Definition at line 449 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_init_abi().
|
static |
Definition at line 231 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_iterate_over_regset_sections().
|
static |
Definition at line 224 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_iterate_over_regset_sections().
|
static |
Definition at line 340 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_init_abi().
|
static |
Definition at line 432 of file mips-fbsd-tdep.c.
Referenced by mips_fbsd_init_abi().