77 int regnum,
const void *gregs,
size_t len)
79 const void *fpregs = (
char *)gregs + 288;
94 int regnum,
const void *fpregs,
size_t len)
138 if (insn != 0x83e82067)
143 if (insn != 0x91d02000)
162 gdb_assert (cache == *this_cache);
182 addr = cache->
base + 128 + 16;
200 void **this_cache,
int regnum)
225 "sparc64 openbsd sigtramp",
240 CORE_ADDR sp, trapframe_addr;
247 gdb_assert (cache == *this_cache);
250 trapframe_addr = sp +
BIAS + 176;
267 void **this_cache,
struct frame_id *this_id)
277 void **this_cache,
int regnum)
301 if (
name && strcmp (
name,
"Lslowtrap_reenter") == 0)
309 "sparc64 openbsd trap",
322#define SPARC64OBSD_UTHREAD_FP_OFFSET 232
323#define SPARC64OBSD_UTHREAD_PC_OFFSET 240
327 int regnum, CORE_ADDR addr)
337 gdb_assert (
regnum >= -1);
375 int regnum, CORE_ADDR addr)
385 gdb_assert (
regnum >= -1);
static struct parser_state * pstate
bool find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr, const struct block **block)
void bsd_uthread_set_collect_uthread(struct gdbarch *gdbarch, void(*collect_uthread)(const struct regcache *, int, CORE_ADDR))
void bsd_uthread_set_supply_uthread(struct gdbarch *gdbarch, void(*supply_uthread)(struct regcache *, int, CORE_ADDR))
void raw_collect(int regnum, void *buf) const override
void raw_supply(int regnum, const void *buf) override
void write_memory(CORE_ADDR memaddr, const bfd_byte *myaddr, ssize_t len)
ULONGEST read_memory_unsigned_integer(CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
void write_memory_unsigned_integer(CORE_ADDR addr, int len, enum bfd_endian byte_order, ULONGEST value)
static void store_unsigned_integer(gdb_byte *addr, int len, enum bfd_endian byte_order, ULONGEST val)
static ULONGEST extract_unsigned_integer(gdb::array_view< const gdb_byte > buf, enum bfd_endian byte_order)
enum unwind_stop_reason default_frame_unwind_stop_reason(frame_info_ptr this_frame, void **this_cache)
void frame_unwind_append_unwinder(struct gdbarch *gdbarch, const struct frame_unwind *unwinder)
ULONGEST get_frame_register_unsigned(frame_info_ptr frame, int regnum)
CORE_ADDR get_frame_pc(frame_info_ptr frame)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
CORE_ADDR get_frame_address_in_block(frame_info_ptr this_frame)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void set_gdbarch_skip_solib_resolver(struct gdbarch *gdbarch, gdbarch_skip_solib_resolver_ftype *skip_solib_resolver)
void obsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
CORE_ADDR obsd_skip_solib_resolver(struct gdbarch *gdbarch, CORE_ADDR pc)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
struct link_map_offsets * svr4_lp64_fetch_link_map_offsets(void)
CORE_ADDR sparcnbsd_step_trap(frame_info_ptr frame, unsigned long insn)
void sparc_supply_rwindow(struct regcache *regcache, CORE_ADDR sp, int regnum)
struct sparc_frame_cache * sparc_frame_cache(frame_info_ptr this_frame, void **this_cache)
void sparc_record_save_insn(struct sparc_frame_cache *cache)
void sparc_collect_rwindow(const struct regcache *regcache, CORE_ADDR sp, int regnum)
unsigned long sparc_fetch_instruction(CORE_ADDR pc)
trad_frame_saved_reg * sparc64nbsd_sigcontext_saved_regs(CORE_ADDR sigcontext_addr, frame_info_ptr this_frame)
static const int sparc64obsd_page_size
static int sparc64obsd_pc_in_sigtramp(CORE_ADDR pc, const char *name)
void _initialize_sparc64obsd_tdep()
static void sparc64obsd_supply_uthread(struct regcache *regcache, int regnum, CORE_ADDR addr)
static const struct frame_unwind sparc64obsd_trapframe_unwind
static const struct regset sparc64obsd_fpregset
static struct value * sparc64obsd_trapframe_prev_register(frame_info_ptr this_frame, void **this_cache, int regnum)
const struct sparc_gregmap sparc64obsd_gregmap
static const struct regset sparc64obsd_gregset
static int sparc64obsd_trapframe_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache)
#define SPARC64OBSD_UTHREAD_FP_OFFSET
static void sparc64obsd_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
static int sparc64obsd_sigtramp_frame_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache)
#define SPARC64OBSD_UTHREAD_PC_OFFSET
static struct value * sparc64obsd_frame_prev_register(frame_info_ptr this_frame, void **this_cache, int regnum)
static const struct frame_unwind sparc64obsd_frame_unwind
static struct sparc_frame_cache * sparc64obsd_frame_cache(frame_info_ptr this_frame, void **this_cache)
static void sparc64obsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
const struct sparc_gregmap sparc64obsd_core_gregmap
static void sparc64obsd_frame_this_id(frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
static void sparc64obsd_trapframe_this_id(frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
static struct sparc_frame_cache * sparc64obsd_trapframe_cache(frame_info_ptr this_frame, void **this_cache)
static void sparc64obsd_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static const int sparc64obsd_sigreturn_offset[]
static void sparc64obsd_collect_uthread(const struct regcache *regcache, int regnum, CORE_ADDR addr)
void sparc64_supply_gregset(const struct sparc_gregmap *gregmap, struct regcache *regcache, int regnum, const void *gregs)
void sparc64_supply_fpregset(const struct sparc_fpregmap *fpregmap, struct regcache *regcache, int regnum, const void *fpregs)
void sparc64_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
const struct sparc_fpregmap sparc64_bsd_fpregmap
#define SPARC64_PSTATE_PRIV
struct trad_frame_saved_reg * saved_regs
CORE_ADDR(* step_trap)(frame_info_ptr frame, unsigned long insn)
const struct regset * fpregset
const struct regset * gregset
void set_addr(LONGEST addr)
trad_frame_saved_reg * trad_frame_alloc_saved_regs(struct gdbarch *gdbarch)
struct value * trad_frame_get_prev_register(frame_info_ptr this_frame, trad_frame_saved_reg this_saved_regs[], int regnum)