tree:
https://github.com/norov/linux find_bit_static
head: a18d2664b9ad8a08be90d073ef0673f62d8a186e
commit: 0cbe876d91e58013824b3628bd98ccf7ec1c87f4 [5/6] lib: add fast path for
find_first_*_bit() and find_last_bit()
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
#
https://github.com/norov/linux/commit/0cbe876d91e58013824b3628bd98ccf7ec1...
git remote add norov
https://github.com/norov/linux
git fetch --no-tags norov find_bit_static
git checkout 0cbe876d91e58013824b3628bd98ccf7ec1c87f4
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/sh/include/asm/bitops.h:61,
from include/linux/bitops.h:50,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/sh/include/asm/bug.h:112,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/find.h: In function 'find_last_bit':
> include/asm-generic/bitops/find.h:164:16: error: implicit
declaration of function '__fls'; did you mean '__ffs'?
[-Werror=implicit-function-declaration]
164 | return val ? __fls(val) :
size;
| ^~~~~
| __ffs
In file included from arch/sh/include/asm/bitops.h:69,
from include/linux/bitops.h:50,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/sh/include/asm/bug.h:112,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/__fls.h: At top level:
include/asm-generic/bitops/__fls.h:13:38: error: conflicting types for '__fls'
13 | static __always_inline unsigned long __fls(unsigned long word)
| ^~~~~
In file included from arch/sh/include/asm/bitops.h:61,
from include/linux/bitops.h:50,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/sh/include/asm/bug.h:112,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/find.h:164:16: note: previous implicit declaration of
'__fls' was here
164 | return val ? __fls(val) : size;
| ^~~~~
cc1: some warnings being treated as errors
--
In file included from arch/sh/include/asm/bitops.h:61,
from include/linux/bitops.h:50,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/sh/include/asm/bug.h:112,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/find.h: In function 'find_last_bit':
> include/asm-generic/bitops/find.h:164:16: error: implicit
declaration of function '__fls'; did you mean '__ffs'?
[-Werror=implicit-function-declaration]
164 | return val ? __fls(val) :
size;
| ^~~~~
| __ffs
In file included from arch/sh/include/asm/bitops.h:69,
from include/linux/bitops.h:50,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/sh/include/asm/bug.h:112,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/__fls.h: At top level:
include/asm-generic/bitops/__fls.h:13:38: error: conflicting types for '__fls'
13 | static __always_inline unsigned long __fls(unsigned long word)
| ^~~~~
In file included from arch/sh/include/asm/bitops.h:61,
from include/linux/bitops.h:50,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/sh/include/asm/bug.h:112,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/find.h:164:16: note: previous implicit declaration of
'__fls' was here
164 | return val ? __fls(val) : size;
| ^~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:117: kernel/bounds.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1220: prepare0] Error 2
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
--
WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
Depends on SOUND && !UML && SND && SND_SOC &&
SND_ATMEL_SOC && HAS_DMA
Selected by
- SND_ATMEL_SOC_SSC && SOUND && !UML && SND && SND_SOC
&& SND_ATMEL_SOC
- SND_ATMEL_SOC_SSC_PDC && SOUND && !UML && SND &&
SND_SOC && SND_ATMEL_SOC && ATMEL_SSC
In file included from arch/sh/include/asm/bitops.h:61,
from include/linux/bitops.h:50,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/sh/include/asm/bug.h:112,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/find.h: In function 'find_last_bit':
> include/asm-generic/bitops/find.h:164:16: error: implicit
declaration of function '__fls'; did you mean
164 | return val __fls(val)
: size;
| ^~~~~
| __ffs
In file included from arch/sh/include/asm/bitops.h:69,
from include/linux/bitops.h:50,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/sh/include/asm/bug.h:112,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/__fls.h: At top level:
include/asm-generic/bitops/__fls.h:13:38: error: conflicting types for '__fls'
13 | static __always_inline unsigned long __fls(unsigned long word)
| ^~~~~
In file included from arch/sh/include/asm/bitops.h:61,
from include/linux/bitops.h:50,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/sh/include/asm/bug.h:112,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
include/asm-generic/bitops/find.h:164:16: note: previous implicit declaration of
'__fls' was here
164 | return val __fls(val) : size;
| ^~~~~
cc1: some warnings being treated as errors
Makefile System.map arch block certs crypto drivers fs include init ipc kernel lib mm
modules.builtin modules.builtin.modinfo modules.order net samples scripts security sound
source usr virt vmlinux vmlinux.o vmlinux.symvers [scripts/Makefile.build:117:
kernel/bounds.s] Error 1
Target '__build' not remade because of errors.
Makefile System.map arch block certs crypto drivers fs include init ipc kernel lib mm
modules.builtin modules.builtin.modinfo modules.order net samples scripts security sound
source usr virt vmlinux vmlinux.o vmlinux.symvers [Makefile:1220: prepare0] Error 2
Target 'prepare' not remade because of errors.
make: Makefile System.map arch block certs crypto drivers fs include init ipc kernel
lib mm modules.builtin modules.builtin.modinfo modules.order net samples scripts security
sound source usr virt vmlinux vmlinux.o vmlinux.symvers [Makefile:185: __sub-make] Error
2
make: Target 'prepare' not remade because of errors.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
Depends on SOUND && !UML && SND && SND_SOC &&
SND_ATMEL_SOC && HAS_DMA
Selected by
- SND_ATMEL_SOC_SSC && SOUND && !UML && SND && SND_SOC
&& SND_ATMEL_SOC
- SND_ATMEL_SOC_SSC_PDC && SOUND && !UML && SND &&
SND_SOC && SND_ATMEL_SOC && ATMEL_SSC
vim +/__fls +164 include/asm-generic/bitops/find.h
150
151 #ifndef find_last_bit
152 /**
153 * find_last_bit - find the last set bit in a memory region
154 * @addr: The address to start the search at
155 * @size: The number of bits to search
156 *
157 * Returns the bit number of the last set bit, or size.
158 */
159 static __always_inline
160 unsigned long find_last_bit(const unsigned long *addr, unsigned long size)
161 {
162 if (small_const_nbits(size)) {
163 unsigned long val = *addr & BITMAP_LAST_WORD_MASK(size);
164 return val ? __fls(val) : size;
165 }
166
167 return _find_last_bit(addr, size);
168 }
169 #endif
170
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org