Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Jim Blandy <jimb@codesourcery.com>
To: gdb-patches@sources.redhat.com
Subject: Re: RFA: Document conventions for terminating query/set packet names
Date: Wed, 03 May 2006 22:54:00 -0000	[thread overview]
Message-ID: <vt2y7xira7a.fsf@theseus.home.> (raw)
In-Reply-To: <20060503195650.GA13156@nevyn.them.org> (Daniel Jacobowitz's message of "Wed, 3 May 2006 15:56:50 -0400")


Daniel Jacobowitz <drow@false.org> writes:
> On Wed, May 03, 2006 at 12:50:59PM -0700, Jim Blandy wrote:
>> 
>> 2006-05-03  Jim Blandy  <jimb@codesourcery.com>
>> 
>> 	* gdb.texinfo (General Query Packets): Document conventions for
>> 	terminating packet names, and their violations.
>
> Sorry, forgot to mention something when we talked about this earlier. 
> I'm generally in favor of the newly documented conventions, except for
> this:
>
>> + Since this packet's name (@code{qP}) is not separated from its first
>> + argument (@var{mode}) by any kind of punctuation, it is ambiguous with
>> + the @code{qPart} packet.  Stubs should recognize this packet by the
>> + twenty-four hex digits that follow.  New stubs should implement the
>> + @code{qThreadExtraInfo} packet instead.
>> + 
>
> Background for the list: we discovered by accident yesterday that
> RedBoot interprets any other query packet starting with qP as a
> malformed thread info request.  Not surprising, since the format of qP
> doesn't have any separators in it.  So what's a "malformed qP packet"
> versus "some other packet that happens to start with qP"?
>
> I think the best solution would be to document that new packets should
> not start with "qP" or "qL", and rename the relatively new qPart packet
> to something else, like qXfer.  I don't really care whether GDB
> continues to try the old qPart name; I think it may be recent enough
> that we can drop it, but maybe not.  I believe the only thing it's used
> for on HEAD is the ELF Auxv vector; I have other uses on various
> branches, but none of them have been merged yet.
>
> Interested in any comments...

The protocol as currently documented is ambiguous.  Whatever we do in
the long run, I think the manual ought to make some recommendation now
to guide new implementations.  The 'count the hex digits' is one
approach; another would be to deprecate qP altogether, in favor of
qThreadExtraInfo.  That's what GDB prefers at the moment; it's been
around since 2000.  qP dates to GDB's prehistory, but I'm pretty sure
it's from around 1998; I was at Cygnus when it was discussed.

I looked around a bit; neither gdbserver nor RDA nor the stub we've
been working with recently within CodeSourcery implement qP.  RedBoot
does.  We might break less by explicitly deprecating qP, since we
already have a preferred alternative.

Gratuitous chart:

                              qP     qPart    qThreadExtraInfo
gdbserver                            x
RDA                                           x
internal CodeSourcery stub                    x
RedBoot                       x


  reply	other threads:[~2006-05-03 22:54 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-03 19:51 Jim Blandy
2006-05-03 19:56 ` Daniel Jacobowitz
2006-05-03 22:54   ` Jim Blandy [this message]
2006-05-04  1:57     ` Daniel Jacobowitz
2006-05-04  6:13       ` Jim Blandy
2006-05-04 12:38         ` Daniel Jacobowitz
2006-05-04 17:24           ` Jim Blandy
2006-05-05 10:06             ` Eli Zaretskii
2006-05-05 19:14               ` Jim Blandy
2006-05-05 19:15               ` Jim Blandy
2006-05-05 19:18               ` Jim Blandy
2006-05-05 21:49                 ` Eli Zaretskii
2006-05-05 21:59                   ` Jim Blandy
2006-05-05 22:09                     ` Eli Zaretskii
2006-05-05 16:25             ` Daniel Jacobowitz
2006-05-09 20:41               ` Daniel Jacobowitz
2006-05-09 21:16                 ` Andrew Cagney
2006-05-10  3:18                 ` Eli Zaretskii
2006-05-14 17:09                   ` Daniel Jacobowitz
2006-05-10 21:14                 ` Jim Blandy
2006-05-04 15:55 ` Eli Zaretskii

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=vt2y7xira7a.fsf@theseus.home. \
    --to=jimb@codesourcery.com \
    --cc=gdb-patches@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