public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Burgess <aburgess@redhat.com>
To: Pedro Alves <pedro@palves.net>,
	gdb-patches@sourceware.org, Eli Zaretskii <eliz@gnu.org>
Subject: Re: [PATCH 03/12] Document "E.MESSAGE" RSP errors
Date: Mon, 29 Apr 2024 14:42:35 +0100	[thread overview]
Message-ID: <874jbkp9o4.fsf@redhat.com> (raw)
In-Reply-To: <91568db8-32c2-42e0-b34f-8acb3f93cee1@palves.net>

Pedro Alves <pedro@palves.net> writes:

> [Adding Eli.]
>
> AFAICT, this is the only patch left in the series that needs an OK.

Thanks for updating the docs.  I'm happy with this.

Reviewed-By: Andrew Burgess <aburgess@redhat.com>

Thanks,
Andrew

>
> Any comments on the updated documentation change below?
>
> Pedro Alves
>
> On 2024-04-22 20:04, Pedro Alves wrote:
>> On 2024-04-22 09:50, Andrew Burgess wrote:
>> 
>>>> diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
>>>> index 57260a5b2fa..d6184d52841 100644
>>>> --- a/gdb/doc/gdb.texinfo
>>>> +++ b/gdb/doc/gdb.texinfo
>>>> @@ -42557,6 +42557,10 @@ number.  In almost all cases, the protocol does not specify the
>>>>  meaning of the error numbers; @value{GDBN} usually ignores the
>>>>  numbers, or displays them to the user without further interpretation.
>>>>  
>>>> +@item @samp{E.@var{message}}
>>>> +An error has occurred; @var{message} is the textual error message,
>>>> +encoded in @sc{ascii}.
>>>
>>> I think we should document here that the 'qRcmd' and 'm' packets don't
>>> accept this reply format.
>>>
>>> Alexandra Hájková has a patch series which has not been posted yet which
>>> will extend these packets in a backward compatible way so that E.message
>>> can be used, but until that arrives we should probably document this
>>> limitation.
>> 
>> Done, see updated patch below.  (See the bottom of the new commit log.)
>> 
>> Not sure when we'd want to make GDB print the error for the 'm' packet,
>> though.  Currently it just returns TARGET_XFER_E_IO up to the caller.
>> 
>> I noticed a few packets were documenting an "E.errtext" response,
>> which I now removed in this version.  Then "E.errtext" seemed more
>> descriptive than "E.message", so I switched to that too.
>> 
>> 
>> From 36ef5ca67f515039bfa68d2fb2515f181629a24f Mon Sep 17 00:00:00 2001
>> From: Pedro Alves <pedro@palves.net>
>> Date: Thu, 18 Apr 2024 20:22:36 +0100
>> Subject: [PATCH] Document "E.MESSAGE" RSP errors
>> 
>> For many years, GDB has accepted a "E.MESSAGE" error response, in
>> addition to "E NN".  For many packets, GDB strips the "E." before
>> giving the error message to the user.  For others, GDB does not strip
>> the "E.", but still understands that it is an error, as it starts with
>> "E", and either prints the whole string, or ignores it and just
>> mentions an error occured (same as for "E NN").
>> 
>> This has been the case for as long as I remember.  Now that I check, I
>> see that it's been there since 2006 (commit a76d924dffcb, also here:
>> https://sourceware.org/pipermail/gdb-patches/2006-September/047286.html).
>> All along, I actually thought it was documented.  Turns out it wasn't.
>> 
>> This commit documents it, in the new "Standard Replies" section, near
>> where we document "E NN".
>> 
>> The original version of this 3-patch documentation series was a single
>> CodeSourcery patch that documented the textual error as
>> "E.NAME.MESSAGE", with MESSAGE being 8-bit binary encoded.  But I
>> think the ship has sailed for that.  GDBserver has been sending error
>> messages with more than one "." for a long while, and with no binary
>> encoding.  Still, I've preserved the "Co-Authored-By" list of the
>> original larger patch.
>> 
>> The 'qRcmd' and 'm' commands are exceptions and do not accept this
>> reply format.  The top of the "Standard Replies" section already says:
>> 
>>   "All commands support these, except as noted in the individual
>>   command descriptions."
>> 
>> So this adds a note to the description of 'qRcmd' and 'm', explicitly
>> stating that they do not support this error reply format.
>> 
>> Change-Id: Ie4fee3d00d82ede39e439bf162e8cb7485532fd8
>> Co-Authored-By: Jim Blandy <jimb@codesourcery.com>
>> Co-Authored-By: Mike Wrighton <mike_wrighton@mentor.com>
>> Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
>> Co-Authored-By: Hafiz Abid Qadeer <abidh@codesourcery.com>
>> ---
>>  gdb/doc/gdb.texinfo | 23 +++++++++++++----------
>>  1 file changed, 13 insertions(+), 10 deletions(-)
>> 
>> diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
>> index 9781ce76226..f55ada29e9c 100644
>> --- a/gdb/doc/gdb.texinfo
>> +++ b/gdb/doc/gdb.texinfo
>> @@ -42559,6 +42559,11 @@ number.  In almost all cases, the protocol does not specify the
>>  meaning of the error numbers; @value{GDBN} usually ignores the
>>  numbers, or displays them to the user without further interpretation.
>>  
>> +@anchor{textual error reply}
>> +@item @samp{E.@var{errtext}}
>> +An error has occurred; @var{errtext} is the textual error message,
>> +encoded in @sc{ascii}.
>> +
>>  @end table
>>  
>>  @node Packets
>> @@ -42885,6 +42890,10 @@ The reply may contain fewer addressable memory units than requested if the
>>  server was able to read only part of the region of memory.
>>  @end table
>>  
>> +Unlike most packets, this packet does not support
>> +@samp{E.@var{errtext}}-style textual error replies (@pxref{textual
>> +error reply}).
>> +
>>  @item M @var{addr},@var{length}:@var{XX@dots{}}
>>  @cindex @samp{M} packet
>>  Write @var{length} addressable memory units starting at address @var{addr}
>> @@ -44399,6 +44408,10 @@ A command response with no output.
>>  A command response with the hex encoded output string @var{OUTPUT}.
>>  @end table
>>  
>> +Unlike most packets, this packet does not support
>> +@samp{E.@var{errtext}}-style textual error replies (@pxref{textual
>> +error reply}).
>> +
>>  (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
>> @@ -45455,8 +45468,6 @@ Reply:
>>  @table @samp
>>  @item OK
>>  Branch tracing has been enabled.
>> -@item E.errtext
>> -A badly formed request or an error was encountered.
>>  @end table
>>  
>>  @item Qbtrace:pt
>> @@ -45466,8 +45477,6 @@ Reply:
>>  @table @samp
>>  @item OK
>>  Branch tracing has been enabled.
>> -@item E.errtext
>> -A badly formed request or an error was encountered.
>>  @end table
>>  
>>  @item Qbtrace:off
>> @@ -45477,8 +45486,6 @@ Reply:
>>  @table @samp
>>  @item OK
>>  Branch tracing has been disabled.
>> -@item E.errtext
>> -A badly formed request or an error was encountered.
>>  @end table
>>  
>>  @item Qbtrace-conf:bts:size=@var{value}
>> @@ -45489,8 +45496,6 @@ Reply:
>>  @table @samp
>>  @item OK
>>  The ring buffer size has been set.
>> -@item E.errtext
>> -A badly formed request or an error was encountered.
>>  @end table
>>  
>>  @item Qbtrace-conf:pt:size=@var{value}
>> @@ -45501,8 +45506,6 @@ Reply:
>>  @table @samp
>>  @item OK
>>  The ring buffer size has been set.
>> -@item E.errtext
>> -A badly formed request or an error was encountered.
>>  @end table
>>  
>>  @end table
>> 
>> base-commit: 0e6747d2a638693ad2f20e7929c8364913c87279
>> prerequisite-patch-id: 69a7241ff790954e07942cd212971bcfaa8f3a08
>> prerequisite-patch-id: b398b6e111b68e06adccda7d9e016ebe39b5fd35


  parent reply	other threads:[~2024-04-29 13:42 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-19 15:13 [PATCH 00/12] Fix attach/run failure handling - gdbserver & Windows, document "E.MESSAGE" RSP errors, more Pedro Alves
2024-04-19 15:13 ` [PATCH 01/12] Document conventions for describing packet syntax Pedro Alves
2024-04-19 15:25   ` Eli Zaretskii
2024-04-19 15:42     ` Eli Zaretskii
2024-04-22 19:10       ` Pedro Alves
2024-04-22 19:01     ` Pedro Alves
2024-04-22 19:44       ` Eli Zaretskii
2024-04-19 15:13 ` [PATCH 02/12] Centralize documentation of error and empty RSP responses Pedro Alves
2024-04-19 15:36   ` Eli Zaretskii
2024-04-19 15:42     ` Eli Zaretskii
2024-04-22 19:00     ` Pedro Alves
2024-04-22 19:42       ` Eli Zaretskii
2024-04-19 15:13 ` [PATCH 03/12] Document "E.MESSAGE" RSP errors Pedro Alves
2024-04-19 15:37   ` Eli Zaretskii
2024-04-22  8:50   ` Andrew Burgess
2024-04-22 19:04     ` Pedro Alves
2024-04-26 19:02       ` Pedro Alves
2024-04-26 19:18         ` Eli Zaretskii
2024-04-29 13:42         ` Andrew Burgess [this message]
2024-04-19 15:13 ` [PATCH 04/12] Windows: Fix run/attach hang after bad run/attach Pedro Alves
2024-04-19 18:35   ` Tom Tromey
2024-04-19 15:13 ` [PATCH 05/12] Fix "run" failure handling with GDBserver Pedro Alves
2024-04-19 18:41   ` Tom Tromey
2024-04-19 15:13 ` [PATCH 06/12] Improve vRun error reporting Pedro Alves
2024-04-19 18:43   ` Tom Tromey
2024-04-22 11:32     ` Alexandra Petlanova Hajkova
2024-04-19 15:13 ` [PATCH 07/12] Fix "attach" failure handling with GDBserver Pedro Alves
2024-04-19 18:47   ` Tom Tromey
2024-04-19 15:13 ` [PATCH 08/12] gdbserver: Fix vAttach response when attaching is not supported Pedro Alves
2024-04-19 18:48   ` Tom Tromey
2024-04-19 15:13 ` [PATCH 09/12] gdb_target_is_native -> gdb_protocol_is_native Pedro Alves
2024-04-19 18:50   ` Tom Tromey
2024-05-09  8:47     ` Bernd Edlinger
2024-05-09  9:47       ` Pedro Alves
2024-05-09 11:54         ` Bernd Edlinger
2024-05-09 12:05           ` Pedro Alves
2024-05-09 13:19             ` Bernd Edlinger
2024-05-09 13:31               ` Pedro Alves
2024-05-09 15:01                 ` Bernd Edlinger
2024-05-09 15:49                   ` Pedro Alves
2024-05-09 18:44                     ` Bernd Edlinger
2024-05-10 10:52                       ` [pushed] gdb sim testing, set gdb_protocol to "sim" Pedro Alves
2024-04-22  8:25   ` [PATCH 09/12] gdb_target_is_native -> gdb_protocol_is_native Aktemur, Tankut Baris
2024-04-23 12:33     ` Pedro Alves
2024-04-19 15:13 ` [PATCH 10/12] gdb_target_is_remote -> gdb_protocol_is_remote Pedro Alves
2024-04-19 18:56   ` Tom Tromey
2024-04-23 12:30     ` Pedro Alves
2024-04-22  8:30   ` Aktemur, Tankut Baris
2024-04-23 12:47     ` Pedro Alves
2024-04-24 13:48       ` Aktemur, Tankut Baris
2024-04-19 15:13 ` [PATCH 11/12] Eliminate gdb_is_target_remote / gdb_is_target_native & friends Pedro Alves
2024-04-19 18:57   ` Tom Tromey
2024-04-19 15:13 ` [PATCH 12/12] Fix gdb.base/attach.exp --pid test skipping on native-extended-gdbserver Pedro Alves
2024-04-19 18:59   ` Tom Tromey
2024-04-26 20:25 ` [PATCH 00/12] Fix attach/run failure handling - gdbserver & Windows, document "E.MESSAGE" RSP errors, more Pedro Alves

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=874jbkp9o4.fsf@redhat.com \
    --to=aburgess@redhat.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    --cc=pedro@palves.net \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).