From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32224 invoked by alias); 23 Jul 2009 22:19:45 -0000 Received: (qmail 32203 invoked by uid 22791); 23 Jul 2009 22:19:44 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from NaN.false.org (HELO nan.false.org) (208.75.86.248) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 23 Jul 2009 22:19:34 +0000 Received: from nan.false.org (localhost [127.0.0.1]) by nan.false.org (Postfix) with ESMTP id B162A108C8; Thu, 23 Jul 2009 22:19:32 +0000 (GMT) Received: from caradoc.them.org (209.195.188.212.nauticom.net [209.195.188.212]) by nan.false.org (Postfix) with ESMTP id 8665910553; Thu, 23 Jul 2009 22:19:32 +0000 (GMT) Received: from drow by caradoc.them.org with local (Exim 4.69) (envelope-from ) id 1MU6dP-00070S-B7; Thu, 23 Jul 2009 18:19:31 -0400 Date: Fri, 24 Jul 2009 02:17:00 -0000 From: Daniel Jacobowitz To: Julian Brown Cc: gdb-patches@sourceware.org, Pedro Alves Subject: Re: [PATCH] Displaced stepping (non-stop debugging) support for ARM Linux Message-ID: <20090723221931.GA25885@caradoc.them.org> Mail-Followup-To: Julian Brown , gdb-patches@sourceware.org, Pedro Alves References: <20090120221355.46ac23e6@rex.config> <20090516191910.14820805@rex.config> <20090609173709.GA10846@caradoc.them.org> <200906101559.46860.pedro@codesourcery.com> <20090610150523.GA4472@caradoc.them.org> <20090715192749.718691f1@rex.config> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090715192749.718691f1@rex.config> User-Agent: Mutt/1.5.20 (2009-06-14) 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-07/txt/msg00590.txt.bz2 On Wed, Jul 15, 2009 at 07:27:49PM +0100, Julian Brown wrote: > One possibly dubious part though is the positioning of the > insert_breakpoints() call in arm-linux-tdep.c:arm_linux_copy_svc(): > without that, the momentary breakpoint used to regain control after a > sigreturn syscall never actually gets inserted into the debugged > program, because the displaced-step copy function gets called after > that normally happens. It should be safe AFAICT, but I may have > overlooked something. set_momentary_breakpoint calls update_global_location_list_nothrow. That's supposed to insert breakpoints. Here it is: if (breakpoints_always_inserted_mode () && should_insert && (have_live_inferiors () || (gdbarch_has_global_breakpoints (target_gdbarch)))) insert_breakpoint_locations (); I'm guessing that you're using displaced stepping, but don't have breakpoints always inserted (as they would be in typical use, since non-stop requires it)? I wish there were a more robust way to manage this, but I'm not sure what it would be. We could do it centrally after setting up displaced stepping. What you have seems OK to me. In fact, both patches look OK to apply. -- Daniel Jacobowitz CodeSourcery