Re: [PATCH] Adjust arch/powerpc inline asms for recent gcc change

2010-07-30 Thread Benjamin Herrenschmidt
On Fri, 2010-07-30 at 09:19 +0200, Jakub Jelinek wrote: > So, in short, I'm afraid "m<>" needs to be used only for GCC 4.6+ > (and, vendors which backported the inline-asm handling changes > to their older gcc would need to adjust for their gccs too). > When "m<>" isn't used, it just leads to poten

Re: [PATCH] Adjust arch/powerpc inline asms for recent gcc change

2010-07-30 Thread Jakub Jelinek
On Fri, Jul 30, 2010 at 05:04:46PM +1000, Benjamin Herrenschmidt wrote: > On Thu, 2010-07-08 at 16:08 +1000, Benjamin Herrenschmidt wrote: > > On Fri, 2010-06-25 at 11:56 +0200, Jakub Jelinek wrote: > > > > > static inline void sync(void) > > > diff --git a/arch/powerpc/include/asm/atomic.h > >

Re: [PATCH] Adjust arch/powerpc inline asms for recent gcc change

2010-07-30 Thread Benjamin Herrenschmidt
On Thu, 2010-07-08 at 16:08 +1000, Benjamin Herrenschmidt wrote: > On Fri, 2010-06-25 at 11:56 +0200, Jakub Jelinek wrote: > > > static inline void sync(void) > > diff --git a/arch/powerpc/include/asm/atomic.h > > b/arch/powerpc/include/asm/atomic.h > > index b8f152e..288d8b2 100644 > > --- a/ar

Re: [PATCH] Adjust arch/powerpc inline asms for recent gcc change

2010-07-07 Thread Benjamin Herrenschmidt
On Fri, 2010-06-25 at 11:56 +0200, Jakub Jelinek wrote: > static inline void sync(void) > diff --git a/arch/powerpc/include/asm/atomic.h > b/arch/powerpc/include/asm/atomic.h > index b8f152e..288d8b2 100644 > --- a/arch/powerpc/include/asm/atomic.h > +++ b/arch/powerpc/include/asm/atomic.h > @@

Re: [PATCH] Adjust arch/powerpc inline asms for recent gcc change

2010-06-30 Thread Segher Boessenkool
- stw%U0%X0 %L2,%1" - : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) + stw%U1%X1 %L2,%1" + : "=m<>" (*ptep), "=m<>" (*((unsigned char *)ptep+4)) : "r" (pte) : "memory"); This still isn't correct -- the constraint says that a byte is written, but

Re: [PATCH] Adjust arch/powerpc inline asms for recent gcc change

2010-06-30 Thread Benjamin Herrenschmidt
On Fri, 2010-06-25 at 13:18 +0200, Jakub Jelinek wrote: > On Fri, Jun 25, 2010 at 01:08:23PM +0200, Segher Boessenkool wrote: > > > - stw%U0%X0 %L2,%1" > > > - : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) > > > + stw%U1%X1 %L2,%1" > > > + : "=m<>" (*ptep), "=m<>" (*((unsigned c

Re: [PATCH] Adjust arch/powerpc inline asms for recent gcc change

2010-06-25 Thread Jakub Jelinek
On Fri, Jun 25, 2010 at 01:08:23PM +0200, Segher Boessenkool wrote: > > - stw%U0%X0 %L2,%1" > > - : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) > > + stw%U1%X1 %L2,%1" > > + : "=m<>" (*ptep), "=m<>" (*((unsigned char *)ptep+4)) > > : "r" (pte) : "memory"); > > This

Re: [PATCH] Adjust arch/powerpc inline asms for recent gcc change

2010-06-25 Thread Segher Boessenkool
> - stw%U0%X0 %L2,%1" > - : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) > + stw%U1%X1 %L2,%1" > + : "=m<>" (*ptep), "=m<>" (*((unsigned char *)ptep+4)) > : "r" (pte) : "memory"); This still isn't correct -- the constraint says that a byte is written, but t

[PATCH] Adjust arch/powerpc inline asms for recent gcc change

2010-06-25 Thread Jakub Jelinek
Hi! I've recently changed gcc handling of inline-asm, such that it by default disallows side-effects on memory operands of inline-asm and only allows them if < or > constraint is present for the operand. See http://gcc.gnu.org/PR44492 and http://bugzilla.redhat.com/602359 for details. The change