diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-11-27 14:04:16 +0000 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2021-03-05 17:21:41 +0000 |
commit | db6092f3aec43ea4d10efc5ff74274f04cdc0ad6 (patch) | |
tree | f50ff118e61587a56f804b39683c114886f0b11a /include | |
parent | fb8f3fc0c3c4d04856547fddb86d7c9dabef681b (diff) | |
download | gdb-db6092f3aec43ea4d10efc5ff74274f04cdc0ad6.zip gdb-db6092f3aec43ea4d10efc5ff74274f04cdc0ad6.tar.gz gdb-db6092f3aec43ea4d10efc5ff74274f04cdc0ad6.tar.bz2 |
bfd/binutils: add support for RISC-V CSRs in core files
Adds support for including RISC-V control and status registers into
core files.
The value for the define NT_RISCV_CSR is set to 0x900, this
corresponds to a patch I have proposed for the Linux kernel here:
http://lists.infradead.org/pipermail/linux-riscv/2020-December/003910.html
As I have not yet heard if the above patch will be accepted into the
kernel or not I have set the note name string to "GDB", and the note
type to NT_RISCV_CSR.
This means that if the above patch is rejected from the kernel, and
the note type number 0x900 is assigned to some other note type, we
will still be able to distinguish between the GDB produced
NT_RISCV_CSR, and the kernel produced notes, where the name would be
set to "CORE".
bfd/ChangeLog:
* elf-bfd.h (elfcore_write_riscv_csr): Declare.
* elf.c (elfcore_grok_riscv_csr): New function.
(elfcore_grok_note): Handle NT_RISCV_CSR.
(elfcore_write_riscv_csr): New function.
(elfcore_write_register_note): Handle '.reg-riscv-csr'.
binutils/ChangeLog:
* readelf.c (get_note_type): Handle NT_RISCV_CSR.
include/ChangeLog:
* elf/common.h (NT_RISCV_CSR): Define.
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/elf/common.h | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 08c4567..0a6e4b6 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,6 +1,11 @@ 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com> Andrew Burgess <andrew.burgess@embecosm.com> + * elf/common.h (NT_RISCV_CSR): Define. + +2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com> + Andrew Burgess <andrew.burgess@embecosm.com> + * elf/common.h (NT_GDB_TDESC): Define. 2021-03-03 Alan Modra <amodra@gmail.com> diff --git a/include/elf/common.h b/include/elf/common.h index e6e9c27..4cb3748 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -674,6 +674,8 @@ /* note name must be "LINUX". */ #define NT_ARC_V2 0x600 /* ARC HS accumulator/extra registers. */ /* note name must be "LINUX". */ +#define NT_RISCV_CSR 0x900 /* RISC-V Control and Status Registers */ + /* note name must be "CORE". */ #define NT_SIGINFO 0x53494749 /* Fields of siginfo_t. */ #define NT_FILE 0x46494c45 /* Description of mapped files. */ |