From 420ecd9ce8a3d61f950bf24d8d7b8827d09f59db Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Tue, 23 Oct 2018 13:23:34 +0100 Subject: gdb/riscv: Give user-friendly names for CSRs The recent commit: commit 0dbfcfffe9abbc5198bce95eb8c66b6bc9b364be Date: Tue Oct 16 22:40:09 2018 +0100 gdb/riscv: Fix register access for register aliases broke the CSR names for RISC-V, now all of the CSRs have names like, csr0, csr1, csr2, etc. This commit restores the previous user-friendly names. gdb/ChangeLog: * riscv-tdep.c (riscv_register_name): Use the user-friendly names for CSRs. --- gdb/riscv-tdep.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'gdb/riscv-tdep.c') diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c index 48ca2ac..f02420d 100644 --- a/gdb/riscv-tdep.c +++ b/gdb/riscv-tdep.c @@ -482,11 +482,22 @@ riscv_register_name (struct gdbarch *gdbarch, int regnum) if (regnum >= RISCV_FIRST_CSR_REGNUM && regnum <= RISCV_LAST_CSR_REGNUM) { - static char buf[20]; +#define DECLARE_CSR(NAME,VALUE) \ + case RISCV_ ## VALUE ## _REGNUM: return # NAME; - xsnprintf (buf, sizeof (buf), "csr%d", - regnum - RISCV_FIRST_CSR_REGNUM); - return buf; + switch (regnum) + { + #include "opcode/riscv-opc.h" + default: + { + static char buf[20]; + + xsnprintf (buf, sizeof (buf), "csr%d", + regnum - RISCV_FIRST_CSR_REGNUM); + return buf; + } + } +#undef DECLARE_CSR } if (regnum == RISCV_PRIV_REGNUM) -- cgit v1.1