Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <dmj+@andrew.cmu.edu>
To: Andrew Cagney <ac131313@cygnus.com>
Cc: gdb@sources.redhat.com
Subject: Re: parcelling up struct gdbarch
Date: Tue, 17 Jul 2001 11:03:00 -0000	[thread overview]
Message-ID: <20010717110305.A18932@nevyn.them.org> (raw)
In-Reply-To: <3B547A08.2030403@cygnus.com>

On Tue, Jul 17, 2001 at 01:46:48PM -0400, Andrew Cagney wrote:
> 
> > 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.

[I really need to think email out before I send it a little more, I
said the exact opposite of the above further down.  Oh well.]

> 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.

Right.  Depending how this shapes out we may want a protocol extension
for new stubs to do it better, but that's not the issue here.

> 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.

I don't understand why you say that we would need more than one
G-packet format per gdbarch.  Why?  Compatibility with different stubs? 
That seems like the wrong approach.  We've currently got one G-packet
format per definition of the register cache, and we've got one of those
per gdbarch, right?

I don't really understand what you mean by that string, either what the
fields or supposed to be or what it is supposed to define.

> 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.

OK, I see it.  The change will need to be completely redone after
whatever we decide for this, of course.

> > 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.

I'm about to go read this more thoroughly.

Sure, we don't NEED it to solve this problem.  However, it would be a
logical extension at this point in time.  I'll address it separately.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


  reply	other threads:[~2001-07-17 11:03 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
2001-07-17 11:03                   ` Daniel Jacobowitz [this message]
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=20010717110305.A18932@nevyn.them.org \
    --to=dmj+@andrew.cmu.edu \
    --cc=ac131313@cygnus.com \
    --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