From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21503 invoked by alias); 8 Mar 2013 09:17:29 -0000 Received: (qmail 21449 invoked by uid 22791); 8 Mar 2013 09:17:26 -0000 X-SWARE-Spam-Status: No, hits=-7.9 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_SPAMHAUS_DROP,KHOP_THREADED,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,RP_MATCHES_RCVD,TW_QX X-Spam-Check-By: sourceware.org Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 08 Mar 2013 09:16:22 +0000 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP; 08 Mar 2013 01:16:19 -0800 X-ExtLoop1: 1 Received: from swsutil001.isw.intel.com ([10.237.237.11]) by fmsmga001.fm.intel.com with ESMTP; 08 Mar 2013 01:16:16 -0800 Received: from ulslx001.iul.intel.com (ulslx001.iul.intel.com [172.28.207.63]) by swsutil001.isw.intel.com (8.13.6/8.13.6/MailSET/Hub) with ESMTP id r289GDdc022875; Fri, 8 Mar 2013 09:16:13 GMT Received: from ulslx001.iul.intel.com (localhost [127.0.0.1]) by ulslx001.iul.intel.com with ESMTP id r289GCIL002038; Fri, 8 Mar 2013 10:16:12 +0100 Received: (from mmetzger@localhost) by ulslx001.iul.intel.com with id r289GCl6002034; Fri, 8 Mar 2013 10:16:12 +0100 From: Markus Metzger To: jan.kratochvil@redhat.com Cc: gdb-patches@sourceware.org, markus.t.metzger@gmail.com, Pedro Alves Subject: [patch v10 05/21] gdbserver: preserve error message in handle_qXfer Date: Fri, 08 Mar 2013 09:19:00 -0000 Message-Id: <1362734168-1725-6-git-send-email-markus.t.metzger@intel.com> In-Reply-To: <1362734168-1725-1-git-send-email-markus.t.metzger@intel.com> References: <1362734168-1725-1-git-send-email-markus.t.metzger@intel.com> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2013-03/txt/msg00343.txt.bz2 Preserve a verbose error message of xfer functions if they return -3. CC: Pedro Alves 2013-03-08 Markus Metzger gdbserver/ * server.c (handle_qxfer): Preserve error message if -3 is returned. (qxfer): Document the -3 return value. --- gdb/gdbserver/server.c | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index 768eae7..3738280 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -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 -- 1.7.1