diff options
author | Maciej W. Rozycki <macro@wdc.com> | 2020-02-19 01:24:37 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@wdc.com> | 2020-02-19 01:24:37 +0000 |
commit | bf84f7066626c78884436e1c39fb60f04c665f21 (patch) | |
tree | c6b0acc4954d5f15eb4c299043cd28fd815e40e6 /gdbserver/configure.srv | |
parent | d1c9b20ff9eca75a6bc33105cb2a46cebc67c482 (diff) | |
download | gdb-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.srv | 7 |
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" |