37 #define MIPS_PC_REGNUM MIPS_EMBED_PC_REGNUM 38 #define MIPS_FP0_REGNUM MIPS_EMBED_FP0_REGNUM 39 #define MIPS_FSR_REGNUM MIPS_EMBED_FP0_REGNUM + 32 44 #define MIPSNBSD_NUM_GREGS 38 47 #define MIPSNBSD_NUM_FPREGS 33 56 int regnum,
const void *fpregs,
size_t len)
59 const char *regs = (
const char *) fpregs;
79 const void *gregs,
size_t len)
82 const char *regs = (
const char *) gregs;
145 if (regno == i || regno == -1)
163 if ((regno == i || regno == -1)
171 const char *fpregs,
int regno)
180 if (regno == i || regno == -1)
202 if ((regno == i || regno == -1)
227 #define RETCODE_NWORDS 3 228 #define RETCODE_SIZE (RETCODE_NWORDS * 4) 230 static const unsigned char sigtramp_retcode_mipsel[
RETCODE_SIZE] =
232 0x10, 0x00, 0xa4, 0x27,
233 0x27, 0x01, 0x02, 0x24,
234 0x0c, 0x00, 0x00, 0x00,
237 static const unsigned char sigtramp_retcode_mipseb[
RETCODE_SIZE] =
239 0x27, 0xa4, 0x00, 0x10,
240 0x24, 0x02, 0x01, 0x27,
241 0x00, 0x00, 0x00, 0x0c,
253 #define NBSD_MIPS_JB_PC (2 * 4) 254 #define NBSD_MIPS_JB_ELEMENT_SIZE(gdbarch) mips_isa_regsize (gdbarch) 255 #define NBSD_MIPS_JB_OFFSET(gdbarch) (NBSD_MIPS_JB_PC * \ 256 NBSD_MIPS_JB_ELEMENT_SIZE (gdbarch))
void set_gdbarch_cannot_fetch_register(struct gdbarch *gdbarch, gdbarch_cannot_fetch_register_ftype cannot_fetch_register)
void set_gdbarch_get_longjmp_target(struct gdbarch *gdbarch, gdbarch_get_longjmp_target_ftype get_longjmp_target)
static void mipsnbsd_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_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)
int gdbarch_ptr_bit(struct gdbarch *gdbarch)
int mips_isa_regsize(struct gdbarch *gdbarch)
const struct mips_regnum * mips_regnum(struct gdbarch *gdbarch)
static struct link_map_offsets * mipsnbsd_ilp32_fetch_link_map_offsets(void)
static const struct regset mipsnbsd_gregset
static ULONGEST extract_unsigned_integer(const gdb_byte *addr, int len, enum bfd_endian byte_order)
int gdbarch_cannot_store_register(struct gdbarch *gdbarch, int regnum)
int gdbarch_cannot_fetch_register(struct gdbarch *gdbarch, int regnum)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void set_gdbarch_cannot_store_register(struct gdbarch *gdbarch, gdbarch_cannot_store_register_ftype cannot_store_register)
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
#define REGSET_VARIABLE_SIZE
static void mipsnbsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
int fp_implementation_revision
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
static void mipsnbsd_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
void set_gdbarch_software_single_step(struct gdbarch *gdbarch, gdbarch_software_single_step_ftype software_single_step)
void mipsnbsd_supply_reg(struct regcache *regcache, const char *regs, int regno)
#define NBSD_MIPS_JB_OFFSET(gdbarch)
static const struct regset mipsnbsd_fpregset
int gdbarch_fp0_regnum(struct gdbarch *gdbarch)
int target_read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
#define MIPSNBSD_NUM_GREGS
#define NBSD_MIPS_JB_ELEMENT_SIZE(gdbarch)
static struct link_map_offsets * mipsnbsd_lp64_fetch_link_map_offsets(void)
void mipsnbsd_supply_fpreg(struct regcache *regcache, const char *fpregs, int regno)
static int mipsnbsd_cannot_store_register(struct gdbarch *gdbarch, int regno)
static void mipsnbsd_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
void regcache_raw_supply(struct regcache *regcache, int regnum, const void *buf)
static int mipsnbsd_cannot_fetch_register(struct gdbarch *gdbarch, int regno)
void mipsnbsd_fill_fpreg(const struct regcache *regcache, char *fpregs, int regno)
#define MIPSNBSD_NUM_FPREGS
void regcache_raw_collect(const struct regcache *regcache, int regnum, void *buf)
int gdbarch_pc_regnum(struct gdbarch *gdbarch)
static int mipsnbsd_get_longjmp_target(struct frame_info *frame, CORE_ADDR *pc)
void mipsnbsd_fill_reg(const struct regcache *regcache, char *regs, int regno)
void set_gdbarch_iterate_over_regset_sections(struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections)
std::vector< CORE_ADDR > mips_software_single_step(struct regcache *regcache)
enum bfd_endian byte_order
void _initialize_mipsnbsd_tdep(void)
struct gdbarch * get_frame_arch(struct frame_info *this_frame)