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 = fpregs;
66 if (regnum == i || regnum == -1)
79 const void *gregs,
size_t len)
82 const char *regs = gregs;
89 if (regnum == i || regnum == -1)
103 static const struct regset mipsnbsd_gregset =
111 static const struct regset mipsnbsd_fpregset =
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))
283 || regno ==
mips_regnum (gdbarch)->fp_implementation_revision);
290 || regno ==
mips_regnum (gdbarch)->fp_implementation_revision);
void set_gdbarch_cannot_fetch_register(struct gdbarch *gdbarch, gdbarch_cannot_fetch_register_ftype cannot_fetch_register)
ULONGEST extract_unsigned_integer(const gdb_byte *, int, enum bfd_endian)
void set_gdbarch_get_longjmp_target(struct gdbarch *gdbarch, gdbarch_get_longjmp_target_ftype get_longjmp_target)
static struct link_map_offsets * mipsnbsd_lp64_fetch_link_map_offsets(void)
struct gdbarch * get_regcache_arch(const struct regcache *regcache)
static void mipsnbsd_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
int gdbarch_ptr_bit(struct gdbarch *gdbarch)
int mips_isa_regsize(struct gdbarch *gdbarch)
#define MIPSNBSD_NUM_GREGS
const struct mips_regnum * mips_regnum(struct gdbarch *gdbarch)
static void mipsnbsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
void initialize_file_ftype(void)
initialize_file_ftype _initialize_mipsnbsd_tdep
static int mipsnbsd_get_longjmp_target(struct frame_info *frame, CORE_ADDR *pc)
static struct link_map_offsets * mipsnbsd_ilp32_fetch_link_map_offsets(void)
int gdbarch_cannot_store_register(struct gdbarch *gdbarch, int regnum)
int gdbarch_cannot_fetch_register(struct gdbarch *gdbarch, int regnum)
#define MIPSNBSD_NUM_FPREGS
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))
static int mipsnbsd_cannot_store_register(struct gdbarch *gdbarch, int regno)
#define REGSET_VARIABLE_SIZE
void mipsnbsd_fill_fpreg(const struct regcache *regcache, char *fpregs, int regno)
#define NBSD_MIPS_JB_ELEMENT_SIZE(gdbarch)
static void mipsnbsd_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
int fp_implementation_revision
void( iterate_over_regset_sections_cb)(const char *sect_name, int size, const struct regset *regset, const char *human_name, void *cb_data)
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
void set_gdbarch_software_single_step(struct gdbarch *gdbarch, gdbarch_software_single_step_ftype software_single_step)
#define NBSD_MIPS_JB_OFFSET(gdbarch)
void mipsnbsd_supply_reg(struct regcache *regcache, const char *regs, int regno)
void mipsnbsd_supply_fpreg(struct regcache *regcache, const char *fpregs, int regno)
int gdbarch_fp0_regnum(struct gdbarch *gdbarch)
static int mipsnbsd_cannot_fetch_register(struct gdbarch *gdbarch, int regno)
int target_read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
void mipsnbsd_fill_reg(const struct regcache *regcache, char *regs, int regno)
void regcache_raw_supply(struct regcache *regcache, int regnum, const void *buf)
void regcache_raw_collect(const struct regcache *regcache, int regnum, void *buf)
int gdbarch_pc_regnum(struct gdbarch *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_iterate_over_regset_sections(struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections)
enum bfd_endian byte_order
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
int mips_software_single_step(struct frame_info *frame)
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
const ULONGEST const LONGEST len