public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
To: gdb-patches@sourceware.org
Subject: [PATCH] remote.c: Allow inferior to reply with an error
Date: Wed,  4 Jan 2023 12:39:09 +0100	[thread overview]
Message-ID: <20230104113909.1395263-1-ahajkova@redhat.com> (raw)

From: Alexandra Hájková <ahajkova@redhat.com>

When gdb communicates with the inferior with the remote
protocol, the only possible response to the QSetWorkingDir
packet is "OK". If the inferior will reply with anything
else, gdb will complain about the unexpected reply and stop
its communication with the inferior.

[remote] Sending packet: $QSetWorkingDir:2f746d70#bb
[remote] Packet received: E00
Remote replied unexpectedly while setting the inferior's working
directory: E00
(gdb)

But setting the inferior's working dir is not always possible due
to various reasons and we may not want to always stop the communication.
This patch proposes to just warn the user in a case it wasn't possible
to set the working dir but proceed without an error.

[remote] Sending packet: $QSetWorkingDir:2f746d70#bb
remote] Packet received: E00
warning: Remote failed to set the inferior's working directory: E00
[remote] Sending packet: $vRun;2f7573722f62696e2f6563686f#3d
---
 gdb/doc/gdb.texinfo | 3 +++
 gdb/remote.c        | 8 +++-----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index dd8f8bc757c..54cab3afa9c 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -42515,6 +42515,9 @@ Reply:
 @table @samp
 @item OK
 The request succeeded.
+
+@item E @var{nn}
+An error occurred.  The error number @var{nn} is given as hex digits.
 @end table
 
 @item qfThreadInfo
diff --git a/gdb/remote.c b/gdb/remote.c
index 218bca30d04..db5b949a28b 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -10421,11 +10421,9 @@ remote_target::extended_remote_set_inferior_cwd ()
       if (packet_ok (rs->buf,
 		     &remote_protocol_packets[PACKET_QSetWorkingDir])
 	  != PACKET_OK)
-	error (_("\
-Remote replied unexpectedly while setting the inferior's working\n\
-directory: %s"),
-	       rs->buf.data ());
-
+	warning (_("\
+Remote failed to set the inferior's working directory: %s"),
+                 rs->buf.data ());
     }
 }
 
-- 
2.38.1


             reply	other threads:[~2023-01-04 11:39 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-04 11:39  [this message]
2023-01-04 14:42 ` Eli Zaretskii
2023-01-05 18:16 ` Tom Tromey
2023-01-06 15:12 ` Andrew Burgess
2023-01-06 18:59   ` Simon Marchi
2023-01-09 12:55 ` Alexandra Petlanova Hajkova
2023-01-09 17:14   ` Tom Tromey

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=20230104113909.1395263-1-ahajkova@redhat.com \
    --to=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).