public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Burgess <andrew.burgess@embecosm.com>
To: Luis Machado <luis.machado@linaro.org>
Cc: binutils@sourceware.org, gdb-patches@sourceware.org,
	Paul Mathieu <paulmathieu@google.com>,
	Fredrik Hederstierna <fredrik.hederstierna@verisure.com>
Subject: Re: [PATCH 5/8] gdb/riscv: introduce bare metal core dump support
Date: Mon, 7 Dec 2020 18:11:36 +0000	[thread overview]
Message-ID: <20201207181136.GN2729@embecosm.com> (raw)
In-Reply-To: <615830c3-4ccb-cfd6-3721-0123d6c4b56a@linaro.org>

* Luis Machado <luis.machado@linaro.org> [2020-12-07 14:24:33 -0300]:

> On 12/7/20 1:58 PM, Andrew Burgess wrote:
> > * Luis Machado <luis.machado@linaro.org> [2020-12-07 12:58:19 -0300]:
> > 
> > > On 12/7/20 12:17 PM, Andrew Burgess wrote:
> > > > * Luis Machado <luis.machado@linaro.org> [2020-12-02 15:12:26 -0300]:
> > > > 
> > > > > CC-ing paulmathieu@google.com and fredrik.hederstierna@verisure.com, who
> > > > > were also looking into supporting bare metal ARM core files.
> > > > > 
> > > > > Just a quick note...
> > > > > 
> > > > > Back in October we pondered about this and it looked reasonable, at the
> > > > > time, to put some effort into documenting the format (unlike the current
> > > > > Linux core file format, which lacks good documentation).
> > > > > 
> > > > > My take on it is that we need to settle on a format that works for multiple
> > > > > architectures.
> > > > 
> > > > Hi Luis,
> > > > 
> > > > Thanks for your feedback, I'd love to better understand what you are
> > > > proposing here.
> > > 
> > > Sure. What I'm proposing here is the same I proposed in this thread about
> > > ARM bare metal core files...
> > > 
> > > https://sourceware.org/pipermail/gdb-patches/2020-October/172617.html
> > > 
> > > ... and also suggested by Simon here:
> > > 
> > > https://sourceware.org/pipermail/gdb-patches/2020-October/172270.html
> > > 
> > > In summary, we should document what a bare metal core file is, what pieces
> > > it is expected to contain (registers, target descriptions, hardware
> > > information, execution environment etc) and what format it will be in.
> > > 
> > > > 
> > > > Could you expand a little on why we need a format that supports
> > > > multiple architectures (i.e. what benefits will this bring)?  And how
> > > > this would be different to the approach taken here
> > > 
> > > Having a common format makes it easier to maintain the code and expand the
> > > features when needed. This is not different from the Linux core file we have
> > > today. The Linux core file is a common format.
> > > 
> > > But unlike Linux core files, which have less than ideal documentation and
> > > specifications, we want to take this opportunity to start clean and to
> > > document everything required to have a proper bare metal core file.
> > > 
> > > I think this initial definition and documentation will benefit developers
> > > moving forward.
> > > 
> > > Does that make it more clear?
> > 
> > Not really.  I'll go read the various threads that you referenced and
> > see come back once I have more specific questions.
> > 
> > Thanks for the pointers.
> > 
> > Andrew
> > 
> 
> I'm sorry that did not clarify things, but there isn't much more than that
> really. All I'm suggesting (up to you to accept it) is that we
> clarify/coordinate with the interested parties on what is needed for bare
> metal core files and document it properly (I don't think code is proper
> documentation).

Sure.

What I don't understand is you talk about creating "a format that
works for multiple architectures".

Current Linux/FreeBSD core files are a container (often ELF) with
NOTES containing additional information.

By format are you suggesting we come up with something non-ELF?  I
doubt this is the case, but if so, why would we want to do this?

Or are you suggesting some kind of coordination for note
names/numbers?  But I don't see how this is different to what we have
right now.

I'm tight on time right now, but I skimmed the threads you linked, I
looked at Fredrik's v4 patch[1] from Oct-25.  This patch had some of
the boiler-plate code lifted into a common file, which I could
integrate into my series, but otherwise the patches are pretty
similar.

You hadn't followed up to Fredrik's v4 patch[1], but based on your
comments to the v2 patch[2] I'm guessing you're still not happy with
v4 (please do correct me if this guess is wrong).

