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

From: Michael Ellerman
Date: Tue Feb 23 2016 - 05:40:56 EST


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@xxxxxxxxxxxxxxxxxx>
> >
> > 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