aboutsummaryrefslogtreecommitdiff
path: root/gdbserver/configure.srv
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@wdc.com>2020-02-19 01:24:37 +0000
committerMaciej W. Rozycki <macro@wdc.com>2020-02-19 01:24:37 +0000
commitbf84f7066626c78884436e1c39fb60f04c665f21 (patch)
treec6b0acc4954d5f15eb4c299043cd28fd815e40e6 /gdbserver/configure.srv
parentd1c9b20ff9eca75a6bc33105cb2a46cebc67c482 (diff)
downloadgdb-bf84f7066626c78884436e1c39fb60f04c665f21.zip
gdb-bf84f7066626c78884436e1c39fb60f04c665f21.tar.gz
gdb-bf84f7066626c78884436e1c39fb60f04c665f21.tar.bz2
gdbserver: Add RISC-V/Linux support
Implement RISC-V/Linux support for both RV64 and RV32 systems, including XML target description handling based on features determined, GPR and FPR regset support including dynamic sizing of the latter, and software breakpoint handling. Define two NT_FPREGSET regsets of a different size matching the FPR sizes supported for generic `gdbserver' code to pick from according to what the OS supplies. Also handle a glibc bug where ELF_NFPREG is defined in terms of NFPREG, however NFPREG is nowhere defined. 2020-02-19 Maciej W. Rozycki <macro@wdc.com> Andrew Burgess <andrew.burgess@embecosm.com> gdb/ * NEWS: Mention RISC-V GNU/Linux GDBserver support. gdbserver/ * linux-riscv-low.cc: New file. * Makefile.in (SFILES): Add linux-riscv-low.cc, arch/riscv.c, and nat/riscv-linux-tdesc.c. * configure.srv <riscv*-*-linux*> (srv_tgtobj) (srv_linux_regsets, srv_linux_usrregs, srv_linux_thread_db): Define.
Diffstat (limited to 'gdbserver/configure.srv')
-rw-r--r--gdbserver/configure.srv7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv
index 375ac0a..ecdd63a 100644
--- a/gdbserver/configure.srv
+++ b/gdbserver/configure.srv
@@ -278,6 +278,13 @@ case "${gdbserver_host}" in
srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml"
srv_lynxos=yes
;;
+ riscv*-*-linux*) srv_tgtobj="arch/riscv.o nat/riscv-linux-tdesc.o"
+ srv_tgtobj="${srv_tgtobj} linux-riscv-low.o"
+ srv_tgtobj="${srv_tgtobj} ${srv_linux_obj}"
+ srv_linux_regsets=yes
+ srv_linux_usrregs=yes
+ srv_linux_thread_db=yes
+ ;;
s390*-*-linux*) srv_regobj="s390-linux32.o"
srv_regobj="${srv_regobj} s390-linux32v1.o"
srv_regobj="${srv_regobj} s390-linux32v2.o"