In your comments to Fredrik's v2 patch[2] you say:

  We should really discuss what the generic core file format for
  bare-metal targets will look like before having a possible patch to
  implement it. At least that's my take on it.

To which there's no follow up.  Is there a mail I've missed where you
sketch out your ideas for what this generic format might look like?

How about I propose something here to get the ball rolling, and you
(or others) can suggest improvements, or ask for clarifying questions:

 - A container file format, lets say ELF,
 - Loadable sections corresponding to the loaded memory contents,
 - A NOTES section containing auxiliary information, e.g.
   + Threads (thread per core?)
   + Registers for each thread

Unsurprisingly this lines up with what I've proposed, and if I'm
reading the patch correctly, with what Fredrik is also proposing.

Thanks,
Andrew

[1] https://sourceware.org/pipermail/gdb-patches/2020-October/172845.html
[2] https://sourceware.org/pipermail/gdb-patches/2020-October/172721.html

  reply	other threads:[~2020-12-07 18:11 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-02 17:39 [PATCH 0/8] Bare-metal core dumps for RISC-V Andrew Burgess
2020-12-02 17:39 ` [PATCH 1/8] gdb/riscv: use a single regset supply function for riscv fbsd & linux Andrew Burgess
2021-01-18 14:15   ` Andrew Burgess
2020-12-02 17:39 ` [PATCH 2/8] bfd/binutils: support for gdb target descriptions in the core file Andrew Burgess
2020-12-02 18:21   ` Luis Machado
2020-12-02 22:58     ` Jim Wilson
2020-12-03 12:16       ` Luis Machado
     [not found]         ` <20201214115512.GI2945@embecosm.com>
2021-01-11 10:19           ` Andrew Burgess
2021-01-11 13:03             ` Luis Machado
2020-12-07 12:48     ` Andrew Burgess
2020-12-02 17:39 ` [PATCH 3/8] gdb: write target description into " Andrew Burgess
2020-12-03 20:36   ` Tom Tromey
2020-12-07 14:38     ` Andrew Burgess
2020-12-02 17:39 ` [PATCH 4/8] bfd/riscv: prepare to handle bare metal core dump creation Andrew Burgess
2020-12-02 23:24   ` Jim Wilson
2020-12-07 14:39     ` Andrew Burgess
2020-12-02 17:39 ` [PATCH 5/8] gdb/riscv: introduce bare metal core dump support Andrew Burgess
2020-12-02 18:12   ` Luis Machado
2020-12-07 15:17     ` Andrew Burgess
2020-12-07 15:58       ` Luis Machado
2020-12-07 16:58         ` Andrew Burgess
2020-12-07 17:24           ` Luis Machado
2020-12-07 18:11             ` Andrew Burgess [this message]
2020-12-07 19:00               ` Luis Machado
2020-12-07 19:23                 ` Andrew Burgess
2020-12-07 19:39                   ` Luis Machado
2020-12-07 19:51                     ` Paul Mathieu
2020-12-13 10:13                       ` Fredrik Hederstierna
2020-12-02 17:39 ` [PATCH 6/8] bfd/binutils: add support for RISC-V CSRs in core files Andrew Burgess
2020-12-02 23:50   ` Jim Wilson
2020-12-07 15:19     ` Andrew Burgess
2020-12-14 13:37     ` Andrew Burgess
2020-12-02 17:39 ` [PATCH 7/8] gdb/riscv: make riscv target description names global Andrew Burgess
2020-12-02 17:39 ` [PATCH 8/8] gdb/riscv: write CSRs into baremetal core dumps Andrew Burgess
2020-12-02 23:59 ` [PATCH 0/8] Bare-metal core dumps for RISC-V Jim Wilson
2020-12-07 12:10   ` Andrew Burgess
2020-12-07 19:57     ` Jim Wilson
2020-12-03 20:40 ` Tom Tromey

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=20201207181136.GN2729@embecosm.com \
    --to=andrew.burgess@embecosm.com \
    --cc=binutils@sourceware.org \
    --cc=fredrik.hederstierna@verisure.com \
    --cc=gdb-patches@sourceware.org \
    --cc=luis.machado@linaro.org \
    --cc=paulmathieu@google.com \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).