[PATCH] arch/powerpc: use BUILD_BUG() when detect unfit {cmp}xchg, size

Michael Ellerman mpe at ellerman.id.au
Tue Feb 23 21:39:52 AEDT 2016


On Tue, 2016-02-23 at 17:15 +0800, Boqun Feng wrote:
> On Tue, Feb 23, 2016 at 04:45:16PM +0800, Pan Xinhui wrote:
> > From: pan xinhui <xinhui.pan at linux.vnet.ibm.com>
> > 
> > diff --git a/arch/powerpc/include/asm/cmpxchg.h b/arch/powerpc/include/asm/cmpxchg.h
> > index d1a8d93..20c0a30 100644
> > --- a/arch/powerpc/include/asm/cmpxchg.h
> > +++ b/arch/powerpc/include/asm/cmpxchg.h
> > @@ -92,12 +93,6 @@ __xchg_u64_local(volatile void *p, unsigned long val)
> >  }
> >  #endif
> >  
> > -/*
> > - * This function doesn't exist, so you'll get a linker error
> > - * if something tries to do an invalid xchg().
> > - */
> > -extern void __xchg_called_with_bad_pointer(void);
> > -
> >  static __always_inline unsigned long
> >  __xchg(volatile void *ptr, unsigned long x, unsigned int size)
> >  {
> > @@ -109,7 +104,7 @@ __xchg(volatile void *ptr, unsigned long x, unsigned int size)
> >  		return __xchg_u64(ptr, x);
> >  #endif
> >  	}
> > -	__xchg_called_with_bad_pointer();
> > +	BUILD_BUG();
> 
> Maybe we can use BUILD_BUG_ON_MSG(1, "Unsupported size for xchg"), which
> could provide more information.

Yes I would prefer there was a message. Please send a v2.

cheers



More information about the Linuxppc-dev mailing list