Subject: Re: [PATCH 1/2] lib: Add lz4 compressor module

From: Andrew Morton <[email-masked]>
Date: Thu, 25 Apr 2013 15:42:17 -0700

On Mon, 22 Apr 2013 18:22:18 +0900 "Chanho Min" <[email-masked]> wrote:

> >> +#define HTYPE const u8*
> >> +
> >> +#ifdef __BIG_ENDIAN
> >> +#define LZ4_NBCOMMONBYTES(val) (__builtin_clz(val) >> 3)
> >> +#else
> >> +#define LZ4_NBCOMMONBYTES(val) (__builtin_ctz(val) >> 3)
> >> +#endif
> >
> >It seems at least m68k and sparc don't have the __builtin_clz() functions:
> >
> >m68k-allmodconfig (http://kisskb.ellerman.id.au/kisskb/buildresult/8572593/):
> >
> >ERROR: "__clzsi2" [lib/lz4/lz4hc_compress.ko] undefined!
> >ERROR: "__clzsi2" [lib/lz4/lz4_compress.ko] undefined!
> 
> gcc seems to define __builtin_clz as __clzsi2 in some architecture. 
> But, kernel doesn't link libgcc.a.
> If kernel should use gcc's built-in function without libgcc.a,
> do we need to port __clzsi2 to 'arch/*/lib/*'?

This breaks alpha (gcc-4.4.4) as well.  Can we please get this fixed
promptly?