[PATCHv2 0/9] Bare-metal core dumps for RISC-V
Andrew Burgess
andrew.burgess@embecosm.com
Wed Jan 20 20:23:06 GMT 2021
This is an update of this patch series:
https://sourceware.org/pipermail/gdb-patches/2020-December/173697.html
But also includes an update of this patch:
https://sourceware.org/pipermail/gdb-patches/2020-October/172845.html
Here is a summary of what's changed:
Patch #1 - This is new. Unify some of the core dump logic between
Linux and OpenBSD. This unified code will then be reused
again for the bare metal core dumping.
Patch #2 - The constant NT_GDB_TDESC has received a new value, along
with an extended comment at its definition site.
Patch #3 - Force null byte at the end of the description string, and
add an extra null pointer check into the code.
Patch #4 - Minor updates to wording as suggested by Jim.
Patch #5 - The bare metal core dump support is now split between a
common file and a riscv specific file. The common file
also reuses some of the code factored out in patch 1.
Finally, the commit message for this commit includes a much
fuller description of the core dump format. Please see the
patch email for more details.
Patch #6 - New number suggested for NT_RISCV_CSR constant, see the
patch email for more details on why.
Patch #7 - No change.
Patch #8 - No change.
Patch #9 - This is new (in this series). This is a rebase of
Fredrik's patch adding bare metal core dump support for
ARM. I don't know if I would actually merge this patch as
part of this series, I guess it depends on the feedback (my
interest is RISC-V), but I wanted to include this to show
how the patch would look when integrated with my work.
As with patch 5 I have included a description of the core
file format in the commit message. Please see the patch
email for more details.
All feedback welcome.
Thanks,
Andrew
---
Andrew Burgess (9):
gdb: unify parts of the Linux and FreeBSD core dumping code
bfd/binutils: support for gdb target descriptions in the core file
gdb: write target description into core file
bfd/riscv: prepare to handle bare metal core dump creation
gdb/riscv: introduce bare metal core dump support
bfd/binutils: add support for RISC-V CSRs in core files
gdb/riscv: make riscv target description names global
gdb/riscv: write CSRs into baremetal core dumps
gdb/arm: add support for bare-metal core dumps
bfd/ChangeLog | 24 +++++
bfd/elf-bfd.h | 4 +
bfd/elf.c | 46 ++++++++++
bfd/elfnn-riscv.c | 72 +++++++++++++++
binutils/ChangeLog | 10 ++
binutils/readelf.c | 4 +
gdb/ChangeLog | 76 +++++++++++++++
gdb/Makefile.in | 6 ++
gdb/arm-none-tdep.c | 208 ++++++++++++++++++++++++++++++++++++++++++
gdb/configure.tgt | 5 +-
gdb/corelow.c | 24 +++++
gdb/fbsd-tdep.c | 135 ++-------------------------
gdb/gcore.c | 157 +++++++++++++++++++++++++++++++
gdb/gcore.h | 20 ++++
gdb/linux-tdep.c | 141 ++--------------------------
gdb/none-tdep.c | 119 ++++++++++++++++++++++++
gdb/none-tdep.h | 30 ++++++
gdb/riscv-none-tdep.c | 168 ++++++++++++++++++++++++++++++++++
gdb/riscv-tdep.c | 14 ++-
gdb/riscv-tdep.h | 3 +
include/ChangeLog | 10 ++
include/elf/common.h | 6 ++
22 files changed, 1014 insertions(+), 268 deletions(-)
create mode 100644 gdb/arm-none-tdep.c
create mode 100644 gdb/none-tdep.c
create mode 100644 gdb/none-tdep.h
create mode 100644 gdb/riscv-none-tdep.c
--
2.25.4
More information about the Binutils
mailing list