From d203a0647fc73cad89307c37ae060b45aa28eab4 Mon Sep 17 00:00:00 2001 From: Tiezhu Yang Date: Fri, 11 Feb 2022 20:17:56 +0800 Subject: [PATCH] gdb: LoongArch: Add Makefile, configure and NEWS This commit adds Makefile, configure and NEWS for LoongArch. Signed-off-by: Zhensong Liu Signed-off-by: Qing zhang Signed-off-by: Youling Tang Signed-off-by: Tiezhu Yang --- gdb/Makefile.in | 8 ++++++++ gdb/NEWS | 4 ++++ gdb/configure.host | 3 +++ gdb/configure.nat | 4 ++++ gdb/configure.tgt | 11 +++++++++++ gdb/features/Makefile | 3 +++ 6 files changed, 33 insertions(+) diff --git a/gdb/Makefile.in b/gdb/Makefile.in index bf19db45343..70cef6e28b5 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -745,6 +745,7 @@ ALL_TARGET_OBS = \ arch/arm-get-next-pcs.o \ arch/arm-linux.o \ arch/i386.o \ + arch/loongarch.o \ arch/ppc-linux-common.o \ arm-bsd-tdep.o \ arm-fbsd-tdep.o \ @@ -794,6 +795,8 @@ ALL_TARGET_OBS = \ linux-record.o \ linux-tdep.o \ lm32-tdep.o \ + loongarch-linux-tdep.o \ + loongarch-tdep.o \ m32c-tdep.o \ m32r-linux-tdep.o \ m32r-tdep.o \ @@ -1357,6 +1360,7 @@ HFILES_NO_SRCDIR = \ linux-record.h \ linux-tdep.h \ location.h \ + loongarch-tdep.h \ m2-lang.h \ m32r-tdep.h \ m68k-tdep.h \ @@ -1491,6 +1495,7 @@ HFILES_NO_SRCDIR = \ arch/arc.h \ arch/arm.h \ arch/i386.h \ + arch/loongarch.h \ arch/ppc-linux-common.h \ arch/ppc-linux-tdesc.h \ arch/riscv.h \ @@ -2232,6 +2237,9 @@ ALLDEPFILES = \ linux-record.c \ linux-tdep.c \ lm32-tdep.c \ + loongarch-linux-nat.c \ + loongarch-linux-tdep.c \ + loongarch-tdep.c \ m32r-linux-nat.c \ m32r-linux-tdep.c \ m32r-tdep.c \ diff --git a/gdb/NEWS b/gdb/NEWS index b4a515120db..e173d38c3a1 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -114,6 +114,10 @@ info win This command now includes information about the width of the tui windows in its output. +* New targets + +GNU/Linux/LoongArch loongarch*-*-linux* + * Python API ** New function gdb.add_history(), which takes a gdb.Value object diff --git a/gdb/configure.host b/gdb/configure.host index be40cc814fc..da71675b201 100644 --- a/gdb/configure.host +++ b/gdb/configure.host @@ -58,6 +58,7 @@ arc*) gdb_host_cpu=arc ;; arm*) gdb_host_cpu=arm ;; hppa*) gdb_host_cpu=pa ;; i[34567]86*) gdb_host_cpu=i386 ;; +loongarch*) gdb_host_cpu=loongarch ;; m68*) gdb_host_cpu=m68k ;; mips*) gdb_host_cpu=mips ;; powerpc* | rs6000) gdb_host_cpu=powerpc ;; @@ -117,6 +118,8 @@ i[34567]86-*-cygwin*) gdb_host=cygwin ;; ia64-*-linux*) gdb_host=linux ;; +loongarch*-linux*) gdb_host=linux ;; + m68*-*-linux*) gdb_host=linux ;; m68*-*-netbsd* | m68*-*-knetbsd*-gnu) gdb_host=nbsdelf ;; diff --git a/gdb/configure.nat b/gdb/configure.nat index 20ce8050a96..b45519fd116 100644 --- a/gdb/configure.nat +++ b/gdb/configure.nat @@ -258,6 +258,10 @@ case ${gdb_host} in # Host: Intel IA-64 running GNU/Linux NATDEPFILES="${NATDEPFILES} ia64-linux-nat.o" ;; + loongarch) + # Host: LoongArch, running GNU/Linux. + NATDEPFILES="${NATDEPFILES} loongarch-linux-nat.o linux-nat-trad.o" + ;; m32r) # Host: M32R based machine running GNU/Linux NATDEPFILES="${NATDEPFILES} m32r-linux-nat.o" diff --git a/gdb/configure.tgt b/gdb/configure.tgt index 56cdfef937b..65f3bf6387d 100644 --- a/gdb/configure.tgt +++ b/gdb/configure.tgt @@ -91,6 +91,11 @@ ia64*-*-*) cpu_obs="ia64-tdep.o" ;; +loongarch*-*-*) + # Target: LoongArch baremetal + cpu_obs="loongarch-tdep.o arch/loongarch.o" + ;; + riscv*-*-*) cpu_obs="riscv-tdep.o riscv-none-tdep.o arch/riscv.o \ ravenscar-thread.o riscv-ravenscar-thread.o";; @@ -341,6 +346,12 @@ lm32-*-*) gdb_target_obs="lm32-tdep.o" ;; +loongarch*-*-linux*) + # Target: LoongArch running Linux + gdb_target_obs="loongarch-linux-tdep.o glibc-tdep.o \ + linux-tdep.o solib-svr4.o" + ;; + m32c-*-*) # Target: Renesas M32C family gdb_target_obs="m32c-tdep.o" diff --git a/gdb/features/Makefile b/gdb/features/Makefile index bd39abda108..68e17d0085d 100644 --- a/gdb/features/Makefile +++ b/gdb/features/Makefile @@ -173,6 +173,7 @@ GDB = false aarch64-feature = 1 arm-feature = 1 i386-feature = 1 +loongarch-feature = 1 riscv-feature = 1 tic6x-feature = 1 @@ -226,6 +227,8 @@ FEATURE_XMLFILES = aarch64-core.xml \ i386/64bit-pkeys.xml \ i386/64bit-sse.xml \ i386/x32-core.xml \ + loongarch/base32.xml \ + loongarch/base64.xml \ riscv/rv32e-xregs.xml \ riscv/32bit-cpu.xml \ riscv/32bit-fpu.xml \ -- 2.30.2