public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@palves.net>
To: Andrew Burgess <aburgess@redhat.com>,
	gdb-patches@sourceware.org, Eli Zaretskii <eliz@gnu.org>
Subject: Re: [PATCH 03/12] Document "E.MESSAGE" RSP errors
Date: Fri, 26 Apr 2024 20:02:22 +0100	[thread overview]
Message-ID: <91568db8-32c2-42e0-b34f-8acb3f93cee1@palves.net> (raw)
In-Reply-To: <3b156aac-556b-47eb-a1c7-f20071aa9a8f@palves.net>

[Adding Eli.]

AFAICT, this is the only patch left in the series that needs an OK.

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

  reply	other threads:[~2024-04-26 19:02 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 [this message]
2024-04-26 19:18         ` Eli Zaretskii
2024-04-29 13:42         ` Andrew Burgess
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=91568db8-32c2-42e0-b34f-8acb3f93cee1@palves.net \
    --to=pedro@palves.net \
    --cc=aburgess@redhat.com \
    --cc=eliz@gnu.org \
    --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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).