42 -1, 8, 9, 10, 11, 12, 13, 14,
43 0, 1, 2, 3, 4, 5, 6, 7,
44 23, 24, 25, 26, 27, 28, 29, 30,
45 -1, -1, 19, 18, 17, 21, -1, 16,
47 -1, 20, -1, -1, -1, -1, -1, -1,
48 -1, -1, -1, -1, -1, -1, -1, -1
54#define NIOS2_GREGS_SIZE (4 * 34)
61 int regnum,
const void *gregs_buf,
size_t len)
63 const gdb_byte *gregs = (
const gdb_byte *) gregs_buf;
65 static const gdb_byte zero_buf[4] = {0, 0, 0, 0};
82 int regnum,
void *gregs_buf,
size_t len)
84 gdb_byte *gregs = (gdb_byte *) gregs_buf;
132#define NIOS2_SIGRETURN_TRAMP_ADDR 0x1044
133#define NIOS2_SIGRETURN_REGSAVE_OFFSET 152
145 for (i = 0; i < 23; i++)
167 { MATCH_R1_MOVI | SET_IW_I_B (2) | SET_IW_I_IMM16 (139), ULONGEST_MAX },
168 { MATCH_R1_TRAP | SET_IW_R_IMM5 (0), ULONGEST_MAX},
179 { MATCH_R2_MOVI | SET_IW_F2I16_B (2) | SET_IW_F2I16_IMM16 (139), ULONGEST_MAX },
180 { MATCH_R2_TRAP | SET_IW_X2L5_IMM5 (0), ULONGEST_MAX},
191 const struct nios2_opcode *op)
198 if (syscall_nr == 139 )
201 return pc + op->size;
256 const struct bfd_arch_info *arch_info;
258 for (arch_info = bfd_lookup_arch (bfd_arch_nios2, 0);
260 arch_info = arch_info->next)
void raw_collect(int regnum, void *buf) const override
void raw_supply(int regnum, const void *buf) override
ULONGEST get_frame_register_unsigned(frame_info_ptr frame, int regnum)
CORE_ADDR frame_unwind_caller_pc(frame_info_ptr this_frame)
CORE_ADDR get_frame_pc(frame_info_ptr frame)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
void set_gdbarch_skip_trampoline_code(struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype *skip_trampoline_code)
void set_gdbarch_fetch_tls_load_module_address(struct gdbarch *gdbarch, gdbarch_fetch_tls_load_module_address_ftype *fetch_tls_load_module_address)
const struct bfd_arch_info * gdbarch_bfd_arch_info(struct gdbarch *gdbarch)
void set_gdbarch_skip_solib_resolver(struct gdbarch *gdbarch, gdbarch_skip_solib_resolver_ftype *skip_solib_resolver)
void set_gdbarch_iterate_over_regset_sections(struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype *iterate_over_regset_sections)
void iterate_over_regset_sections_cb(const char *sect_name, int supply_size, int collect_size, const struct regset *regset, const char *human_name, void *cb_data)
CORE_ADDR glibc_skip_solib_resolver(struct gdbarch *gdbarch, CORE_ADDR pc)
link_map_offsets * linux_ilp32_fetch_link_map_offsets()
void linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch, int num_disp_step_buffers)
CORE_ADDR find_solib_trampoline_target(frame_info_ptr frame, CORE_ADDR pc)
static const int reg_offsets[NIOS2_NUM_REGS]
static void nios2_collect_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs_buf, size_t len)
static bool nios2_linux_is_kernel_helper(CORE_ADDR pc)
static struct tramp_frame nios2_r2_linux_rt_sigreturn_tramp_frame
static void nios2_linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
static void nios2_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
#define NIOS2_SIGRETURN_REGSAVE_OFFSET
static void nios2_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs_buf, size_t len)
void _initialize_nios2_linux_tdep()
static struct tramp_frame nios2_r1_linux_rt_sigreturn_tramp_frame
static void nios2_linux_rt_sigreturn_init(const struct tramp_frame *self, frame_info_ptr next_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static const struct regset nios2_core_regset
static CORE_ADDR nios2_linux_syscall_next_pc(frame_info_ptr frame, const struct nios2_opcode *op)
#define NIOS2_MPUACC_REGNUM
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
void(* func)(remote_target *remote, char *)
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
CORE_ADDR svr4_fetch_objfile_link_map(struct objfile *objfile)
CORE_ADDR(* syscall_next_pc)(frame_info_ptr frame, const struct nios2_opcode *op)
bool(* is_kernel_helper)(CORE_ADDR pc)
void trad_frame_set_reg_addr(struct trad_frame_cache *this_trad_cache, int regnum, CORE_ADDR addr)
void trad_frame_set_id(struct trad_frame_cache *this_trad_cache, struct frame_id this_id)
void tramp_frame_prepend_unwinder(struct gdbarch *gdbarch, const struct tramp_frame *tramp_frame)
#define TRAMP_SENTINEL_INSN