From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22907 invoked by alias); 28 Sep 2005 18:26:56 -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 22823 invoked by uid 22791); 28 Sep 2005 18:26:50 -0000 Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Wed, 28 Sep 2005 18:26:50 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.11/8.12.11) with ESMTP id j8SIQnHY010526 for ; Wed, 28 Sep 2005 14:26:49 -0400 Received: from potter.sfbay.redhat.com (potter.sfbay.redhat.com [172.16.27.15]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id j8SIQmV23657; Wed, 28 Sep 2005 14:26:48 -0400 Received: from [172.16.24.50] (bluegiant.sfbay.redhat.com [172.16.24.50]) by potter.sfbay.redhat.com (8.12.8/8.12.8) with ESMTP id j8SIQkx3006822; Wed, 28 Sep 2005 14:26:47 -0400 Message-ID: <433AE066.5000301@redhat.com> Date: Wed, 28 Sep 2005 18:26:00 -0000 From: Michael Snyder User-Agent: Mozilla Thunderbird (X11/20050322) MIME-Version: 1.0 To: Daniel Jacobowitz CC: GDB Patches , Stan Shebs Subject: Re: RFC: reverse-finish References: <4331A3CF.5080700@redhat.com> <20050926014832.GF22284@nevyn.them.org> In-Reply-To: <20050926014832.GF22284@nevyn.them.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2005-09/txt/msg00281.txt.bz2 Daniel Jacobowitz wrote: > On Wed, Sep 21, 2005 at 11:17:51AM -0700, Michael Snyder wrote: > >>+ 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 :-) Sounds good. >>+ 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. Ah. You're right, I think I cut'n'pasted this from step_into_function. In this context, we want to step *out of* the function. >>+ /* Tell the breakpoint to keep quiet. */ >>+ breakpoint_muzzle (breakpoint); > > > Not sure what this patch is against, but we don't have > breakpoint_muzzle :-) Oh, sorry -- just a hack to keep the breakpoint from being "mentioned". I'm sure there's a better way of doing it.