From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10965 invoked by alias); 13 Dec 2007 16:09:03 -0000 Received: (qmail 10956 invoked by uid 22791); 13 Dec 2007 16:09:02 -0000 X-Spam-Check-By: sourceware.org Received: from zigzag.lvk.cs.msu.su (HELO zigzag.lvk.cs.msu.su) (158.250.17.23) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 13 Dec 2007 16:08:53 +0000 Received: from Debian-exim by zigzag.lvk.cs.msu.su with spam-scanned (Exim 4.50) id 1J2qc9-00077l-6r for gdb@sources.redhat.com; Thu, 13 Dec 2007 19:08:50 +0300 Received: from localhost ([127.0.0.1] helo=ip6-localhost) by zigzag.lvk.cs.msu.su with esmtp (Exim 4.50) id 1J2qbz-00077Y-3r; Thu, 13 Dec 2007 19:08:35 +0300 From: Vladimir Prus Subject: Re: Questionable breakpoint stepping code To: Michael Snyder , gdb@sources.redhat.com Date: Thu, 13 Dec 2007 16:09:00 -0000 References: <200711291535.36950.vladimir@codesourcery.com> <20071130011413.GA10585@adacore.com> <200711301448.04323.vladimir@codesourcery.com> User-Agent: KNode/0.10.4 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit Message-Id: Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-12/txt/msg00088.txt.bz2 Vladimir Prus wrote: Michael, I wonder if you've missed the below email. Can you tell what you think? Thanks, Volodya > On Friday 30 November 2007 04:14:13 Joel Brobecker wrote: >> > > I have been away for a week and I still a bit overwhelmed by my email >> > > backlog that caused me to miss the patch. But if Volodya sends me the >> > > patch again, I'll give it a whirl. >> > >> > Thanks Joel! >> > Here's the patch. >> >> Thanks. I don't know why, but somehow, the patch didn't apply cleanly >> to HEAD, so I applied it manually. The results were identical after >> applying and I double-checked that the error never triggered. > > Thanks. Michael, do you have any objections to me checking that > patch in (included before for convenience). > > - Volodya > > > * infrun.c (handle_inferior_event): If > we failed to remove breakpoints, error, > don't try to increment PC by hand. > --- > gdb/infrun.c | 19 +------------------ > 1 files changed, 1 insertions(+), 18 deletions(-) > > diff --git a/gdb/infrun.c b/gdb/infrun.c > index ad1de6b..b92d0de 100644 > --- a/gdb/infrun.c > +++ b/gdb/infrun.c > @@ -1745,24 +1745,7 @@ handle_inferior_event (struct > execution_control_state *ecs) > process until the child exits (well, okay, not > then either :-) or execs. */ > if (remove_status != 0) > - { > - /* FIXME! This is obviously non-portable! */ > - write_pc_pid (stop_pc + 4, ecs->ptid); > - /* We need to restart all the threads now, > - * unles we're running in scheduler-locked mode. > - * Use currently_stepping to determine whether to > - * step or continue. > - */ > - /* FIXME MVS: is there any reason not to call resume()? */ > - if (scheduler_mode == schedlock_on) > - target_resume (ecs->ptid, > - currently_stepping (ecs), TARGET_SIGNAL_0); > - else > - target_resume (RESUME_ALL, > - currently_stepping (ecs), TARGET_SIGNAL_0); > - prepare_to_wait (ecs); > - return; > - } > + error (_("Cannot step over breakpoint hit in wrong thread")); > else > { /* Single step */ > if (!ptid_equal (inferior_ptid, ecs->ptid))