This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
RFA: Document conventions for terminating query/set packet names
- From: Jim Blandy <jimb at codesourcery dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Wed, 03 May 2006 12:50:59 -0700
- Subject: RFA: Document conventions for terminating query/set packet names
2006-05-03 Jim Blandy <jimb@codesourcery.com>
* gdb.texinfo (General Query Packets): Document conventions for
terminating packet names, and their violations.
*** gdb.texinfo 23 Apr 2006 00:42:10 -0700 1.324
--- gdb.texinfo 03 May 2006 12:00:15 -0700
***************
*** 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,23115 ----
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.
Like the descriptions of the other packets, each description here
has a template showing the packet's overall syntax, followed by an
***************
*** 23252,23257 ****
--- 23253,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.
+ 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.
+
Reply: see @code{remote.c:remote_unpack_thread_info_response()}.
@item qPart:@var{object}:read:@var{annex}:@var{offset},@var{length}
***************
*** 23354,23359 ****
--- 23361,23371 ----
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
***************
*** 23414,23419 ****
--- 23426,23436 ----
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