From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11003 invoked by alias); 2 Jan 2003 20:40:20 -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 10995 invoked from network); 2 Jan 2003 20:40:18 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by 209.249.29.67 with SMTP; 2 Jan 2003 20:40:18 -0000 Received: from int-mx2.corp.redhat.com (nat-pool-rdu-dmz.redhat.com [172.16.52.200]) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id h02KCoB31311 for ; Thu, 2 Jan 2003 15:12:51 -0500 Received: from potter.sfbay.redhat.com (potter.sfbay.redhat.com [172.16.27.15]) by int-mx2.corp.redhat.com (8.11.6/8.11.6) with ESMTP id h02Ke5n28803; Thu, 2 Jan 2003 15:40:05 -0500 Received: from redhat.com (reddwarf.sfbay.redhat.com [172.16.24.50]) by potter.sfbay.redhat.com (8.11.6/8.11.6) with ESMTP id h02Ke4n20651; Thu, 2 Jan 2003 12:40:04 -0800 Message-ID: <3E14A3A4.F5CD9BD3@redhat.com> Date: Thu, 02 Jan 2003 20:40:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. X-Accept-Language: en MIME-Version: 1.0 To: Elena Zannoni CC: Daniel Jacobowitz , gdb-patches@sources.redhat.com Subject: Re: [RFA/PATCH] breakpoint.c: fix until command References: <15875.24035.153991.390184@localhost.redhat.com> <3E07A1F2.E7B77C89@redhat.com> <20021224000211.GA8155@nevyn.them.org> <3E07B0DC.CC733B10@redhat.com> <20021224010306.GA10409@nevyn.them.org> <3E14A019.4A600913@redhat.com> <15892.41806.882466.952438@localhost.redhat.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2003-01/txt/msg00028.txt.bz2 Elena Zannoni wrote: > > Michael Snyder writes: > > Daniel Jacobowitz wrote: > > > > > > On Mon, Dec 23, 2002 at 04:57:00PM -0800, Michael Snyder wrote: > > > > Daniel Jacobowitz wrote: > > > > > > > > > > On Mon, Dec 23, 2002 at 03:53:22PM -0800, Michael Snyder wrote: > > > > > > Elena Zannoni wrote: > > > > > > > > > > > > > > This fixes the problem reported in: > > > > > > > http://sources.redhat.com/ml/gdb/2002-11/msg00144.html > > > > > > > > > > > > > > testsuite patch coming > > > > > > > > > > > > Elena, can you sum up in a sentence or two, what this change > > > > > > is intended to do? > > > > > > > > > > [Since I happen to be reading email right now, I'll do a sketchy > > > > > imitation.] > > > > > > > > > > The problem is that we were marking the breakpoint on the > > > > > user-specified line with the current frame. But when we hit that > > > > > breakpoint, if it's in a different function, it will have a different > > > > > frame. Right now we see that the frames don't match and resume > > > > > executing. > > > > > > > > > > Oops. > > > > > > > > OK, thanks. But we _need_ to mark the breakpoint with the current > > > > frame, because if the breakpoint is in the current frame, we don't > > > > want to stop in an inner recursive call, ie. not until the current > > > > frame hits the breakpoint. > > > > > > > > So this needs further consideration, and I don't think it can > > > > be approved as is. > > > > > > OK. Is that really what you expect "until" to do, though? I'd be > > > pretty surprised if an inner function call executed that line without > > > stopping. > > > > Nevertheless, that is and has always been the intent. > > If you're in factorial(5), and you say "until 100", > > you don't stop until line 100 is hit by factorial(5). > > I am tracking down this to something that changed between (ahem...) > 4.18 and 5.0. The code in breakpoint.c didn't change. Right now, > stepping the two gdb's side to side, I can see a difference in > get_prev_frame, because of a different value returned by > FRAME_CHAIN_VALID. :-( (i have not still stepped past that to see how > that could influence the until foo behavior, maybe it doesn't). > > The behavior you specify above is in 5.0 and not in 4.18, while the > 'until foo' works in 4.18 and is broken in 5.0. > > More digging. Heh. Clearly we need more "until" tests. ;-/