public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Burgess <andrew.burgess@embecosm.com>
To: "Strasuns, Mihails" <mihails.strasuns@intel.com>
Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>,
	"binutils@sourceware.org" <binutils@sourceware.org>,
	Fredrik Hederstierna <fredrik@hederstierna.com>
Subject: Re: [PATCHv2 2/9] bfd/binutils: support for gdb target descriptions in the core file
Date: Fri, 22 Jan 2021 19:30:04 +0000	[thread overview]
Message-ID: <20210122193004.GB265215@embecosm.com> (raw)
In-Reply-To: <BN6PR11MB185814AEDA4BADDCE08A0B3395A00@BN6PR11MB1858.namprd11.prod.outlook.com>

* Strasuns, Mihails <mihails.strasuns@intel.com> [2021-01-22 10:47:23 +0000]:

> > -----Original Message-----
> > From: Gdb-patches <gdb-patches-bounces@sourceware.org> On Behalf Of
> > Andrew Burgess
> > Sent: Wednesday, January 20, 2021 9:23 PM
> > To: gdb-patches@sourceware.org; binutils@sourceware.org
> > Cc: Fredrik Hederstierna <fredrik@hederstierna.com>
> > Subject: [PATCHv2 2/9] bfd/binutils: support for gdb target descriptions in
> > the core file
> > 
> > This commit lays the ground work for allowing GDB to write its target
> > description into a generated core file.
> > 
> > The goal of this work is to allow a user to connect to a remote target, capture
> > a core file from within GDB, then pass the executable and core file to another
> > user and have the user be able to examine the state of the machine without
> > needing to connect to a running target.
> >
> > Different remote targets can have different register sets and this information
> > is communicated from the target to GDB in the target description.
>
> Why is it necessary to store a GDB target description for this? Core
> files already define machine/arch, same as executable ELFs. There
> still can be some register variation between different platform
> versions, but it would still need to be denoted somehow in a native
> core file.
> 
> My concern is for making a "GDB core file" and a "native core file"
> even more different than it is currently on Linux. I guess this is
> aimed at a barebone environments where there is currently no native
> core dump support at all but even there it is not guaranteed.

I was following you until "... but even there it is not guaranteed."
I'm not sure what it is that is not guaranteed.

Yes, absolutely my interest here is bare metal core dumps, but I don't
see including the target description in all core files as a big
problem.

I'm not aware that GDB was ever aiming to create core dumps that would
be identical to kernel produced dumps, just that they should be
compatible.

Including an extra note should be transparent to any well behaved tool
(I'd hope), or at worst maybe a warning about not understanding the
note

The problem I'm trying to solve is that the RISC-V targets I'm working
with have a pretty random collection of control status registers
(CSRs), included off-spec registers.  I'd like to capture these in the
core dump, so the approach I have right now is just dump all of them
in target description order.

Anyway, back to your concerns...

...would making target description inclusion optional/switchable be
enough to alleviate your concerns?  Would you rather it was default
off, or would you be happy with switchable default on?

Thanks,
Andrew

>  
> > It is possible for a user to extract the target description from GDB and pass
> > this along with the core file so that when the core file is used the target
> > description can be fed back into GDB, however this is not a great user
> > experience.
> > 
> > It would be nicer, I think, if GDB could write the target description directly
> > into the core file, and then make use of this description when loading a core
> > file.
> > 
> > This commit performs the binutils/bfd side of this task, adding the boiler
> > plate functions to access the target description from within a core file note,
> > and reserving a new number for a note containing the target description.
> > 
> > Later commits will extend GDB to make use of this.
> Intel Deutschland GmbH
> Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
> Tel: +49 89 99 8853-0, www.intel.de
> Managing Directors: Christin Eisenschmid, Gary Kershaw
> Chairperson of the Supervisory Board: Nicole Lau
> Registered Office: Munich
> Commercial Register: Amtsgericht Muenchen HRB 186928
> 

  reply	other threads:[~2021-01-22 19:30 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-20 20:23 [PATCHv2 0/9] Bare-metal core dumps for RISC-V 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
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
2021-01-22 19:30     ` Andrew Burgess [this message]
2021-01-25 10:11       ` Strasuns, Mihails
2021-01-25 11:20         ` Andrew Burgess
2021-02-01 12:05   ` PING: " Andrew Burgess
2021-02-01 15:10     ` Strasuns, Mihails
2021-02-01 13:29   ` Luis Machado
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
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
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
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
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
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
2021-01-20 20:23 ` [PATCHv2 9/9] gdb/arm: add support for bare-metal " Andrew Burgess
2021-02-01 14:51   ` Luis Machado
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
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
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   ` [PATCHv3 0/9] Bare-metal core dumps for RISC-V Andrew Burgess
2021-03-01 14:45     ` Nick Clifton
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=20210122193004.GB265215@embecosm.com \
    --to=andrew.burgess@embecosm.com \
    --cc=binutils@sourceware.org \
    --cc=fredrik@hederstierna.com \
    --cc=gdb-patches@sourceware.org \
    --cc=mihails.strasuns@intel.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).