Preserve a verbose error message of xfer functions if they return -3.
authorMarkus Metzger <mmetzger@sourceware.org>
Mon, 11 Mar 2013 08:31:48 +0000 (08:31 +0000)
committerMarkus Metzger <mmetzger@sourceware.org>
Mon, 11 Mar 2013 08:31:48 +0000 (08:31 +0000)
gdbserver/
* server.c (handle_qxfer): Preserve error message if -3 is
returned.
(qxfer): Document the -3 return value.

gdb/gdbserver/ChangeLog
gdb/gdbserver/server.c

index 802f895854229f455dc0695f3e1b775783b97245..b26f85bac9eb4c618bf921f986965dea0c2b19c2 100644 (file)
@@ -1,3 +1,9 @@
+2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
+
+       * server.c (handle_qxfer): Preserve error message if -3 is
+       returned.
+       (qxfer): Document the -3 return value.
+
 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
 
        * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c.
index 922a5bfa6e02b72779b8854f7ad7202462baba63..9592c69e0a7a8652f8ce451e9413e65927e755f4 100644 (file)
@@ -892,10 +892,10 @@ struct qxfer
      data-specific information to the target.
 
      Return the number of bytes actually transfered, zero when no
-     further transfer is possible, -1 on error, and -2 when the
-     transfer is not supported.  Return of a positive value smaller
-     than LEN does not indicate the end of the object, only the end of
-     the transfer.
+     further transfer is possible, -1 on error, -2 when the transfer
+     is not supported, and -3 on a verbose error message that should
+     be preserved.  Return of a positive value smaller than LEN does
+     not indicate the end of the object, only the end of the transfer.
 
      One, and only one, of readbuf or writebuf must be non-NULL.  */
   int (*xfer) (const char *annex,
@@ -1323,6 +1323,10 @@ handle_qxfer (char *own_buf, int packet_len, int *new_packet_len_p)
                  free (data);
                  return 0;
                }
+             else if (n == -3)
+               {
+                 /* Preserve error message.  */
+               }
              else if (n < 0)
                write_enn (own_buf);
              else if (n > len)
@@ -1361,6 +1365,10 @@ handle_qxfer (char *own_buf, int packet_len, int *new_packet_len_p)
                  free (data);
                  return 0;
                }
+             else if (n == -3)
+               {
+                 /* Preserve error message.  */
+               }
              else if (n < 0)
                write_enn (own_buf);
              else
This page took 0.056381 seconds and 4 git commands to generate.