From: Andrew Cagney <ac131313@cygnus.com>
To: Daniel Jacobowitz <dmj+@andrew.cmu.edu>
Cc: gdb@sources.redhat.com
Subject: Re: parcelling up struct gdbarch
Date: Tue, 17 Jul 2001 10:46:00 -0000 [thread overview]
Message-ID: <3B547A08.2030403@cygnus.com> (raw)
In-Reply-To: <20010716154904.A8712@nevyn.them.org>
> I think that's acceptable. The ptrace buffer meets some important
> criteria:
> - it rarely changes, except perhaps to grow (SSE, altivec).
> - We already have to have code to parse it (in order for native gdb
> to work) although this code may not be easily cross-friendly
See other e-mail about signals/events having similar problems.
> On the other hand, we've already GOT a de-facto format, and there are
> debugging stubs out there that use it. This is where I'm confused.
For MIPS we've defacto standards, lots of defacto standards :-)
> What can we do to make it more obvious what format of G packet is being
> sent? My instinct tells me to define the format of the packet, with a
> version number and architecture string, and define a message from
> gdbserver to gdb which contains both arch and version. This would be
> useful for lots of other reasons too. Then if we see a G packet after
> receiving that version notification, we can just pass it off to the
> appropriate handler and be done.
There are two cases:
o GDB talking to one of those old stubs
o GDB talking to a not yet written stub
Even if someone did magic a new stub, GDB would still need to be able to
talk to all the old stubs. Consequently, I'll only look at old stubs.
With that in mind, I think, the G-packet <-> raw register mapping
shouldn't be per gdbarch hard-coded but instead driven by something the
user can specify on the command line. Short term, some sort of
hardwiring might be accepted.
Refering back to that figure:
G-packet registers
|
raw registers
|
cooked registers
If raw registers are given names independant of the user visible cooked
registers then, something as silly as:
0:gpr0,4;1:gpr1,4;4;3:spr0;8;4;...
would even work.
> That same version notification can define a format for the T and P
> packets also (of course gdbserver doesn't even support P packets yet,
> as far as I see).
John S. Kallal submitted a patch: ``[PATCH] Add remote P packet ...''
It needed to be split in two (cleanup VS change) and along with a few
other tweeks.
> Rather than letting ideas continue to bounce around, how's this:
> - add an arch request to GDB and gdbserver. It seems more natural for
> gdbserver to send its architecture and gdb acknowledge if it
> understands; but a qArch would work too.
See the multi-arch white paper. It notes both alternatives. qArch is
probably more inline with other parts of the protocol. I don't think
you need to do this to solve the current problems.
> - Define, for a given gdbarch, how to parse the G/T/P packet register
> numbering.
As I noted above, a given gdbarch might have _several_ G-packet <-> raw
register mappings
Andrew
next prev parent reply other threads:[~2001-07-17 10:46 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-13 0:16 Daniel Jacobowitz
2001-07-13 12:35 ` Andrew Cagney
2001-07-13 14:53 ` Daniel Jacobowitz
2001-07-14 8:33 ` Andrew Cagney
2001-07-16 11:25 ` Daniel Jacobowitz
2001-07-16 11:27 ` H . J . Lu
2001-07-16 12:04 ` Andrew Cagney
2001-07-16 12:34 ` J.T. Conklin
2001-07-16 15:30 ` Andrew Cagney
2001-07-16 15:40 ` Daniel Jacobowitz
2001-07-16 17:24 ` gdbserver (was Re: parcelling up struct gdbarch) Fabrice Gautier
2001-07-16 21:17 ` Daniel Jacobowitz
2001-07-16 22:22 ` Fabrice Gautier
2001-07-16 22:28 ` Daniel Jacobowitz
2001-07-17 10:00 ` Andrew Cagney
2001-07-17 10:11 ` Daniel Jacobowitz
2001-07-17 11:10 ` Andrew Cagney
2001-07-17 11:21 ` Daniel Jacobowitz
2001-07-17 11:46 ` Andrew Cagney
2001-07-17 10:36 ` Quality Quorum
2001-07-16 13:05 ` parcelling up struct gdbarch Daniel Jacobowitz
2001-07-16 15:15 ` Andrew Cagney
2001-07-16 15:49 ` Daniel Jacobowitz
2001-07-17 10:46 ` Andrew Cagney [this message]
2001-07-17 11:03 ` Daniel Jacobowitz
2001-07-17 11:37 ` Andrew Cagney
2001-07-18 13:21 ` Daniel Jacobowitz
2001-07-18 22:53 ` Andrew Cagney
2001-07-18 23:22 ` Daniel Jacobowitz
2001-07-19 0:23 ` Daniel Jacobowitz
2001-07-19 7:51 ` Andrew Cagney
2001-07-19 7:44 ` Andrew Cagney
2001-07-18 8:09 ` Andrew Cagney
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=3B547A08.2030403@cygnus.com \
--to=ac131313@cygnus.com \
--cc=dmj+@andrew.cmu.edu \
--cc=gdb@sources.redhat.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