From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31380 invoked by alias); 30 Oct 2008 21:42:42 -0000 Received: (qmail 31164 invoked by uid 22791); 30 Oct 2008 21:42:40 -0000 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 30 Oct 2008 21:40:39 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 932242A9639; Thu, 30 Oct 2008 11:29:36 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id TGrlXwT3k8m3; Thu, 30 Oct 2008 11:29:36 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 5DAE92A963A; Thu, 30 Oct 2008 11:29:36 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id 0A600E7ACD; Thu, 30 Oct 2008 08:29:33 -0700 (PDT) Date: Thu, 30 Oct 2008 21:43:00 -0000 From: Joel Brobecker To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: [Patch] Use resume instead of target_resume when stepping over watchpoint. Message-ID: <20081030152933.GE13387@adacore.com> References: <48C71565.3050601@avtrex.com> <20081030030805.GC3635@adacore.com> <200810301222.23864.pedro@codesourcery.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200810301222.23864.pedro@codesourcery.com> User-Agent: Mutt/1.4.2.2i 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: 2008-10/txt/msg00708.txt.bz2 [Dave Daney removed from the list, since his email address is no longer valid. Is it worth pursuing this thread?] > Won't this slightly change the behaviour on hardware single-step > archs? Before, we'd always tell the target to resume a single-thread > (keeping the others stopped, on target that support scheduler locking); > with this change, I think you'll tell the target to resume all > threads. Hmmm, yes, you're probably right. I we were to set trap_expected, then we would only step that one thread, but would that be cheating? > be too ugly? Hmmm, maybe not OK, it can have other side > effects, like tripping on this... > > if (ecs->event_thread->stop_signal == TARGET_SIGNAL_TRAP > && ecs->event_thread->trap_expected > && gdbarch_single_step_through_delay_p (current_gdbarch) > && currently_stepping (ecs->event_thread)) I guess we might, if we hit the watchpoint while stepping. But then, trap_expected would have already been set, and thus we'd be OK without setting it anyways. Regardless, I think this just shows that calling resume like this is just too ugly. Perhaps a better approach would be to extract out the part that handles software_single_step out of resume and have both resume & handle_inferior_event call that new function? -- Joel