55 static const struct regset amd64obsd_combined_regset =
72 &amd64obsd_combined_regset, NULL, cb_data);
92 0x67, 0x00, 0x00, 0x00,
98 0x67, 0x00, 0x00, 0x00,
101 size_t buflen = (
sizeof sigreturn) + 1;
117 buf = alloca ((
sizeof sigreturn) + 1);
125 if (memcmp (buf, sigreturn,
sizeof sigreturn)
126 && memcmp (buf + 1, sigreturn,
sizeof sigreturn)
127 && memcmp (buf, osigreturn,
sizeof osigreturn)
128 && memcmp (buf + 1, osigreturn,
sizeof osigreturn))
255 #define AMD64OBSD_UTHREAD_RSP_OFFSET 400
287 && (regnum == -1 || regnum == i))
335 && (regnum == -1 || regnum == i))
352 #define amd64obsd_tf_reg_offset amd64obsd_sc_reg_offset
411 static struct value *
413 void **this_cache,
int regnum)
424 void **this_prologue_cache)
436 return (name && ((strcmp (name,
"calltrap") == 0)
437 || (strcmp (name,
"osyscall1") == 0)
438 || (strcmp (name,
"Xsyscall") == 0)
static void amd64obsd_trapframe_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
void i386_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
ULONGEST extract_unsigned_integer(const gdb_byte *, int, enum bfd_endian)
void trad_frame_set_reg_addr(struct trad_frame_cache *this_trad_cache, int regnum, CORE_ADDR addr)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
CORE_ADDR get_frame_pc(struct frame_info *frame)
struct link_map_offsets * svr4_lp64_fetch_link_map_offsets(void)
struct gdbarch * get_regcache_arch(const struct regcache *regcache)
void write_memory_unsigned_integer(CORE_ADDR addr, int len, enum bfd_endian byte_order, ULONGEST value)
static void amd64obsd_collect_uthread(const struct regcache *regcache, int regnum, CORE_ADDR addr)
void trad_frame_set_id(struct trad_frame_cache *this_trad_cache, struct frame_id this_id)
static void amd64obsd_core_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
static void amd64obsd_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
CORE_ADDR(* sigcontext_addr)(struct frame_info *)
void bsd_uthread_set_collect_uthread(struct gdbarch *gdbarch, void(*collect_uthread)(const struct regcache *, int, CORE_ADDR))
static int amd64obsd_trapframe_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
void obsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
static int amd64obsd_sc_reg_offset[]
void frame_unwind_prepend_unwinder(struct gdbarch *gdbarch, const struct frame_unwind *unwinder)
void store_unsigned_integer(gdb_byte *, int, enum bfd_endian, ULONGEST)
void trad_frame_get_id(struct trad_frame_cache *this_trad_cache, struct frame_id *this_id)
static struct trad_frame_cache * amd64obsd_trapframe_cache(struct frame_info *this_frame, void **this_cache)
int amd64obsd_r_reg_offset[]
void amd64_supply_fxsave(struct regcache *regcache, int regnum, const void *fxsave)
#define amd64obsd_tf_reg_offset
static CORE_ADDR amd64obsd_sigcontext_addr(struct frame_info *this_frame)
int safe_frame_unwind_memory(struct frame_info *this_frame, CORE_ADDR addr, gdb_byte *buf, int len)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
int find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr)
static int startswith(const char *string, const char *pattern)
struct trad_frame_cache * trad_frame_cache_zalloc(struct frame_info *this_frame)
void read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
void( iterate_over_regset_sections_cb)(const char *sect_name, int size, const struct regset *regset, const char *human_name, void *cb_data)
struct obj_section * find_pc_section(CORE_ADDR pc)
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
struct frame_info * this_frame
#define I387_SIZEOF_FXSAVE
static int amd64obsd_uthread_reg_offset[]
int(* sigtramp_p)(struct frame_info *)
static void amd64obsd_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
static struct value * amd64obsd_trapframe_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
static int amd64obsd_sigtramp_p(struct frame_info *this_frame)
void amd64_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
#define AMD64OBSD_UTHREAD_RSP_OFFSET
struct m32c_reg regs[M32C_MAX_NUM_REGS]
void _initialize_amd64obsd_tdep(void)
void regcache_raw_supply(struct regcache *regcache, int regnum, const void *buf)
unsigned long long ULONGEST
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
const struct frame_id outer_frame_id
static void amd64obsd_supply_uthread(struct regcache *regcache, int regnum, CORE_ADDR addr)
void regcache_raw_collect(const struct regcache *regcache, int regnum, void *buf)
ULONGEST read_memory_unsigned_integer(CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
void set_gdbarch_iterate_over_regset_sections(struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections)
void write_memory(CORE_ADDR memaddr, const bfd_byte *myaddr, ssize_t len)
void bsd_uthread_set_supply_uthread(struct gdbarch *gdbarch, void(*supply_uthread)(struct regcache *, int, CORE_ADDR))
struct value * trad_frame_get_register(struct trad_frame_cache *this_trad_cache, struct frame_info *this_frame, int regnum)
enum bfd_endian byte_order
static void amd64obsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
CORE_ADDR get_frame_func(struct frame_info *this_frame)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
static const int amd64obsd_page_size
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
const ULONGEST const LONGEST len