GDB (xrefs)
|
#include "defs.h"
#include "glibc-tdep.h"
#include "inferior.h"
#include "linux-tdep.h"
#include "loongarch-tdep.h"
#include "solib-svr4.h"
#include "target-descriptions.h"
#include "trad-frame.h"
#include "tramp-frame.h"
Go to the source code of this file.
Macros | |
#define | LOONGARCH_RT_SIGFRAME_UCONTEXT_OFFSET 128 |
#define | LOONGARCH_UCONTEXT_SIGCONTEXT_OFFSET 176 |
#define | LOONGARCH_INST_LIW_A7_RT_SIGRETURN 0x03822c0b |
#define | LOONGARCH_INST_SYSCALL 0x002b0000 |
#define | LOONGARCH_NR_rt_sigreturn 139 |
Functions | |
static void | loongarch_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gprs, size_t len) |
static void | loongarch_fill_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gprs, size_t len) |
static void | loongarch_supply_fpregset (const struct regset *r, struct regcache *regcache, int regnum, const void *fprs, size_t len) |
static void | loongarch_fill_fpregset (const struct regset *r, const struct regcache *regcache, int regnum, void *fprs, size_t len) |
static void | loongarch_linux_rt_sigframe_init (const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) |
static void | loongarch_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache) |
static CORE_ADDR | loongarch_linux_syscall_next_pc (frame_info_ptr frame) |
static void | loongarch_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) |
void | _initialize_loongarch_linux_tdep () |
Variables | |
const struct regset | loongarch_gregset |
const struct regset | loongarch_fpregset |
static const struct tramp_frame | loongarch_linux_rt_sigframe |
#define LOONGARCH_INST_LIW_A7_RT_SIGRETURN 0x03822c0b |
Definition at line 241 of file loongarch-linux-tdep.c.
#define LOONGARCH_INST_SYSCALL 0x002b0000 |
Definition at line 243 of file loongarch-linux-tdep.c.
#define LOONGARCH_NR_rt_sigreturn 139 |
Definition at line 281 of file loongarch-linux-tdep.c.
Referenced by loongarch_linux_syscall_next_pc().
#define LOONGARCH_RT_SIGFRAME_UCONTEXT_OFFSET 128 |
Definition at line 220 of file loongarch-linux-tdep.c.
Referenced by loongarch_linux_rt_sigframe_init().
#define LOONGARCH_UCONTEXT_SIGCONTEXT_OFFSET 176 |
Definition at line 221 of file loongarch-linux-tdep.c.
Referenced by loongarch_linux_rt_sigframe_init().
void _initialize_loongarch_linux_tdep | ( | ) |
Definition at line 336 of file loongarch-linux-tdep.c.
References GDB_OSABI_LINUX, gdbarch_register_osabi(), and loongarch_linux_init_abi().
|
static |
Definition at line 166 of file loongarch-linux-tdep.c.
References reg_buffer::arch(), LOONGARCH_FCSR_REGNUM, LOONGARCH_FIRST_FCC_REGNUM, LOONGARCH_FIRST_FP_REGNUM, LOONGARCH_LINUX_NUM_FCC, LOONGARCH_LINUX_NUM_FPREGSET, reg_buffer::raw_collect(), register_size(), and regnum.
|
static |
Definition at line 75 of file loongarch-linux-tdep.c.
References reg_buffer::arch(), LOONGARCH_BADV_REGNUM, LOONGARCH_ORIG_A0_REGNUM, LOONGARCH_PC_REGNUM, reg_buffer::raw_collect(), register_size(), and regnum.
|
static |
Definition at line 261 of file loongarch-linux-tdep.c.
References LOONGARCH_FCSR_REGNUM, LOONGARCH_FIRST_FCC_REGNUM, LOONGARCH_FIRST_FP_REGNUM, loongarch_fpregset, loongarch_gregset, LOONGARCH_LINUX_NUM_FCC, LOONGARCH_LINUX_NUM_FPREGSET, LOONGARCH_LINUX_NUM_GREGSET, and register_size().
Referenced by loongarch_linux_init_abi().
|
static |
Definition at line 303 of file loongarch-linux-tdep.c.
References find_solib_trampoline_target(), glibc_skip_solib_resolver(), linux_ilp32_fetch_link_map_offsets(), linux_init_abi(), linux_lp64_fetch_link_map_offsets(), loongarch_iterate_over_regset_sections(), loongarch_linux_rt_sigframe, loongarch_linux_syscall_next_pc(), set_gdbarch_fetch_tls_load_module_address(), set_gdbarch_iterate_over_regset_sections(), set_gdbarch_skip_solib_resolver(), set_gdbarch_skip_trampoline_code(), set_solib_svr4_fetch_link_map_offsets(), svr4_fetch_objfile_link_map(), loongarch_gdbarch_tdep::syscall_next_pc, and tramp_frame_prepend_unwinder().
Referenced by _initialize_loongarch_linux_tdep().
|
static |
Definition at line 224 of file loongarch-linux-tdep.c.
References frame_id_build(), func, get_frame_sp(), LOONGARCH_PC_REGNUM, LOONGARCH_RT_SIGFRAME_UCONTEXT_OFFSET, LOONGARCH_UCONTEXT_SIGCONTEXT_OFFSET, trad_frame_set_id(), and trad_frame_set_reg_addr().
|
static |
Definition at line 287 of file loongarch-linux-tdep.c.
References frame_unwind_caller_pc(), get_frame_pc(), get_frame_register_unsigned(), LOONGARCH_A7_REGNUM, and LOONGARCH_NR_rt_sigreturn.
Referenced by loongarch_linux_init_abi().
|
static |
Definition at line 120 of file loongarch-linux-tdep.c.
References reg_buffer::arch(), LOONGARCH_FCSR_REGNUM, LOONGARCH_FIRST_FCC_REGNUM, LOONGARCH_FIRST_FP_REGNUM, LOONGARCH_LINUX_NUM_FCC, LOONGARCH_LINUX_NUM_FPREGSET, reg_buffer::raw_supply(), register_size(), and regnum.
|
static |
Definition at line 34 of file loongarch-linux-tdep.c.
References reg_buffer::arch(), LOONGARCH_BADV_REGNUM, LOONGARCH_ORIG_A0_REGNUM, LOONGARCH_PC_REGNUM, reg_buffer::raw_supply(), reg_buffer::raw_supply_zeroed(), register_size(), and regnum.
const struct regset loongarch_fpregset |
Definition at line 211 of file loongarch-linux-tdep.c.
Referenced by fetch_fpregs_from_thread(), fill_fpregset(), loongarch_iterate_over_regset_sections(), store_fpregs_to_thread(), and supply_fpregset().
const struct regset loongarch_gregset |
Definition at line 111 of file loongarch-linux-tdep.c.
Referenced by fetch_gregs_from_thread(), fill_gregset(), loongarch_iterate_over_regset_sections(), store_gregs_to_thread(), and supply_gregset().
|
static |
Definition at line 245 of file loongarch-linux-tdep.c.
Referenced by loongarch_linux_init_abi().