Re: bit fields && data tearing

2014-09-04 Thread Jakub Jelinek
On Thu, Sep 04, 2014 at 08:24:12AM -0400, Peter Hurley wrote: > And I just confirmed with the Alpha cross-compiler that the fields are > not 'padded out' if volatile either. They can't be, struct layout is part of the ABI. Guess you can introduce say atomic_bool and similar typedefs which would be

Re: bit fields && data tearing

2014-09-04 Thread Jakub Jelinek
On Thu, Sep 04, 2014 at 10:57:40AM +0200, Mikael Pettersson wrote: > Benjamin Herrenschmidt writes: > > On Wed, 2014-09-03 at 18:51 -0400, Peter Hurley wrote: > > > > > Apologies for hijacking this thread but I need to extend this discussion > > > somewhat regarding what a compiler might do wi

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/

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

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

2010-06-25 Thread Jakub Jelinek
werpc kernel (and fixes one bug where %U was used for incorrect operand). Signed-off-by: Jakub Jelinek boot/io.h | 12 ++-- include/asm/atomic.h |8 include/asm/io.h |4 ++-- include/asm/pgtable.h |4 ++-- 4 files changed, 14 insertions(+), 14

Re: [PATCH] powerpc: Fix 64 bits vDSO dwarf info for CR register

2007-10-17 Thread Jakub Jelinek
On Wed, Oct 17, 2007 at 02:26:50PM +1000, Benjamin Herrenschmidt wrote: > Unfortunately, a bug in gcc cause it to not quite work either, but that > is being fixed separately with something around the lines of: > > linux-unwind.h: > > fs->regs.reg[R_CR2].loc.offset = (long) ®s->ccr - new_cfa;