On Mon, Oct 9, 2017 at 10:02 AM, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > On Thu, Oct 5, 2017 at 6:52 PM, kbuild test robot > <fengguang.wu@xxxxxxxxx> wrote: >> tree: https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git topic/rcar-gen3-z-clk-v3 >> head: 4b41ea6e92cdc7fce15ba99b02c40938a134cff7 >> commit: fda8dbe29dd1f04b61c443147a106962cf5d3f14 [2/6] clk: renesas: rcar-gen3: Add Z2 clock divider support >> config: i386-allmodconfig (attached as .config) >> compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 >> reproduce: >> git checkout fda8dbe29dd1f04b61c443147a106962cf5d3f14 >> # save the attached .config to linux build tree >> make ARCH=i386 >> >> All errors (new ones prefixed by >>): >> >> drivers/clk/renesas/rcar-gen3-cpg.o: In function `cpg_z_clk_set_rate': >>>> rcar-gen3-cpg.c:(.text+0x289): undefined reference to `__ffsdi2' > > This is caused by the use of __builtin_ffsll() in <linux/bitfield.h>. > On several architectures, gcc generates a call to __ffsdi2(). > This is the case on (non-exhaustive list): > alpha > arm32 > avr32 > bfin > cris > frv > h8300 > ia32 > m32r > m68k > microblaze > mn10300 > mips32 > mips64 > openrisc > parisc > powerpc32 > s390x > sh4 > sparc32 > sparc64 > unicore > xtensa > > The following are OK: > amd64 > arm64 > ia64 > powerpc64 > tilegx (but tile is the only one exporting the symbol to modules?) (now I had my morning coffee) Ah, <linux/bitfield.h> could just use __ffs64() + 1 instead. Will send a patch... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds