Dongsheng Wang <dongsheng.w...@freescale.com> writes: > From: Wang Dongsheng <dongsheng.w...@freescale.com> > > This issue caused on 'commit 990486c8af04 ("strscpy: zero any trailing > garbage bytes in the destination")'. > > zero_bytemask is not implemented on PowerPC. So copy the zero_bytemask > of BIG_ENDIAN implementation from include/asm-generic/word-at-a-time.h > to arch/powerpc/include/asm/word-at-a-time.h. > > Build message: > lib/string.c: In function 'strscpy': > lib/string.c:209:4: error: implicit declaration of function > 'zero_bytemask' [-Werror=implicit-function-declaration] > *(unsigned long *)(dest+res) = c & zero_bytemask(data); > cc1: some warnings being treated as errors > make[1]: *** [lib/string.o] Error 1 > make[1]: *** Waiting for unfinished jobs.... > > Signed-off-by: Wang Dongsheng <dongsheng.w...@freescale.com> > > diff --git a/arch/powerpc/include/asm/word-at-a-time.h > b/arch/powerpc/include/asm/word-at-a-time.h > index 5b3a903..d891456 100644 > --- a/arch/powerpc/include/asm/word-at-a-time.h > +++ b/arch/powerpc/include/asm/word-at-a-time.h > @@ -40,6 +40,10 @@ static inline bool has_zero(unsigned long val, unsigned > long *data, const struct > return (val + c->high_bits) & ~rhs; > } > > +#ifndef zero_bytemask > +#define zero_bytemask(mask) (~1ul << __fls(mask)) > +#endif > + > #else
Why #ifndef zero_bytemask ?. What will override zero_bytemask defined in arch headers. We generally do it such that generic code does #ifndef, but arch headers doesn't need to do this. -aneesh _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev