Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Apr 2009 11:01:40 +0200
From:      Rafal Jaworowski <raj@semihalf.com>
To:        Marcel Moolenaar <xcllnt@mac.com>
Cc:        freebsd-ppc@freebsd.org
Subject:   Re: Single stepping through atomic ops
Message-ID:  <F9D995D9-D032-498B-B252-CCED9E1D0540@semihalf.com>
In-Reply-To: <36D74D0F-DB5D-4B3D-8A34-2AC72A5209AF@semihalf.com>
References:  <36D74D0F-DB5D-4B3D-8A34-2AC72A5209AF@semihalf.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F9D995D9-D032-498B-B252-CCED9E1D0540>