aboutsummaryrefslogtreecommitdiff
path: root/binutils/ChangeLog
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2019-11-18 16:00:59 +0000
committerAndrew Burgess <andrew.burgess@embecosm.com>2019-11-28 00:03:05 +0000
commit4762fe621e84347b6e1ad1f2d16d2bc6cd28495e (patch)
treefde8d0eaf6ccacdd25c11b29283328ad3956ee2c /binutils/ChangeLog
parent1296bc99b1bf5da38be18ac1fdf6ad8d1b697e6b (diff)
downloadgdb-4762fe621e84347b6e1ad1f2d16d2bc6cd28495e.zip
gdb-4762fe621e84347b6e1ad1f2d16d2bc6cd28495e.tar.gz
gdb-4762fe621e84347b6e1ad1f2d16d2bc6cd28495e.tar.bz2
binutils/gas/riscv: Add DWARF register numbers for CSRs
This commit gives DWARF register numbers to the RISC-V CSRs inline with the RISC-V ELF specification here: https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md The CSRs are defined being numbered from 4096 to 8191. This adds support to the assembler, required in order to reference CSRs in, for example .cfi directives. I have then extended dwarf.c in order to support printing CSR names in the dumped DWARF output. As the CSR name space is quite large and only sparsely populated, I have provided a new function to perform RISC-V DWARF register name lookup which uses a switch statement rather than the table base approach that other architectures use. Any CSR that does not have a known name will return a name based on 'csr%d' with the %d being replaced by the offset of the CSR from 4096. gas/ChangeLog: * config/tc-riscv.c (tc_riscv_regname_to_dw2regnum): Lookup CSR names too. * testsuite/gas/riscv/csr-dw-regnums.d: New file. * testsuite/gas/riscv/csr-dw-regnums.s: New file. binutils/ChangeLog: * dwarf.c (regname_internal_riscv): New function. (init_dwarf_regnames_riscv): Use new function. Change-Id: I3f70bc24fa8b3c75744e6775eeeb87db70c7ecfb
Diffstat (limited to 'binutils/ChangeLog')
-rw-r--r--binutils/ChangeLog5
1 files changed, 5 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 9aace13..d912989 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,5 +1,10 @@
2019-11-22 Andrew Burgess <andrew.burgess@embecosm.com>
+ * dwarf.c (regname_internal_riscv): New function.
+ (init_dwarf_regnames_riscv): Use new function.
+
+2019-11-22 Andrew Burgess <andrew.burgess@embecosm.com>
+
* dwarf.c (typedef dwarf_regname_lookup_ftype): New typedef.
(dwarf_regnames_lookup_func): New static global.
(init_dwarf_regnames_i386): Set dwarf_regnames_lookup_func.