linux-mips
[Top] [All Lists]

Re: GDB patch

To: Daniel Jacobowitz <dan@debian.org>
Subject: Re: GDB patch
From: Nigel Stephens <nigel@mips.com>
Date: Tue, 10 Dec 2002 20:40:46 +0000
Cc: Carsten Langgaard <carstenl@mips.com>, Ralf Baechle <ralf@linux-mips.org>, linux-mips@linux-mips.org
Organization: MIPS Technologies (UK)
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <15862.15924.283825.28108@hendon.algor.co.uk> <20021210193241.GA15908@nevyn.them.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.0.0) Gecko/20020529
Daniel Jacobowitz wrote:

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.

I thought the Linux community prided itself on inventing new and "non-standard" extensions to the toolchain ;-). But yes, we should try to avoid incompatible changes. As part of MIPS we will hopefully have the resources to interface with the rest of the GNU community, and argue for the inclusion of our patches in the CVS trees.

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?

Yup. SDE-MIPS 1.1 shipped in 1992. :-)

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.
Yeah, that's why we dropped 'R' in our more recent gdb ports, but I wasn't aware of the new use of 'r' - I'll check out that page. Certainly 'p' is the logical inverse of 'P', so we'll change our gdb remote stub to use that. So how about accepting Carsten's change, with the 'R' case removed, and 'r' changed to 'p'?

Nigel

--
                        Nigel Stephens         Mailto:nigel@mips.com
   _    _ ____  ___     MIPS Technologies (UK) Phone.: +44 1223 706200
   |\  /|||___)(___     The Fruit Farm         Direct: +44 1223 706207
   | \/ |||    ____)    Ely Road, Chittering   Fax...: +44 1223 706250
   TECHNOLOGIES (UK)    Cambridge CB5 9PH      Cell..: +44 7976 686470
[formerly Algorithmics] England                http://www.algor.co.uk




<Prev in Thread] Current Thread [Next in Thread>