public inbox for gdb-cvs@sourceware.org help / color / mirror / Atom feed
From: Tiezhu Yang <yangtiezhu@sourceware.org> To: gdb-cvs@sourceware.org Subject: [binutils-gdb] gdb: LoongArch: Change LOONGARCH_FIRST_FP_REGNUM to 35 Date: Sat, 2 Mar 2024 11:08:25 +0000 (GMT) [thread overview] Message-ID: <20240302110825.C550F3858D1E@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1304f47d02bfd0b41ebf4c1c6758a6251c29d8a1 commit 1304f47d02bfd0b41ebf4c1c6758a6251c29d8a1 Author: Hui Li <lihui@loongson.cn> Date: Tue Feb 27 09:18:10 2024 +0800 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> Diff: --- gdb/arch/loongarch.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gdb/arch/loongarch.h b/gdb/arch/loongarch.h index 4b7ab054ea0..7056d506bf4 100644 --- a/gdb/arch/loongarch.h +++ b/gdb/arch/loongarch.h @@ -33,10 +33,11 @@ enum loongarch_regnum LOONGARCH_ORIG_A0_REGNUM = 32, /* Syscall's original arg0. */ LOONGARCH_PC_REGNUM = 33, /* Program Counter. */ LOONGARCH_BADV_REGNUM = 34, /* Bad Vaddr for Addressing Exception. */ + LOONGARCH_USED_NUM_GREGSET = 35, /* 32 GPR, ORIG_A0, PC, BADV. */ LOONGARCH_LINUX_NUM_GREGSET = 45, /* 32 GPR, ORIG_A0, PC, BADV, RESERVED 10. */ LOONGARCH_ARG_REGNUM = 8, /* r4-r11: general-purpose argument registers. f0-f7: floating-point argument registers. */ - LOONGARCH_FIRST_FP_REGNUM = LOONGARCH_LINUX_NUM_GREGSET, + LOONGARCH_FIRST_FP_REGNUM = LOONGARCH_USED_NUM_GREGSET, LOONGARCH_LINUX_NUM_FPREGSET = 32, LOONGARCH_FIRST_FCC_REGNUM = LOONGARCH_FIRST_FP_REGNUM + LOONGARCH_LINUX_NUM_FPREGSET, LOONGARCH_LINUX_NUM_FCC = 8,
reply other threads:[~2024-03-02 11:08 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20240302110825.C550F3858D1E@sourceware.org \ --to=yangtiezhu@sourceware.org \ --cc=gdb-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).