From owner-freebsd-ppc@FreeBSD.ORG Thu Apr 30 09:01:46 2009 Return-Path: Delivered-To: freebsd-ppc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DF5A106564A for ; Thu, 30 Apr 2009 09:01:46 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from semihalf.com (semihalf.com [206.130.101.55]) by mx1.freebsd.org (Postfix) with ESMTP id 135438FC14 for ; Thu, 30 Apr 2009 09:01:45 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from mail.semihalf.com (mail.semihalf.com [83.15.139.206]) by semihalf.com (8.13.1/8.13.1) with ESMTP id n3U91hC2002514; Thu, 30 Apr 2009 03:01:44 -0600 Message-Id: From: Rafal Jaworowski To: Marcel Moolenaar In-Reply-To: <36D74D0F-DB5D-4B3D-8A34-2AC72A5209AF@semihalf.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Date: Thu, 30 Apr 2009 11:01:40 +0200 References: <36D74D0F-DB5D-4B3D-8A34-2AC72A5209AF@semihalf.com> X-Mailer: Apple Mail (2.930.3) Cc: freebsd-ppc@freebsd.org Subject: Re: Single stepping through atomic ops X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Apr 2009 09:01:46 -0000 On 2009-04-21, at 19:57, Rafal Jaworowski wrote: > Hi Marcel, > I'm writing to you primarily as the gdb maintainer :-) There's a > problem with current gdb in base when single stepping through atomic > sequences on PowerPC (and presumably other archs with the load + > conditional store approach for atomic ops). The effect is a hang > because we endlessly loop due to the [always] lost reservation at > the time of a closing stwcx. > > This is a known problem with gdb and it's fixed with newer versions, > but the patches are not applicable to our gdb due to some > infrastructure changes. The quick fix for 6.1.1 is here: > http://people.freebsd.org/~raj/patches/powerpc/gdb-ppc-single- > step.diff > > It's mainly a transplant of two fixes from the gdb repository > (1.275, 1.276, deal_with_atomic_sequence) adjusted to our older gdb > code, but it's ugly #ifdef'ed __ppc__. In order to do it cleanly we > would need to change the signature of the SOFTWARE_SINGLE_STEP > method so it returns a value (this is how newer gdb works), but it > would affect gdb for all architectures. Do you see any objections > for growing a return value here? > > Another direction would be importing a newer gdb code base, and be > able to apply the fixes directly and cleanly (if at all required), > but am not sure if there are any plans to upgrade gdb in base? Let > me know your comments. Have you got any comments to this? Should I move on and commit this as ugly as is, or would reworking SOFTWARE_SINGLE_STEP be more desired? Any thoughts about newer gdb versions coming to the tree? Rafal