From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18339 invoked by alias); 21 Apr 2009 13:32:25 -0000 Received: (qmail 18327 invoked by uid 22791); 21 Apr 2009 13:32:24 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 21 Apr 2009 13:32:20 +0000 Received: (qmail 27409 invoked from network); 21 Apr 2009 13:32:18 -0000 Received: from unknown (HELO orlando) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 21 Apr 2009 13:32:18 -0000 From: Pedro Alves To: gdb-patches@sourceware.org Subject: Re: [RFA] Submit process record and replay fourth time, 5/8 Date: Tue, 21 Apr 2009 13:32:00 -0000 User-Agent: KMail/1.9.10 Cc: Hui Zhu , Marc Khouzam , Michael Snyder , Thiago Jung Bauermann , Eli Zaretskii , paawan1982@yahoo.com, Mark Kettenis References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200904211432.48688.pedro@codesourcery.com> 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-04/txt/msg00562.txt.bz2 On Wednesday 15 April 2009 18:04:48, Hui Zhu wrote: > > /* Clean out any stray displaced stepping state. */ > @@ -2130,6 +2132,10 @@ adjust_pc_after_break (struct execution_ > if (software_breakpoint_inserted_here_p (breakpoint_pc) > || (non_stop && moribund_breakpoint_here_p (breakpoint_pc))) > { > + struct cleanup *old_cleanups = NULL; > + if (RECORD_IS_USED) > + old_cleanups = record_gdb_operation_disable_set (); > + > /* When using hardware single-step, a SIGTRAP is reported for both > a completed single-step and a software breakpoint. Need to > differentiate between the two, as the latter needs adjusting > @@ -2153,6 +2159,9 @@ adjust_pc_after_break (struct execution_ > || !currently_stepping (ecs->event_thread) > || ecs->event_thread->prev_pc == breakpoint_pc) > regcache_write_pc (regcache, breakpoint_pc); > + > + if (old_cleanups) > + do_cleanups (old_cleanups); > } > } Is this in the last version? This still has the problem with the NULL cleanup I've just explained. -- Pedro Alves