diff options
author | Jiangshuai Li <jiangshuai_li@linux.alibaba.com> | 2022-09-13 11:20:54 +0800 |
---|---|---|
committer | Jiangshuai Li <jiangshuai_li@linux.alibaba.com> | 2022-09-13 11:20:54 +0800 |
commit | 02cd1b4e97120f71710c4246953bcb2d63cb4aea (patch) | |
tree | 56cc29e73e55f8396c49d4572edc8b7d983396df /gdbserver/Makefile.in | |
parent | 20e2bd5c636b4bf6d049eb202b3322fae835eefa (diff) | |
download | fsf-binutils-gdb-02cd1b4e97120f71710c4246953bcb2d63cb4aea.zip fsf-binutils-gdb-02cd1b4e97120f71710c4246953bcb2d63cb4aea.tar.gz fsf-binutils-gdb-02cd1b4e97120f71710c4246953bcb2d63cb4aea.tar.bz2 |
gdbserver/csky add csky gdbserver support
Add new files:
gdb/arch/csky.c
gdb/arch/csky.h
gdb/features/cskyv2-linux.c
gdbserver/linux-csky-low.cc
1. In gdb/arch/csky.c file, add function "csky_create_target_description()"
for csky_target::low_arch_setup(). later, it can be used for csky native gdb.
2. In gdb/features/cskyv2-linux.c file, create target_tdesc for csky, include
gprs, pc, hi, lo, float, vector and float control registers.
3. In gdbserver/linux-csky-low.cc file, using PTRACE_GET/SET_RGESET to
get/set registers. The main data structures in asm/ptrace.h are:
struct pt_regs {
unsigned long tls;
unsigned long lr;
unsigned long pc;
unsigned long sr;
unsigned long usp;
/*
* a0, a1, a2, a3:
* r0, r1, r2, r3
*/
unsigned long orig_a0;
unsigned long a0;
unsigned long a1;
unsigned long a2;
unsigned long a3;
/*
* r4 ~ r13
*/
unsigned long regs[10];
/* r16 ~ r30 */
unsigned long exregs[15];
unsigned long rhi;
unsigned long rlo;
unsigned long dcsr;
};
struct user_fp {
unsigned long vr[96];
unsigned long fcr;
unsigned long fesr;
unsigned long fid;
unsigned long reserved;
};
Diffstat (limited to 'gdbserver/Makefile.in')
-rw-r--r-- | gdbserver/Makefile.in | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in index 75e4977..8462d78 100644 --- a/gdbserver/Makefile.in +++ b/gdbserver/Makefile.in @@ -175,6 +175,7 @@ SFILES = \ $(srcdir)/linux-aarch64-low.cc \ $(srcdir)/linux-arc-low.cc \ $(srcdir)/linux-arm-low.cc \ + $(srcdir)/linux-csky-low.cc \ $(srcdir)/linux-ia64-low.cc \ $(srcdir)/linux-loongarch-low.cc \ $(srcdir)/linux-low.cc \ @@ -212,6 +213,7 @@ SFILES = \ $(srcdir)/../gdb/arch/arm.c \ $(srcdir)/../gdb/arch/arm-get-next-pcs.c \ $(srcdir)/../gdb/arch/arm-linux.c \ + $(srcdir)/../gdb/arch/csky.c \ $(srcdir)/../gdb/arch/loongarch.c \ $(srcdir)/../gdb/arch/ppc-linux-common.c \ $(srcdir)/../gdb/arch/riscv.c \ |