GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions | Variables
/tmp/gdb-13.1/gdb/riscv-linux-tdep.c File Reference
#include "defs.h"
#include "riscv-tdep.h"
#include "osabi.h"
#include "glibc-tdep.h"
#include "linux-tdep.h"
#include "solib-svr4.h"
#include "regset.h"
#include "tramp-frame.h"
#include "trad-frame.h"
#include "gdbarch.h"

Go to the source code of this file.

Macros

#define RISCV_NR_rt_sigreturn   139
 
#define RISCV_INST_LI_A7_SIGRETURN   0x08b00893
 
#define RISCV_INST_ECALL   0x00000073
 
#define SIGFRAME_SIGINFO_SIZE   128
 
#define UCONTEXT_MCONTEXT_OFFSET   176
 

Functions

static void riscv_linux_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
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 CORE_ADDR riscv_linux_syscall_next_pc (frame_info_ptr frame)
 
static void riscv_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_riscv_linux_tdep ()
 

Variables

static const struct regcache_map_entry riscv_linux_gregmap []
 
static const struct regcache_map_entry riscv_linux_fregmap []
 
static const struct regset riscv_linux_gregset
 
static const struct regset riscv_linux_fregset
 
static const struct tramp_frame riscv_linux_sigframe
 

Macro Definition Documentation

◆ RISCV_INST_ECALL

#define RISCV_INST_ECALL   0x00000073

Definition at line 94 of file riscv-linux-tdep.c.

◆ RISCV_INST_LI_A7_SIGRETURN

#define RISCV_INST_LI_A7_SIGRETURN   0x08b00893

Definition at line 93 of file riscv-linux-tdep.c.

◆ RISCV_NR_rt_sigreturn

#define RISCV_NR_rt_sigreturn   139

Definition at line 33 of file riscv-linux-tdep.c.

◆ SIGFRAME_SIGINFO_SIZE

#define SIGFRAME_SIGINFO_SIZE   128

Definition at line 123 of file riscv-linux-tdep.c.

◆ UCONTEXT_MCONTEXT_OFFSET

#define UCONTEXT_MCONTEXT_OFFSET   176

Definition at line 124 of file riscv-linux-tdep.c.

Function Documentation

◆ _initialize_riscv_linux_tdep()

void _initialize_riscv_linux_tdep ( )

◆ riscv_linux_init_abi()

static void riscv_linux_init_abi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
)
static

◆ riscv_linux_iterate_over_regset_sections()

static void riscv_linux_iterate_over_regset_sections ( struct gdbarch gdbarch,
iterate_over_regset_sections_cb cb,
void *  cb_data,
const struct regcache regcache 
)
static

◆ riscv_linux_sigframe_init()

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

◆ riscv_linux_syscall_next_pc()

static CORE_ADDR riscv_linux_syscall_next_pc ( frame_info_ptr  frame)
static

Variable Documentation

◆ riscv_linux_fregmap

const struct regcache_map_entry riscv_linux_fregmap[]
static
Initial value:
=
{
{ 1, RISCV_CSR_FCSR_REGNUM, 0 },
{ 0 }
}
@ RISCV_FIRST_FP_REGNUM
Definition: riscv-tdep.h:43

Definition at line 49 of file riscv-linux-tdep.c.

◆ riscv_linux_fregset

const struct regset riscv_linux_fregset
static
Initial value:
=
{
}
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1264
static const struct regcache_map_entry riscv_linux_fregmap[]
void riscv_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
Definition: riscv-tdep.c:4179

Definition at line 65 of file riscv-linux-tdep.c.

Referenced by riscv_linux_iterate_over_regset_sections().

◆ riscv_linux_gregmap

const struct regcache_map_entry riscv_linux_gregmap[]
static
Initial value:
=
{
{ 1, RISCV_PC_REGNUM, 0 },
{ 31, RISCV_RA_REGNUM, 0 },
{ 0 }
}
@ RISCV_RA_REGNUM
Definition: riscv-tdep.h:31
@ RISCV_PC_REGNUM
Definition: riscv-tdep.h:39

Definition at line 39 of file riscv-linux-tdep.c.

◆ riscv_linux_gregset

const struct regset riscv_linux_gregset
static
Initial value:
=
{
}
static const struct regcache_map_entry riscv_linux_gregmap[]

Definition at line 58 of file riscv-linux-tdep.c.

Referenced by riscv_linux_iterate_over_regset_sections().

◆ riscv_linux_sigframe

const struct tramp_frame riscv_linux_sigframe
static
Initial value:
= {
4,
{
},
NULL
}
#define ULONGEST_MAX
Definition: defs.h:473
@ SIGTRAMP_FRAME
Definition: frame.h:190
#define RISCV_INST_LI_A7_SIGRETURN
#define RISCV_INST_ECALL
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)
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44

Definition at line 96 of file riscv-linux-tdep.c.

Referenced by riscv_linux_init_abi().