[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