binutils-gdb/gdb/arch
Hui Li 1304f47d02 gdb: LoongArch: Change LOONGARCH_FIRST_FP_REGNUM to 35
There is an assertion error "gdb_assert (n < tdesc->reg_defs.size ())"
in find_register_by_number() when gdb connects to gdbserver, this
is because the value of LOONGARCH_LINUX_NUM_GREGSET (45, which contains
10 reserved regs) is different with the number of regs (35, which not
contains 10 reserved regs) in file gdb/features/loongarch/base64.xml.
Add a new macro LOONGARCH_USED_NUM_GREGSET which is defined as 35 to
keep consistent with the gdb/features/loongarch/base64.xml, and then
define LOONGARCH_FIRST_FP_REGNUM as LOONGARCH_USED_NUM_GREGSET so that
all the reg numbers in regcache are consistent with tdesc reg numbers.

without this patch:

Execute on the target machine:

  $ gdbserver 192.168.1.123:5678 ./test

Execute on the host machine:

  $ gdb ./test
  (gdb) target remote 192.168.1.123:5678

Output on the target machine:

  Process ./test created; pid = 67683
  Listening on port 5678
  Remote debugging from host 192.168.1.136, port 6789
  gdbserver/regcache.cc:205: A problem internal to GDBserver has been detected.
  find_register_by_number: Assertion 'n < tdesc->reg_defs.size ()' failed.

Output on the host machine:

  Remote debugging using 192.168.1.123:5678
  Remote connection closed

Signed-off-by: Hui Li <lihui@loongson.cn>
Approved-By: John Baldwin <jhb@FreeBSD.org>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
2024-03-02 19:07:04 +08:00
..
aarch32.c gdb/arm: Remove tpidruro register from non-FreeBSD target descriptions 2024-02-29 12:27:27 -03:00
aarch32.h gdb/arm: Remove tpidruro register from non-FreeBSD target descriptions 2024-02-29 12:27:27 -03:00
aarch64-insn.c aarch64: Use aarch64_debug_printf in a few more places 2024-02-28 16:03:16 -08:00
aarch64-insn.h
aarch64-mte-linux.c
aarch64-mte-linux.h
aarch64-scalable-linux.c
aarch64-scalable-linux.h
aarch64.c
aarch64.h
amd64.c
amd64.h
arc.c
arc.h
arm-get-next-pcs.c
arm-get-next-pcs.h
arm-linux.c
arm-linux.h
arm.c
arm.h
csky.c
csky.h
i386.c
i386.h
loongarch.c
loongarch.h gdb: LoongArch: Change LOONGARCH_FIRST_FP_REGNUM to 35 2024-03-02 19:07:04 +08:00
ppc-linux-common.c
ppc-linux-common.h
ppc-linux-tdesc.h
riscv.c
riscv.h
tic6x.c
tic6x.h
xtensa.h