From: Daniel Jacobowitz <drow@false.org>
To: Jim Blandy <jimb@redhat.com>
Cc: Andrew Cagney <cagney@gnu.org>, gdb-patches@sources.redhat.com
Subject: Re: RFA: make sim interface use gdbarch methods for collect/supply
Date: Tue, 06 Jul 2004 17:17:00 -0000 [thread overview]
Message-ID: <20040706171646.GA595@nevyn.them.org> (raw)
In-Reply-To: <vt2llhx6p1g.fsf@zenia.home>
On Tue, Jul 06, 2004 at 12:09:15PM -0500, Jim Blandy wrote:
>
> Daniel Jacobowitz <drow@false.org> writes:
> > On Fri, Jul 02, 2004 at 11:39:41AM -0400, Andrew Cagney wrote:
> > > >On Thu, Jul 01, 2004 at 01:44:53PM -0500, Jim Blandy wrote:
> > > >
> > > >>>
> > > >>>Daniel Jacobowitz <drow@false.org> writes:
> > > >>
> > > >>>>> GDB won't have to know where to place their contents in the buffer!
> > > >>>>> That's the point of using a regset. You convert the 'g' packet output
> > > >>>>> to a binary blob in the obvious way, and then that's your regset. The
> > > >>>>> target architecture supplies a regset that expects the format provided
> > > >>>>> by the 'g' packet. Is there some problem with that plan?
> > > >>
> > > >>>
> > > >>>No, regsets are perfect for 'g'. I was thinking of the single-
> > > >>>register case (all under the assumption that we'd like to restrict
> > > >>>uses of supply_register and collect_register to regset functions).
> > > >>>What do you do with, say, the individual registers from your fancy 'T'
> > > >>>reply?
> > > >
> > > >
> > > >I have no idea. Good question.
> > >
> > > (I've attached a few of comments that go with TARGET_OBJECT, check the
> > > archives for qPart)
> > >
> > > For regsets, the ``void *buffer/long length'' pair can be replaced by a
> > > single ``byte array'' object.
> > >
> > > The regset code can then send offset/length xfer requests to that ``byte
> > > array''. For cores, the byte array would extract the bytes from the
> > > core file; for ptrace, the byte array would extract the bytes using the
> > > relevant ptrace call; and for the remote inferior, the request would be
> > > converted into one or more qPart packets (sending the
> > > regset/offset/length across the wire).
> > >
> > > When it comes to a `T' reply, the remote inferior can push
> > > regset/offset/length data for parts of the regset buffer that it thinks
> > > are interesting.
> >
> > If I'm interpreting your answer right, it is: "don't do anything about
> > it, change the remote protocol instead", right?
> >
> > A more practical approach would probably be to maintain a mapping of
> > the remote protocol register numbers to GDB's internal register numbers
> > in addition to register sets. I don't see any problem with that.
>
> What if the remote protocol wants to talk about a 64-bit register, but
> GDB's raw regcache sees that as two 32-bit registers? A simple
> number-to-number mapping doesn't do the trick.
Don't do that then. Pass those as a regset, not numbered in the T
packet. Or have the register renumbering function map that number to
the combined pseudo register!
--
Daniel Jacobowitz
next prev parent reply other threads:[~2004-07-06 17:17 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-30 15:48 Jim Blandy
2004-06-30 15:53 ` Daniel Jacobowitz
2004-06-30 17:00 ` Jim Blandy
2004-07-01 2:48 ` Daniel Jacobowitz
2004-07-01 17:23 ` Jim Blandy
2004-07-01 17:31 ` Daniel Jacobowitz
2004-07-01 18:45 ` Jim Blandy
2004-07-01 18:48 ` Daniel Jacobowitz
2004-07-02 15:39 ` Andrew Cagney
2004-07-06 15:38 ` Daniel Jacobowitz
2004-07-06 17:10 ` Jim Blandy
2004-07-06 17:17 ` Daniel Jacobowitz [this message]
2004-07-15 18:35 ` Jim Blandy
2004-07-16 15:01 ` Daniel Jacobowitz
2004-07-06 17:43 ` Andrew Cagney
2004-07-06 18:31 ` Daniel Jacobowitz
2004-07-02 15:19 ` Andrew Cagney
2004-07-02 22:13 ` Jim Blandy
2004-07-06 15:18 ` 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=20040706171646.GA595@nevyn.them.org \
--to=drow@false.org \
--cc=cagney@gnu.org \
--cc=gdb-patches@sources.redhat.com \
--cc=jimb@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