From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13555 invoked by alias); 14 Sep 2009 18:00:53 -0000 Received: (qmail 13534 invoked by uid 22791); 14 Sep 2009 18:00:53 -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-1.vmware.com (HELO smtp-outbound-1.vmware.com) (65.115.85.69) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 14 Sep 2009 18:00:49 +0000 Received: from jupiter.vmware.com (mailhost5.vmware.com [10.16.68.131]) by smtp-outbound-1.vmware.com (Postfix) with ESMTP id 6FD145900E; Mon, 14 Sep 2009 11:00:48 -0700 (PDT) Received: from [10.20.94.141] (msnyder-server.eng.vmware.com [10.20.94.141]) by jupiter.vmware.com (Postfix) with ESMTP id 60408DC059; Mon, 14 Sep 2009 11:00:48 -0700 (PDT) Message-ID: <4AAE8434.5040002@vmware.com> Date: Mon, 14 Sep 2009 18:00:00 -0000 From: Michael Snyder User-Agent: Thunderbird 1.5.0.12 (X11/20080411) MIME-Version: 1.0 To: Marc Khouzam CC: 'Pedro Alves' , "'gdb@sourceware.org'" , 'Greg Law' , 'Hui Zhu' , 'gdb-patches ml' Subject: Re: PRecord sets memory even when it says it did not References: <4AAE7910.5040907@undo-software.com> <200909141849.57563.pedro@codesourcery.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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-09/txt/msg00426.txt.bz2 Marc Khouzam wrote: > > >> -----Original Message----- >> From: Pedro Alves [mailto:pedro@codesourcery.com] >> Sent: Monday, September 14, 2009 1:50 PM >> To: gdb@sourceware.org >> Cc: Greg Law; Hui Zhu; Marc Khouzam; Michael Snyder; gdb-patches ml >> Subject: Re: PRecord sets memory even when it says it did not >> >>> Could this be related to the caching changes that have happened >>> recently? i.e. does the cache get updated even though the >> underlying >>> poke operation failed? If so, this issue would seem to be >> wider than >>> just prec (and wider than reverse, too). >> If so, then there's an easy way to find out: try again with >> "set stack-cache off". >> > > Yes, that seems to fix everything. That's the change, and here's the problem I think: target.c::memory_xfer_partial calls dcache_xfer_memory and dcache_update before calling ops->to_xfer_partial. In this case, record_xfer_partial errors out, (because of a query, but for this or other targets it could error out for other reasons). But there is no cleanup in place to back out the change that has already been made in the dcache. Michael