From: Daniel Jacobowitz <dan@debian.org>
To: nigel@mips.com
Cc: Carsten Langgaard <carstenl@mips.com>,
Ralf Baechle <ralf@linux-mips.org>,
linux-mips@linux-mips.org
Subject: Re: GDB patch
Date: Tue, 10 Dec 2002 14:32:41 -0500 [thread overview]
Message-ID: <20021210193241.GA15908@nevyn.them.org> (raw)
In-Reply-To: <15862.15924.283825.28108@hendon.algor.co.uk>
On Tue, Dec 10, 2002 at 07:19:16PM +0000, Nigel Stephens wrote:
> > On Tue, Dec 10, 2002 at 01:07:31PM +0100, Carsten Langgaard wrote:
> >
> > > I've attached a patch for gdb-stub.c to make it work better with the
> > > sde-gdb.
> > > These changes should be backwards compatible with a standard gdb, so it
> > > shouldn't break anything.
> > > Ralf, could you please apply it.
> >
> >
> > Strongly object. While I didn't check the implementation, it's nice to
> > see 'X' implemented. And P. But what the heck is this?
> >
> >
> > > @@ -816,13 +839,64 @@
> > > case 'k' :
> > > break; /* do nothing */
> > >
> > > + case 'R':
> > > + /* RNN[:SS], Set the value of CPU register NN (size SS) */
> > > + /* FALL THROUGH */
> >
> >
> > > - /*
> > > - * Reset the whole machine (FIXME: system dependent)
> > > - */
> > > case 'r':
> > > - break;
> > > + /* rNN[:SS] Return the value of CPU register NN (size SS) */
> >
> >
> >
> > We're not making up a protocol here, we're implementing one. R and r
> > don't have anything to do with setting registers.
>
> Hi Dan
>
> Actually Carsten *is* trying to implement a protocol, it's just that
> it's an extension to the gdb remote debug protocol, as used in our
> SDE-MIPS toolchain (viz sde-gdb). Algorithmics (now MIPS Technologies
> UK), always extended the gdb remote debug protocol to support reading
> and writing of single registers, and to support variable register
> sizes (to allow a 64-bit debug stub to inter-work with gdb debugging a
> 32-bit application).
My point is that we implement the GDB protocol, for use with GDB -
implementing random extensions to it is not a good idea. I would
strongly prefer these extensions be discussed on the GDB list before
you try adding them to the CVS tree. Also, I bet Andrew has a
different idea of how the 64/32 thing ought to work than you do. He's
the remote protocol maintainer.
These things should be planned on the GDB side before making yet more
stubs use them.
> When we first implemented these extensions we used the 'R' command to
> write a single register, and 'r' to read one (they weren't then used
> by gdb). Since then the remote protocol has gained the 'P' command to
'R' was added in 1995 according to my records. Really?
> write a single register, so we no longer use 'R' - and it would be
> dangerous to do so since it can restart the target (so you can get rid
> of the special 'R' case, Carsten).
>
> But the standard gdb remote protocol still doesn't have the ability to
> read a single register, so I believe that 'r' (or something like it)
> is a useful addition, which speeds up the remote protocol
> significantly when running over a serial line. And it won't break the
> kernel to add support for this extension.
The protocol does, actually. GDB doesn't _implement_ it, but the
extension is documented in the manual ('p') and I wouldn't be surprised
if Red Hat actually had an implementation somewhere. I recommend the
documentation of the protocol, on the GDB web site.
Also note that `R' is extended restart process; the manual lists `r' as
"restart entire target system". I don't know when that was used but
it's reason enough to stay away from using that letter to read a
register.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
next prev parent reply other threads:[~2002-12-10 19:32 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-10 19:19 GDB patch Nigel Stephens
2002-12-10 19:19 ` Nigel Stephens
2002-12-10 19:32 ` Daniel Jacobowitz [this message]
2002-12-10 20:40 ` Nigel Stephens
2002-12-11 16:52 ` Daniel Jacobowitz
2002-12-11 17:24 ` Nigel Stephens
2002-12-11 17:56 ` Daniel Jacobowitz
-- strict thread matches above, loose matches on Subject: below --
2002-12-10 12:07 Carsten Langgaard
2002-12-10 16:51 ` Daniel Jacobowitz
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=20021210193241.GA15908@nevyn.them.org \
--to=dan@debian.org \
--cc=carstenl@mips.com \
--cc=linux-mips@linux-mips.org \
--cc=nigel@mips.com \
--cc=ralf@linux-mips.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.