aboutsummaryrefslogtreecommitdiff
path: root/gdbserver/configure.srv
diff options
context:
space:
mode:
authorJiangshuai Li <jiangshuai_li@linux.alibaba.com>2022-09-13 11:20:54 +0800
committerJiangshuai Li <jiangshuai_li@linux.alibaba.com>2022-09-13 11:20:54 +0800
commit02cd1b4e97120f71710c4246953bcb2d63cb4aea (patch)
tree56cc29e73e55f8396c49d4572edc8b7d983396df /gdbserver/configure.srv
parent20e2bd5c636b4bf6d049eb202b3322fae835eefa (diff)
downloadgdb-02cd1b4e97120f71710c4246953bcb2d63cb4aea.zip
gdb-02cd1b4e97120f71710c4246953bcb2d63cb4aea.tar.gz
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/configure.srv')
-rw-r--r--gdbserver/configure.srv5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv
index ebb6b32..f010199 100644
--- a/gdbserver/configure.srv
+++ b/gdbserver/configure.srv
@@ -88,6 +88,11 @@ case "${gdbserver_host}" in
srv_linux_regsets=yes
srv_linux_thread_db=yes
;;
+ csky*-*linux*) srv_tgtobj="$srv_linux_obj linux-csky-low.o"
+ srv_tgtobj="${srv_tgtobj} arch/csky.o"
+ srv_linux_regsets=yes
+ srv_linux_thread_db=yes
+ ;;
i[34567]86-*-cygwin*) srv_regobj=""
srv_tgtobj="x86-low.o nat/x86-dregs.o win32-low.o"
srv_tgtobj="${srv_tgtobj} win32-i386-low.o"