From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13228 invoked by alias); 31 Jul 2009 21:43:03 -0000 Received: (qmail 13216 invoked by uid 22791); 31 Jul 2009 21:43:02 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from smtp-outbound-2.vmware.com (HELO smtp-outbound-2.vmware.com) (65.115.85.73) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 31 Jul 2009 21:42:56 +0000 Received: from mailhost4.vmware.com (mailhost4.vmware.com [10.16.67.124]) by smtp-outbound-2.vmware.com (Postfix) with ESMTP id F1B2D4; Fri, 31 Jul 2009 14:42:54 -0700 (PDT) Received: from [10.20.94.141] (msnyder-server.eng.vmware.com [10.20.94.141]) by mailhost4.vmware.com (Postfix) with ESMTP id 53E6CCA007; Fri, 31 Jul 2009 14:42:54 -0700 (PDT) Message-ID: <4A736557.3050900@vmware.com> Date: Fri, 31 Jul 2009 22:15:00 -0000 From: Michael Snyder User-Agent: Thunderbird 1.5.0.12 (X11/20080411) MIME-Version: 1.0 To: Pedro Alves CC: "gdb-patches@sourceware.org" Subject: Re: [RFC] small change for better error reporting in remote.c References: <4A70E268.6010401@vmware.com> <20090730213019.GB3955@caradoc.them.org> <4A735491.4040006@vmware.com> <200907312155.35340.pedro@codesourcery.com> In-Reply-To: <200907312155.35340.pedro@codesourcery.com> Content-Type: multipart/mixed; boundary="------------040105060006040409070404" 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: 2009-07/txt/msg00774.txt.bz2 This is a multi-part message in MIME format. --------------040105060006040409070404 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 796 Pedro Alves wrote: > On Friday 31 July 2009 21:31:13, Michael Snyder wrote: >> drow@false.org wrote: >>> On Wed, Jul 29, 2009 at 04:59:36PM -0700, Michael Snyder wrote: >>>> @@ -5189,7 +5192,10 @@ store_registers_using_G (const struct re >>>> /* remote_prepare_to_store insures that rsa->sizeof_g_packet gets >>>> updated. */ >>>> bin2hex (regs, p, rsa->sizeof_g_packet); >>>> - remote_send (&rs->buf, &rs->buf_size); >>>> + putpkt (rs->buf); >>>> + getpkt (&rs->buf, &rs->buf_size, 0); >>>> + if (rs->buf[0] == 'E') >>>> + error (_("Could not write registers")); > > Can you still include the remote error string in this message? > Otherwise, this loses the "feature" of being able to send > more verbose error down the pipe. Darn, crossed messages. How's this, Pedro? --------------040105060006040409070404 Content-Type: text/plain; name="errmsg2.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="errmsg2.txt" Content-length: 1592 Index: remote.c =================================================================== RCS file: /cvs/src/src/gdb/remote.c,v retrieving revision 1.365 diff -u -p -r1.365 remote.c --- remote.c 31 Jul 2009 21:33:39 -0000 1.365 +++ remote.c 31 Jul 2009 21:41:36 -0000 @@ -4885,8 +4885,10 @@ fetch_register_using_p (struct regcache case PACKET_UNKNOWN: return 0; case PACKET_ERROR: - error (_("Could not fetch register \"%s\""), - gdbarch_register_name (get_regcache_arch (regcache), reg->regnum)); + error (_("Could not fetch register \"%s\"; remote failure reply '%s'"), + gdbarch_register_name (get_regcache_arch (regcache), + reg->regnum), + buf); } /* If this register is unfetchable, tell the regcache. */ @@ -5151,8 +5153,8 @@ store_register_using_P (const struct reg case PACKET_OK: return 1; case PACKET_ERROR: - error (_("Could not write register \"%s\""), - gdbarch_register_name (gdbarch, reg->regnum)); + error (_("Could not write register \"%s\"; remote failure reply '%s'"), + gdbarch_register_name (gdbarch, reg->regnum), rs->buf); case PACKET_UNKNOWN: return 0; default: @@ -5195,7 +5197,8 @@ store_registers_using_G (const struct re putpkt (rs->buf); getpkt (&rs->buf, &rs->buf_size, 0); if (packet_check_result (rs->buf) == PACKET_ERROR) - error (_("Could not write registers")); + error (_("Could not write registers; remote failure reply '%s'"), + rs->buf); } /* Store register REGNUM, or all registers if REGNUM == -1, from the contents --------------040105060006040409070404--