From: "Jim Blandy" <jimb@red-bean.com>
To: gdb-patches@sourceware.org
Subject: Re: RFA: Document conventions for terminating query/set packet names
Date: Thu, 04 May 2006 17:24:00 -0000 [thread overview]
Message-ID: <8f2776cb0605041024u7c420707ie2fbff8a32ce32f0@mail.gmail.com> (raw)
In-Reply-To: <20060504123755.GA29302@nevyn.them.org>
On 5/4/06, Daniel Jacobowitz <drow@false.org> wrote:
> On Wed, May 03, 2006 at 11:13:47PM -0700, Jim Blandy wrote:
> > It's my impression that renaming qPart will also affect existing stubs
> > --- isn't that so? From looking around, it seemed to me that there
> > weren't too many implementations of qP, so I'm presuming that, if
> > something is to be broken, that'd be the one to break. But if you
> > know that RedBoot is more widely installed in inaccessible places,
> > then that's something I didn't realize.
>
> Well, I don't know it, but I strongly suspect it. I know we've gotten
> boards from vendors with RedBoot flashed into them; and the life of
> flashed boot monitors can be depressingly long.
>
> Here's the deal with qPart as I see it: there is currently exactly one
> OBJECT value defined, "auxv". This only applies to hosted programs
> running within an OS with an ELF interpreter, and in practice I think
> it only applies to GNU/Linux and Solaris. These are cases where the
> stub is fairly easy to upgrade.
>
> Now, once I get the qPart:features support merged, it'll be a different
> story; that's primarily targeted at embedded stubs. But it hasn't
> happened yet and I only know of a handful of users, none of whom are
> committed to the interface.
All right. I think one of my subconscious motivations was that I
didn't like breaking a new feature for an older, deprecated feature.
But this isn't about "fairness" to features; it's about gettings
things working without breaking too much stuff. So I'll go along with
retiring the qL and qP prefixes.
Here's a revised patch:
2006-05-04 Jim Blandy <jimb@codesourcery.com>
* gdb.texinfo (General Query Packets): Document conventions for
terminating packet names, and their violations.
Index: gdb/doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.325
diff -u -p -c -r1.325 gdb.texinfo
cvs diff: conflicting specifications of output style
*** gdb/doc/gdb.texinfo 27 Apr 2006 23:03:42 -0000 1.325
--- gdb/doc/gdb.texinfo 4 May 2006 17:21:40 -0000
*************** the Acme Corporation might begin with @s
*** 23106,23114 ****
foos) or @samp{Qacme.bar} (for setting bars).
@end itemize
! A query or set packet may optionally be followed by a @samp{,} or
! @samp{;} separated list. Stubs must be careful to match the full
! packet name, in case packet names have common prefixes.
Like the descriptions of the other packets, each description here
has a template showing the packet's overall syntax, followed by an
--- 23106,23118 ----
foos) or @samp{Qacme.bar} (for setting bars).
@end itemize
! The name of a query or set packet should be separated from any
! parameters by a @samp{:}; the parameters themselves should be
! separated by @samp{,} or @samp{;}. Stubs must be careful to match the
! full packet name, in case packet names have common prefixes. The
! @code{qP} and @code{qL} packets predate these conventions; since we
! suspect they are in widespread use in places that are difficult to
! upgrade, new packets should not begin with @code{qP} or @code{qL}.
Like the descriptions of the other packets, each description here
has a template showing the packet's overall syntax, followed by an
*************** Reply:
*** 23252,23257 ****
--- 23256,23264 ----
Returns information on @var{threadid}. Where: @var{mode} is a hex
encoded 32 bit mode; @var{threadid} is a hex encoded 64 bit thread ID.
+ Don't use this packet; use the @samp{qThreadExtraInfo} query instead
+ (see below).
+
Reply: see @code{remote.c:remote_unpack_thread_info_response()}.
@item qPart:@var{object}:read:@var{annex}:@var{offset},@var{length}
*************** starting at @var{offset} bytes into the
*** 23263,23268 ****
--- 23270,23278 ----
encoding of @var{annex} is specific to the object; it can supply
additional details about what data to access.
+ Since this packet is ambiguous with the older @code{qP} packet, we
+ plan to rename it.
+
Here are the specific requests of this form defined so far. All
@samp{qPart:@var{object}:read:@dots{}} requests use the same reply
formats, listed below.
*************** Indicate a badly formed request.
*** 23354,23359 ****
--- 23364,23374 ----
An empty reply indicates that @samp{qRcmd} is not recognized.
@end table
+ (Note that the @code{qRcmd} packet's name is separated from the
+ command by a @samp{,}, not a @samp{:}, contrary to the naming
+ conventions above. Please don't use this packet as a model for new
+ packets.)
+
@item qSymbol::
@cindex symbol lookup, remote request
@cindex @samp{qSymbol} packet
*************** comprising the printable string containi
*** 23414,23419 ****
--- 23429,23439 ----
the thread's attributes.
@end table
+ (Note that the @code{qThreadExtraInfo} packet's name is separated from
+ the command by a @samp{,}, not a @samp{:}, contrary to the naming
+ conventions above. Please don't use this packet as a model for new
+ packets.)
+
@item QTStart
@itemx QTStop
@itemx QTinit
next prev parent reply other threads:[~2006-05-04 17:24 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
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 [this message]
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=8f2776cb0605041024u7c420707ie2fbff8a32ce32f0@mail.gmail.com \
--to=jimb@red-bean.com \
--cc=gdb-patches@sourceware.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox