37 #define X_RS1(i) (((i) >> 14) & 0x1f)
38 #define X_RS2(i) ((i) & 0x1f)
39 #define X_I(i) (((i) >> 13) & 1)
56 int regnum,
const void *gregs,
size_t len)
65 (
const char *) gregs + 80);
71 int regnum,
const void *fpregs,
size_t len)
110 sigcontext_addr = addr + 64 + 16;
128 saved_regs[regnum].
realreg = regnum + delta;
135 saved_regs[regnum].
realreg = regnum + delta;
144 saved_regs[regnum].addr = addr;
163 #define PSR_EF 0x00001000
175 saved_regs[regnum].addr = addr;
223 static struct value *
225 void **this_cache,
int regnum)
244 if (name == NULL || !
startswith (name,
"__sigtramp_sigcontext"))
267 if ((
X_I (insn) == 0 &&
X_RS1 (insn) == 0 &&
X_RS2 (insn) == 0)
268 || (
X_I (insn) == 1 &&
X_RS1 (insn) == 0 && (insn & 0x7f) == 0))
283 static const struct regset sparc32nbsd_gregset =
288 static const struct regset sparc32nbsd_fpregset =
332 if (strcmp (bfd_get_target (abfd),
"a.out-sparc-netbsd") == 0)
345 #if defined (GDB_OSABI_DEFAULT) && (GDB_OSABI_DEFAULT == GDB_OSABI_OPENBSD_ELF)
346 #define GDB_OSABI_NETBSD_CORE GDB_OSABI_OPENBSD_ELF
348 #define GDB_OSABI_NETBSD_CORE GDB_OSABI_NETBSD_AOUT
354 if (strcmp (bfd_get_target (abfd),
"netbsd-core") == 0)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
CORE_ADDR get_frame_pc(struct frame_info *frame)
void _initialize_sparcnbsd_tdep(void)
struct value * trad_frame_get_prev_register(struct frame_info *this_frame, struct trad_frame_saved_reg this_saved_regs[], int regnum)
const struct floatformat * floatformats_ieee_double[BFD_ENDIAN_UNKNOWN]
static struct sparc_frame_cache * sparc32nbsd_sigcontext_frame_cache(struct frame_info *this_frame, void **this_cache)
void sparc32_supply_gregset(const struct sparc_gregmap *gregmap, struct regcache *regcache, int regnum, const void *gregs)
void sparc_record_save_insn(struct sparc_frame_cache *cache)
void trad_frame_set_value(struct trad_frame_saved_reg this_saved_regs[], int regnum, LONGEST val)
const struct regset * gregset
int nbsd_pc_in_sigtramp(CORE_ADDR pc, const char *func_name)
struct sparc_frame_cache * sparc_frame_cache(struct frame_info *this_frame, void **this_cache)
void gdbarch_register_osabi_sniffer(enum bfd_architecture arch, enum bfd_flavour flavour, enum gdb_osabi(*sniffer_fn)(bfd *))
struct link_map_offsets * svr4_ilp32_fetch_link_map_offsets(void)
CORE_ADDR(* step_trap)(struct frame_info *frame, unsigned long insn)
static const CORE_ADDR sparc32nbsd_sigtramp_start
#define GDB_OSABI_NETBSD_CORE
ULONGEST get_frame_memory_unsigned(struct frame_info *this_frame, CORE_ADDR addr, int len)
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
static const struct regset sparc32nbsd_fpregset
void frame_unwind_append_unwinder(struct gdbarch *gdbarch, const struct frame_unwind *unwinder)
struct trad_frame_saved_reg * saved_regs
static void sparc32nbsd_sigcontext_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
ULONGEST sparc_fetch_wcookie(struct gdbarch *gdbarch)
static struct value * sparc32nbsd_sigcontext_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
static void sparc32nbsd_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
static const struct regset sparc32nbsd_gregset
int find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr)
static void sparc32nbsd_aout_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
void sparc32_supply_fpregset(const struct sparc_fpregmap *fpregmap, struct regcache *regcache, int regnum, const void *fpregs)
static void sparc32nbsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
static int startswith(const char *string, const char *pattern)
static enum gdb_osabi sparcnbsd_aout_osabi_sniffer(bfd *abfd)
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
CORE_ADDR sparcnbsd_step_trap(struct frame_info *frame, unsigned long insn)
static int sparc32nbsd_pc_in_sigtramp(CORE_ADDR pc, const char *name)
static void sparc32nbsd_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
const struct sparc_fpregmap sparc32_bsd_fpregmap
struct trad_frame_saved_reg * trad_frame_alloc_saved_regs(struct frame_info *this_frame)
static enum gdb_osabi sparcnbsd_core_osabi_sniffer(bfd *abfd)
struct trad_frame_saved_reg * sparc32nbsd_sigcontext_saved_regs(struct frame_info *this_frame)
static int sparc32nbsd_sigcontext_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
const struct regset * fpregset
unsigned long long ULONGEST
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
void set_gdbarch_long_double_bit(struct gdbarch *gdbarch, int long_double_bit)
void sparc32nbsd_elf_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
void set_gdbarch_long_double_format(struct gdbarch *gdbarch, const struct floatformat **long_double_format)
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 CORE_ADDR sparc32nbsd_sigtramp_end
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
const ULONGEST const LONGEST len