33#define RISCV_NR_rt_sigreturn 139
52 { 1, RISCV_CSR_FCSR_REGNUM, 0 },
93#define RISCV_INST_LI_A7_SIGRETURN 0x08b00893
94#define RISCV_INST_ECALL 0x00000073
123#define SIGFRAME_SIGINFO_SIZE 128
124#define UCONTEXT_MCONTEXT_OFFSET 176
136 CORE_ADDR mcontext_base;
143 regs_base = mcontext_base;
145 for (
int i = 1; i < 32; i++)
147 regs_base + (i * xlen));
151 regs_base += 32 * xlen;
152 for (
int i = 0; i < 32; i++)
154 regs_base + (i * flen));
155 regs_base += 32 * flen;
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)
CORE_ADDR get_frame_sp(frame_info_ptr this_frame)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
struct gdbarch * get_frame_arch(frame_info_ptr this_frame)
void set_gdbarch_software_single_step(struct gdbarch *gdbarch, gdbarch_software_single_step_ftype *software_single_step)
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)
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_lp64_fetch_link_map_offsets()
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)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
void(* func)(remote_target *remote, char *)
static const struct tramp_frame riscv_linux_sigframe
static void riscv_linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
#define SIGFRAME_SIGINFO_SIZE
#define RISCV_INST_LI_A7_SIGRETURN
static CORE_ADDR riscv_linux_syscall_next_pc(frame_info_ptr frame)
static const struct regset riscv_linux_fregset
static void riscv_linux_sigframe_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static const struct regcache_map_entry riscv_linux_gregmap[]
static const struct regcache_map_entry riscv_linux_fregmap[]
#define RISCV_NR_rt_sigreturn
static void riscv_linux_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
void _initialize_riscv_linux_tdep()
#define UCONTEXT_MCONTEXT_OFFSET
static const struct regset riscv_linux_gregset
void riscv_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
int riscv_isa_xlen(struct gdbarch *gdbarch)
int riscv_isa_flen(struct gdbarch *gdbarch)
std::vector< CORE_ADDR > riscv_software_single_step(struct regcache *regcache)
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)
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