GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "frame-unwind.h"
#include "gdbcore.h"
#include "osabi.h"
#include "regcache.h"
#include "regset.h"
#include "symtab.h"
#include "objfiles.h"
#include "trad-frame.h"
#include "inferior.h"
#include "obsd-tdep.h"
#include "sparc64-tdep.h"
#include "solib-svr4.h"
#include "bsd-uthread.h"
Go to the source code of this file.
Macros | |
#define | SPARC64OBSD_UTHREAD_FP_OFFSET 232 |
#define | SPARC64OBSD_UTHREAD_PC_OFFSET 240 |
Functions | |
static void | sparc64obsd_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len) |
static void | sparc64obsd_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len) |
static int | sparc64obsd_pc_in_sigtramp (CORE_ADDR pc, const char *name) |
static struct sparc_frame_cache * | sparc64obsd_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static void | sparc64obsd_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static struct value * | sparc64obsd_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) |
static int | sparc64obsd_sigtramp_frame_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache) |
static struct sparc_frame_cache * | sparc64obsd_trapframe_cache (frame_info_ptr this_frame, void **this_cache) |
static void | sparc64obsd_trapframe_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static struct value * | sparc64obsd_trapframe_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) |
static int | sparc64obsd_trapframe_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache) |
static void | sparc64obsd_supply_uthread (struct regcache *regcache, int regnum, CORE_ADDR addr) |
static void | sparc64obsd_collect_uthread (const struct regcache *regcache, int regnum, CORE_ADDR addr) |
static void | sparc64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) |
void | _initialize_sparc64obsd_tdep () |
Variables | |
const struct sparc_gregmap | sparc64obsd_gregmap |
const struct sparc_gregmap | sparc64obsd_core_gregmap |
static const int | sparc64obsd_page_size = 8192 |
static const int | sparc64obsd_sigreturn_offset [] |
static const struct frame_unwind | sparc64obsd_frame_unwind |
static const struct frame_unwind | sparc64obsd_trapframe_unwind |
static const struct regset | sparc64obsd_gregset |
static const struct regset | sparc64obsd_fpregset |
#define SPARC64OBSD_UTHREAD_FP_OFFSET 232 |
Definition at line 322 of file sparc64-obsd-tdep.c.
Referenced by sparc64obsd_collect_uthread(), and sparc64obsd_supply_uthread().
#define SPARC64OBSD_UTHREAD_PC_OFFSET 240 |
Definition at line 323 of file sparc64-obsd-tdep.c.
Referenced by sparc64obsd_collect_uthread(), and sparc64obsd_supply_uthread().
void _initialize_sparc64obsd_tdep | ( | ) |
Definition at line 454 of file sparc64-obsd-tdep.c.
References GDB_OSABI_OPENBSD, gdbarch_register_osabi(), and sparc64obsd_init_abi().
|
static |
Definition at line 374 of file sparc64-obsd-tdep.c.
References reg_buffer::arch(), extract_unsigned_integer(), gdbarch_byte_order(), inferior_ptid, regcache::ptid(), reg_buffer::raw_collect(), regnum, SPARC64_PC_REGNUM, SPARC64OBSD_UTHREAD_FP_OFFSET, SPARC64OBSD_UTHREAD_PC_OFFSET, sparc_collect_rwindow(), SPARC_SP_REGNUM, write_memory(), and write_memory_unsigned_integer().
Referenced by sparc64obsd_init_abi().
|
static |
Definition at line 153 of file sparc64-obsd-tdep.c.
References sparc_frame_cache::base, BIAS, get_frame_pc(), get_frame_register_unsigned(), sparc_frame_cache::pc, sparc_frame_cache::saved_regs, sparc64nbsd_sigcontext_saved_regs(), sparc64obsd_page_size, SPARC_FP_REGNUM, sparc_frame_cache(), and sparc_record_save_insn().
Referenced by sparc64obsd_frame_prev_register(), and sparc64obsd_frame_this_id().
|
static |
Definition at line 199 of file sparc64-obsd-tdep.c.
References regnum, sparc_frame_cache::saved_regs, sparc64obsd_frame_cache(), and trad_frame_get_prev_register().
|
static |
Definition at line 189 of file sparc64-obsd-tdep.c.
References sparc_frame_cache::base, frame_id_build(), sparc_frame_cache::pc, and sparc64obsd_frame_cache().
|
static |
Definition at line 424 of file sparc64-obsd-tdep.c.
References bsd_uthread_set_collect_uthread(), bsd_uthread_set_supply_uthread(), sparc_gdbarch_tdep::fpregset, frame_unwind_append_unwinder(), sparc_gdbarch_tdep::gregset, obsd_init_abi(), obsd_skip_solib_resolver(), set_gdbarch_skip_solib_resolver(), set_solib_svr4_fetch_link_map_offsets(), sparc_gdbarch_tdep::sizeof_fpregset, sparc_gdbarch_tdep::sizeof_gregset, sparc64_init_abi(), sparc64obsd_collect_uthread(), sparc64obsd_fpregset, sparc64obsd_frame_unwind, sparc64obsd_gregset, sparc64obsd_supply_uthread(), sparc64obsd_trapframe_unwind, sparcnbsd_step_trap(), sparc_gdbarch_tdep::step_trap, and svr4_lp64_fetch_link_map_offsets().
Referenced by _initialize_sparc64obsd_tdep().
|
static |
Definition at line 125 of file sparc64-obsd-tdep.c.
References name, sparc64obsd_page_size, sparc64obsd_sigreturn_offset, and sparc_fetch_instruction().
Referenced by sparc64obsd_sigtramp_frame_sniffer().
|
static |
Definition at line 209 of file sparc64-obsd-tdep.c.
References find_pc_partial_function(), get_frame_pc(), name, sparc_frame_cache::pc, and sparc64obsd_pc_in_sigtramp().
|
static |
Definition at line 92 of file sparc64-obsd-tdep.c.
References regnum, sparc64_bsd_fpregmap, and sparc64_supply_fpregset().
|
static |
Definition at line 75 of file sparc64-obsd-tdep.c.
References regnum, sparc64_bsd_fpregmap, sparc64_supply_fpregset(), sparc64_supply_gregset(), sparc64obsd_core_gregmap, and sparc64obsd_gregmap.
|
static |
Definition at line 326 of file sparc64-obsd-tdep.c.
References reg_buffer::arch(), gdbarch_byte_order(), inferior_ptid, regcache::ptid(), reg_buffer::raw_supply(), read_memory_unsigned_integer(), regnum, SPARC64_NPC_REGNUM, SPARC64_PC_REGNUM, SPARC64OBSD_UTHREAD_FP_OFFSET, SPARC64OBSD_UTHREAD_PC_OFFSET, SPARC_SP_REGNUM, sparc_supply_rwindow(), and store_unsigned_integer().
Referenced by sparc64obsd_init_abi().
|
static |
Definition at line 237 of file sparc64-obsd-tdep.c.
References BIAS, get_frame_register_unsigned(), regnum, sparc_frame_cache::saved_regs, trad_frame_saved_reg::set_addr(), SPARC64_NPC_REGNUM, SPARC64_PC_REGNUM, SPARC64_STATE_REGNUM, sparc_frame_cache(), SPARC_G0_REGNUM, SPARC_I7_REGNUM, SPARC_SP_REGNUM, and trad_frame_alloc_saved_regs().
Referenced by sparc64obsd_trapframe_prev_register(), and sparc64obsd_trapframe_this_id().
|
static |
Definition at line 276 of file sparc64-obsd-tdep.c.
References regnum, sparc_frame_cache::saved_regs, sparc64obsd_trapframe_cache(), and trad_frame_get_prev_register().
|
static |
Definition at line 286 of file sparc64-obsd-tdep.c.
References find_pc_partial_function(), get_frame_address_in_block(), get_frame_register_unsigned(), name, sparc_frame_cache::pc, pstate, SPARC64_PSTATE_PRIV, and SPARC64_PSTATE_REGNUM.
|
static |
Definition at line 266 of file sparc64-obsd-tdep.c.
References sparc_frame_cache::base, frame_id_build(), sparc_frame_cache::pc, and sparc64obsd_trapframe_cache().
const struct sparc_gregmap sparc64obsd_core_gregmap |
Definition at line 61 of file sparc64-obsd-tdep.c.
Referenced by sparc64obsd_supply_gregset().
|
static |
Definition at line 418 of file sparc64-obsd-tdep.c.
Referenced by sparc64obsd_init_abi().
|
static |
Definition at line 223 of file sparc64-obsd-tdep.c.
Referenced by sparc64obsd_init_abi().
const struct sparc_gregmap sparc64obsd_gregmap |
Definition at line 48 of file sparc64-obsd-tdep.c.
Referenced by sparc64obsd_supply_gregset().
|
static |
Definition at line 413 of file sparc64-obsd-tdep.c.
Referenced by sparc64obsd_init_abi().
|
static |
Definition at line 114 of file sparc64-obsd-tdep.c.
Referenced by sparc64obsd_frame_cache(), and sparc64obsd_pc_in_sigtramp().
|
static |
Definition at line 117 of file sparc64-obsd-tdep.c.
Referenced by sparc64obsd_pc_in_sigtramp().
|
static |
Definition at line 307 of file sparc64-obsd-tdep.c.
Referenced by sparc64obsd_init_abi().