From: Andrew Burgess Date: Tue, 23 Oct 2018 12:23:34 +0000 (+0100) Subject: gdb/riscv: Give user-friendly names for CSRs X-Git-Tag: users/ARM/embedded-binutils-master-2018q4~379 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=420ecd9ce8a3d61f950bf24d8d7b8827d09f59db;p=platform%2Fupstream%2Fbinutils.git 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 88d76db..db4c6b1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2018-10-23 Andrew Burgess + + * riscv-tdep.c (riscv_register_name): Use the user-friendly names + for CSRs. + 2018-10-23 Joel Brobecker * riscv-tdep.c (riscv_gdbarch_init): Set the gdbarch's 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)