This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Reimplement "vFile:fstat" without qSupported


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=464b0089f0068838a014a8fa27ea2eef536ebada

commit 464b0089f0068838a014a8fa27ea2eef536ebada
Author: Gary Benson <gbenson@redhat.com>
Date:   Wed Mar 18 11:19:02 2015 +0000

    Reimplement "vFile:fstat" without qSupported
    
    This commit makes support for the "vFile:fstat" packet be detected
    by probing rather than using qSupported, for consistency with the
    other vFile: packets.
    
    gdb/ChangeLog:
    
    	(remote_protocol_features): Remove the "vFile:fstat" feature.
    	(remote_hostio_fstat): Probe for "vFile:fstat" support.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (General Query Packets): Remove documentation
    	for now-removed vFile:fstat qSupported features.
    
    gdb/gdbserver/ChangeLog:
    
    	* server.c (handle_query): Do not report vFile:fstat as supported.

Diff:
---
 gdb/ChangeLog           |  5 +++++
 gdb/doc/ChangeLog       |  5 +++++
 gdb/doc/gdb.texinfo     | 12 ------------
 gdb/gdbserver/ChangeLog |  5 ++++-
 gdb/gdbserver/server.c  |  2 --
 gdb/remote.c            | 24 +++++++++++-------------
 6 files changed, 25 insertions(+), 28 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9578a9e..222922f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-18  Gary Benson <gbenson@redhat.com>
+
+	(remote_protocol_features): Remove the "vFile:fstat" feature.
+	(remote_hostio_fstat): Probe for "vFile:fstat" support.
+
 2015-03-11  Yao Qi  <yao.qi@linaro.org>
 
 	PR tdep/18107
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 5efb060..1f120da 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-18  Gary Benson <gbenson@redhat.com>
+
+	* gdb.texinfo (General Query Packets): Remove documentation
+	for now-removed vFile:fstat qSupported features.
+
 2015-03-11  Gary Benson <gbenson@redhat.com>
 
 	* gdb.texinfo (Remote Configuration): Document the
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 9e71642..552da31 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -36062,11 +36062,6 @@ These are the currently defined stub features and their properties:
 @tab @samp{-}
 @tab No
 
-@item @samp{vFile:fstat}
-@tab No
-@tab @samp{-}
-@tab No
-
 @end multitable
 
 These are the currently defined stub features, in more detail:
@@ -36255,9 +36250,6 @@ breakpoints.
 The remote stub reports the @samp{hwbreak} stop reason for hardware
 breakpoints.
 
-@item vFile:fstat
-The remote stub understands the @samp{vFile:fstat} packet.
-
 @end table
 
 @item qSymbol::
@@ -37426,10 +37418,6 @@ and the return value is the size of this attachment in bytes.
 If an error occurs the return value is -1.  The format of the
 returned binary attachment is as described in @ref{struct stat}.
 
-This packet is not probed by default; the remote stub must request
-it, by supplying an appropriate @samp{qSupported} response
-(@pxref{qSupported}).
-
 @item vFile:unlink: @var{filename}
 Delete the file at @var{filename} on the target.  Return 0,
 or -1 if an error occurs.  The @var{filename} is a string.
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 6b0492a..7f009f1 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,7 @@
+2015-03-18  Gary Benson  <gbenson@redhat.com>
+
+	* server.c (handle_query): Do not report vFile:fstat as supported.
+
 2015-03-11  Gary Benson  <gbenson@redhat.com>
 
 	* hostio.c (sys/types.h): New include.
@@ -5,7 +9,6 @@
 	(common-remote-fileio.h): Likewise.
 	(handle_fstat): New function.
 	(handle_vFile): Handle vFile:fstat packets.
-	* server.c (handle_query): Report vFile:fstat as supported.
 
 2015-03-11  Gary Benson  <gbenson@redhat.com>
 
diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c
index 9ff2f8e..08dbb60 100644
--- a/gdb/gdbserver/server.c
+++ b/gdb/gdbserver/server.c
@@ -2082,8 +2082,6 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
       if (target_supports_stopped_by_hw_breakpoint ())
 	strcat (own_buf, ";hwbreak+");
 
-      strcat (own_buf, ";vFile:fstat+");
-
       return;
     }
 
diff --git a/gdb/remote.c b/gdb/remote.c
index 9aaee13..dfa68b3 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -4049,8 +4049,6 @@ static const struct protocol_feature remote_protocol_features[] = {
     PACKET_Qbtrace_conf_bts_size },
   { "swbreak", PACKET_DISABLE, remote_supported_packet, PACKET_swbreak_feature },
   { "hwbreak", PACKET_DISABLE, remote_supported_packet, PACKET_hwbreak_feature },
-  { "vFile:fstat", PACKET_DISABLE, remote_supported_packet,
-    PACKET_vFile_fstat },
 };
 
 static char *remote_support_xml;
@@ -10084,8 +10082,18 @@ remote_hostio_fstat (struct target_ops *self,
   struct fio_stat fst;
   int read_len;
 
-  if (packet_support (PACKET_vFile_fstat) != PACKET_ENABLE)
+  remote_buffer_add_string (&p, &left, "vFile:fstat:");
+
+  remote_buffer_add_int (&p, &left, fd);
+
+  ret = remote_hostio_send_command (p - rs->buf, PACKET_vFile_fstat,
+				    remote_errno, &attachment,
+				    &attachment_len);
+  if (ret < 0)
     {
+      if (*remote_errno != FILEIO_ENOSYS)
+	return ret;
+
       /* Strictly we should return -1, ENOSYS here, but when
 	 "set sysroot remote:" was implemented in August 2008
 	 BFD's need for a stat function was sidestepped with
@@ -10104,16 +10112,6 @@ remote_hostio_fstat (struct target_ops *self,
       return 0;
     }
 
-  remote_buffer_add_string (&p, &left, "vFile:fstat:");
-
-  remote_buffer_add_int (&p, &left, fd);
-
-  ret = remote_hostio_send_command (p - rs->buf, PACKET_vFile_fstat,
-				    remote_errno, &attachment,
-				    &attachment_len);
-  if (ret < 0)
-    return ret;
-
   read_len = remote_unescape_input ((gdb_byte *) attachment, attachment_len,
 				    (gdb_byte *) &fst, sizeof (fst));


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]