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.
This commit is contained in:
Andrew Burgess 2018-10-23 13:23:34 +01:00
parent 45a0eaf770
commit 420ecd9ce8
2 changed files with 20 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2018-10-23 Andrew Burgess <andrew.burgess@embecosm.com>
* riscv-tdep.c (riscv_register_name): Use the user-friendly names
for CSRs.
2018-10-23 Joel Brobecker <brobecker@adacore.com>
* riscv-tdep.c (riscv_gdbarch_init): Set the gdbarch's

View File

@ -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)