Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew Burgess <andrew.burgess@embecosm.com>
To: gdb-patches@sourceware.org, binutils@sourceware.org
Subject: Re: [PATCHv3 0/9] Bare-metal core dumps for RISC-V
Date: Mon, 1 Mar 2021 10:32:41 +0000	[thread overview]
Message-ID: <20210301103241.GM265215@embecosm.com> (raw)
In-Reply-To: <cover.1613410057.git.andrew.burgess@embecosm.com>

Ping!

I'm planning to start merging this series later this week.  The code
was all reviewed in the v2 series.  The v3 mostly moves stuff around
to avoid adding dependencies on ELF support.

I still wonder if there's a better solution than the #ifdef block
added in patches 5 and 9, but these are pretty self-contained.  If
someone suggests a better approach later on then I'm happy to refactor
this code.

Thanks,
Andrew


* Andrew Burgess <andrew.burgess@embecosm.com> [2021-02-15 17:29:03 +0000]:

> After I pushed patch #1 from the v2 series it was pointed out that
> this broke any build of GDB for non-ELF targets.  I then reverted
> patch #1.  Now I'm back with an updated series.
> 
> For testing the build I have been using 'x86_64-apple-darwin20.3.0' as
> a non-ELF target.  I haven't done any actual functional testing on
> this target other than "it builds", but that's more than I did before
> (for non-ELF targets).
> 
> Between v2 and v3 then the changes are basically around the idea of
> not calling ELF specific functions from any generic code.  As far as
> possible I wanted to avoid just blocking code out with #ifdef, though
> I did use this trick in a limited way in patches #5 and #9, hopefully
> this is acceptable, though I'm open to suggestions for better ways to
> structure the code in these patches.
> 
> Here's a summary of which patches have changed:
> 
> (1) - Changed, common code from Linux and FreeBSD targets is now split
>       between gcore.c (for non-ELF code) and a new file gcore-elf.c
>       (for ELF specific code).  Changes to configure.ac ensure the ELF
>       specific file is only pulled in when needed.  This probably
>       needs a new review.
> 
> (2) - Minor updates to address Jim's review feedback.  Reviews are
>       welcome, but I'm considering this patch approved.
> 
> (3) - Code to add the target description note is moved to gcore-elf.c,
>       and each target must call this code (if the target is creating
>       an ELF based core file).  I don't like this as much as the
>       previous code where the target description note was added in one
>       place, but I can't see a good way to do this without adding a
>       #ifdef block to gcore.c.  This probably needs a new review.
> 
> (4) - Minor updates to address Jim's review feedback.  Reviews are
>       welcome, but I'm considering this patch approved.
> 
> (5) - The common bare metal core dump code is now in elf-none-tdep.c.
>       This is then called from the riscv-none-tdep.c code ONLY if we
>       have ELF support.  This is the use of '#ifdef HAVE_ELF' which is
>       a little yuck, but I can't see a better solution.  This probably
>       needs a new review.
> 
> (6) - Minor updates to address Jim's review feedback.  Reviews are
>       welcome, but I'm considering this patch approved.
> 
> (7) - No changes.  Reviews are welcome, but I'm considering this patch
>       approved.
> 
> (8) - No changes.  Reviews are welcome, but I'm considering this patch
>       approved.
> 
> (9) - No significant changes.  Like patch #5 it now includes a '#ifdef
>       HAVE_ELF' block in order to guard the call from arm-none-tdep.c
>       to elf-none-tdep.c.  I'd prefer reviews of this approach be
>       addressed to patch #5, I'll apply any feedback I get there to
>       this patch too.
> 
> ---
> 
> 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         |  27 ++++++
>  bfd/elf-bfd.h         |   4 +
>  bfd/elf.c             |  70 ++++++++++++++
>  bfd/elfnn-riscv.c     |  84 ++++++++++++++++-
>  binutils/ChangeLog    |  10 ++
>  binutils/readelf.c    |   4 +
>  gdb/ChangeLog         |  88 +++++++++++++++++
>  gdb/Makefile.in       |   8 ++
>  gdb/arm-none-tdep.c   | 213 ++++++++++++++++++++++++++++++++++++++++++
>  gdb/configure         |   3 +-
>  gdb/configure.ac      |   3 +-
>  gdb/configure.tgt     |   5 +-
>  gdb/corelow.c         |  24 +++++
>  gdb/elf-none-tdep.c   | 126 +++++++++++++++++++++++++
>  gdb/elf-none-tdep.h   |  30 ++++++
>  gdb/fbsd-tdep.c       | 137 ++-------------------------
>  gdb/gcore-elf.c       | 166 ++++++++++++++++++++++++++++++++
>  gdb/gcore-elf.h       |  47 ++++++++++
>  gdb/gcore.c           |  21 +++++
>  gdb/gcore.h           |   9 ++
>  gdb/linux-tdep.c      | 146 +++--------------------------
>  gdb/riscv-none-tdep.c | 173 ++++++++++++++++++++++++++++++++++
>  gdb/riscv-tdep.c      |  14 ++-
>  gdb/riscv-tdep.h      |   3 +
>  include/ChangeLog     |  10 ++
>  include/elf/common.h  |   6 ++
>  26 files changed, 1159 insertions(+), 272 deletions(-)
>  create mode 100644 gdb/arm-none-tdep.c
>  create mode 100644 gdb/elf-none-tdep.c
>  create mode 100644 gdb/elf-none-tdep.h
>  create mode 100644 gdb/gcore-elf.c
>  create mode 100644 gdb/gcore-elf.h
>  create mode 100644 gdb/riscv-none-tdep.c
> 
> -- 
> 2.25.4
> 

  parent reply	other threads:[~2021-03-01 10:32 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-20 20:23 [PATCHv2 " Andrew Burgess
2021-01-20 20:23 ` [PATCHv2 1/9] gdb: unify parts of the Linux and FreeBSD core dumping code Andrew Burgess
2021-01-22 12:01   ` Strasuns, Mihails via Gdb-patches
2021-01-22 18:50   ` Tom Tromey
2021-02-01 11:56   ` Andrew Burgess
2021-02-09 21:52     ` Andrew Burgess
2021-01-20 20:23 ` [PATCHv2 2/9] bfd/binutils: support for gdb target descriptions in the core file Andrew Burgess
2021-01-22 10:47   ` Strasuns, Mihails via Gdb-patches
2021-01-22 19:30     ` Andrew Burgess
2021-01-25 10:11       ` Strasuns, Mihails via Gdb-patches
2021-01-25 11:20         ` Andrew Burgess
2021-02-01 12:05   ` PING: " Andrew Burgess
2021-02-01 15:10     ` Strasuns, Mihails via Gdb-patches
2021-02-01 13:29   ` Luis Machado via Gdb-patches
2021-02-10 20:45   ` Jim Wilson
2021-01-20 20:23 ` [PATCHv2 3/9] gdb: write target description into " Andrew Burgess
2021-01-22 19:15   ` Tom Tromey
2021-02-01 13:37   ` Luis Machado via Gdb-patches
2021-01-20 20:23 ` [PATCHv2 4/9] bfd/riscv: prepare to handle bare metal core dump creation Andrew Burgess
2021-02-01 12:03   ` PING: " Andrew Burgess
2021-02-01 13:48   ` Luis Machado via Gdb-patches
2021-02-01 14:44     ` Andrew Burgess
2021-02-10 20:57   ` Jim Wilson
2021-01-20 20:23 ` [PATCHv2 5/9] gdb/riscv: introduce bare metal core dump support Andrew Burgess
2021-02-01 14:05   ` Luis Machado via Gdb-patches
2021-02-03  3:04     ` Palmer Dabbelt
2021-01-20 20:23 ` [PATCHv2 6/9] bfd/binutils: add support for RISC-V CSRs in core files Andrew Burgess
2021-02-01 12:00   ` Andrew Burgess
2021-02-01 14:08     ` Luis Machado via Gdb-patches
2021-02-10 21:00     ` Jim Wilson
2021-01-20 20:23 ` [PATCHv2 7/9] gdb/riscv: make riscv target description names global Andrew Burgess
2021-02-01 14:22   ` Luis Machado via Gdb-patches
2021-01-20 20:23 ` [PATCHv2 8/9] gdb/riscv: write CSRs into baremetal core dumps Andrew Burgess
2021-02-01 14:33   ` Luis Machado via Gdb-patches
2021-01-20 20:23 ` [PATCHv2 9/9] gdb/arm: add support for bare-metal " Andrew Burgess
2021-02-01 14:51   ` Luis Machado via Gdb-patches
2021-01-22 19:28 ` [PATCHv2 0/9] Bare-metal core dumps for RISC-V Tom Tromey
2021-02-15 17:29 ` [PATCHv3 " Andrew Burgess
2021-02-15 17:29   ` [PATCHv3 1/9] gdb: unify parts of the Linux and FreeBSD core dumping code Andrew Burgess
2021-02-15 22:56     ` Lancelot SIX via Gdb-patches
2021-02-16 16:55       ` Andrew Burgess
2021-02-15 17:29   ` [PATCHv3 2/9] bfd/binutils: support for gdb target descriptions in the core file Andrew Burgess
2021-02-15 17:29   ` [PATCHv3 3/9] gdb: write target description into " Andrew Burgess
2021-02-15 17:29   ` [PATCHv3 4/9] bfd/riscv: prepare to handle bare metal core dump creation Andrew Burgess
2021-02-15 17:29   ` [PATCHv3 5/9] gdb/riscv: introduce bare metal core dump support Andrew Burgess
2021-02-15 17:29   ` [PATCHv3 6/9] bfd/binutils: add support for RISC-V CSRs in core files Andrew Burgess
2021-02-15 17:29   ` [PATCHv3 7/9] gdb/riscv: make riscv target description names global Andrew Burgess
2021-02-15 17:29   ` [PATCHv3 8/9] gdb/riscv: write CSRs into baremetal core dumps Andrew Burgess
2021-02-15 17:29   ` [PATCHv3 9/9] gdb/arm: add support for bare-metal " Andrew Burgess
2021-05-13 13:42     ` Andrew Burgess
2021-05-13 13:51       ` Luis Machado via Gdb-patches
2021-05-13 13:56         ` Andrew Burgess
2021-05-15 13:52           ` SV: " sarah@hederstierna.com
2021-06-01  9:00             ` Andrew Burgess
2021-03-01 10:32   ` Andrew Burgess [this message]
2021-03-01 14:45     ` [PATCHv3 0/9] Bare-metal core dumps for RISC-V Nick Clifton via Gdb-patches
2021-03-05 17:35     ` Andrew Burgess

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210301103241.GM265215@embecosm.com \
    --to=andrew.burgess@embecosm.com \
    --cc=binutils@sourceware.org \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox