From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17329 invoked by alias); 26 Sep 2005 01:48:41 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 17273 invoked by uid 22791); 26 Sep 2005 01:48:34 -0000 Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Mon, 26 Sep 2005 01:48:34 +0000 Received: from drow by nevyn.them.org with local (Exim 4.52) id 1EJi6a-0005yF-Gy; Sun, 25 Sep 2005 21:48:32 -0400 Date: Mon, 26 Sep 2005 01:48:00 -0000 From: Daniel Jacobowitz To: Michael Snyder Cc: GDB Patches , Stan Shebs Subject: Re: RFC: reverse-finish Message-ID: <20050926014832.GF22284@nevyn.them.org> Mail-Followup-To: Michael Snyder , GDB Patches , Stan Shebs References: <4331A3CF.5080700@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4331A3CF.5080700@redhat.com> User-Agent: Mutt/1.5.8i X-SW-Source: 2005-09/txt/msg00211.txt.bz2 On Wed, Sep 21, 2005 at 11:17:51AM -0700, Michael Snyder wrote: > Following on to my patch of 9/7 implementing reverse-step, reverse-next > and reverse-continue, this patch is sufficient to implement > reverse-finish. This is meant for discussion, not approval (I don't > plan to check anything in right away). As with the previous patch: looks plausible to me, kind of ugly, so is anything in infrun. > + if (find_pc_partial_function (get_frame_pc (get_current_frame ()), > + NULL, &func_addr, NULL) == 0) > + internal_error (__FILE__, __LINE__, > + "Finish: couldn't find function."); This shouldn't be an internal error; it's quite easy to provoke it from the command line, so it should be at worst an error(). And please use _() for the message eventually :-) > + sal = find_pc_line (func_addr, 0); I think it's not a good idea to use the line table for this. You want a breakpoint at, literally, the first instruction of the function. So just create one. Avoids problems with broken line information, et cetera. > + /* Tell the breakpoint to keep quiet. */ > + breakpoint_muzzle (breakpoint); Not sure what this patch is against, but we don't have breakpoint_muzzle :-) -- Daniel Jacobowitz CodeSourcery, LLC