* [norov:remove-find-h 13/15] arch/m68k/include/asm/bitops.h:396:24: error: conflicting types for 'find_first_bit'
@ 2021-03-23 7:37 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-03-23 7:37 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 14974 bytes --]
tree: https://github.com/norov/linux remove-find-h
head: a3a1691cca887a386a029d858a3d69cbb3e3843f
commit: c17320c8f35578470da69fe0a4e5eb9e7a2c7fb6 [13/15] remove GENERIC_FIND_FIRST_BIT
config: m68k-allmodconfig (attached as .config)
compiler: m68k-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/c17320c8f35578470da69fe0a4e5eb9e7a2c7fb6
git remote add norov https://github.com/norov/linux
git fetch --no-tags norov remove-find-h
git checkout c17320c8f35578470da69fe0a4e5eb9e7a2c7fb6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
>> arch/m68k/include/asm/bitops.h:396:24: error: conflicting types for 'find_first_bit'
396 | #define find_first_bit find_first_bit
| ^~~~~~~~~~~~~~
include/asm-generic/bitops/find.h:107:15: note: in expansion of macro 'find_first_bit'
107 | unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
| ^~~~~~~~~~~~~~
arch/m68k/include/asm/bitops.h:373:19: note: previous definition of 'find_first_bit' was here
373 | static inline int find_first_bit(const unsigned long *vaddr, unsigned size)
| ^~~~~~~~~~~~~~
>> arch/m68k/include/asm/bitops.h:341:29: error: conflicting types for 'find_first_zero_bit'
341 | #define find_first_zero_bit find_first_zero_bit
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/find.h:127:15: note: in expansion of macro 'find_first_zero_bit'
127 | unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
| ^~~~~~~~~~~~~~~~~~~
arch/m68k/include/asm/bitops.h:317:19: note: previous definition of 'find_first_zero_bit' was here
317 | static inline int find_first_zero_bit(const unsigned long *vaddr,
| ^~~~~~~~~~~~~~~~~~~
--
In file included from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/module.h:12,
from arch/m68k/emu/nfblock.c:9:
>> arch/m68k/include/asm/bitops.h:396:24: error: conflicting types for 'find_first_bit'
396 | #define find_first_bit find_first_bit
| ^~~~~~~~~~~~~~
include/asm-generic/bitops/find.h:107:15: note: in expansion of macro 'find_first_bit'
107 | unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
| ^~~~~~~~~~~~~~
arch/m68k/include/asm/bitops.h:373:19: note: previous definition of 'find_first_bit' was here
373 | static inline int find_first_bit(const unsigned long *vaddr, unsigned size)
| ^~~~~~~~~~~~~~
>> arch/m68k/include/asm/bitops.h:341:29: error: conflicting types for 'find_first_zero_bit'
341 | #define find_first_zero_bit find_first_zero_bit
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/find.h:127:15: note: in expansion of macro 'find_first_zero_bit'
127 | unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
| ^~~~~~~~~~~~~~~~~~~
arch/m68k/include/asm/bitops.h:317:19: note: previous definition of 'find_first_zero_bit' was here
317 | static inline int find_first_zero_bit(const unsigned long *vaddr,
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/mmzone.h:19,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from arch/m68k/emu/nfblock.c:9:
include/linux/page-flags-layout.h:6:10: fatal error: generated/bounds.h: No such file or directory
6 | #include <generated/bounds.h>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
--
In file included from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
>> arch/m68k/include/asm/bitops.h:396:24: error: conflicting types for 'find_first_bit'
396 | #define find_first_bit find_first_bit
| ^~~~~~~~~~~~~~
include/asm-generic/bitops/find.h:107:15: note: in expansion of macro 'find_first_bit'
107 | unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
| ^~~~~~~~~~~~~~
arch/m68k/include/asm/bitops.h:373:19: note: previous definition of 'find_first_bit' was here
373 | static inline int find_first_bit(const unsigned long *vaddr, unsigned size)
| ^~~~~~~~~~~~~~
>> arch/m68k/include/asm/bitops.h:341:29: error: conflicting types for 'find_first_zero_bit'
341 | #define find_first_zero_bit find_first_zero_bit
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/find.h:127:15: note: in expansion of macro 'find_first_zero_bit'
127 | unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
| ^~~~~~~~~~~~~~~~~~~
arch/m68k/include/asm/bitops.h:317:19: note: previous definition of 'find_first_zero_bit' was here
317 | static inline int find_first_zero_bit(const unsigned long *vaddr,
| ^~~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:118: kernel/bounds.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1329: prepare0] Error 2
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:222: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
--
error: no override and no default toolchain set
init/Kconfig:67:warning: 'RUSTC_VERSION': number is invalid
In file included from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
>> arch/m68k/include/asm/bitops.h:396:24: error: conflicting types for 'find_first_bit'
396 | #define find_first_bit find_first_bit
| ^~~~~~~~~~~~~~
include/asm-generic/bitops/find.h:107:15: note: in expansion of macro 'find_first_bit'
107 | unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
| ^~~~~~~~~~~~~~
arch/m68k/include/asm/bitops.h:373:19: note: previous definition of 'find_first_bit' was here
373 | static inline int find_first_bit(const unsigned long *vaddr, unsigned size)
| ^~~~~~~~~~~~~~
>> arch/m68k/include/asm/bitops.h:341:29: error: conflicting types for 'find_first_zero_bit'
341 | #define find_first_zero_bit find_first_zero_bit
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/find.h:127:15: note: in expansion of macro 'find_first_zero_bit'
127 | unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
| ^~~~~~~~~~~~~~~~~~~
arch/m68k/include/asm/bitops.h:317:19: note: previous definition of 'find_first_zero_bit' was here
317 | static inline int find_first_zero_bit(const unsigned long *vaddr,
| ^~~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:118: kernel/bounds.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1329: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:222: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +/find_first_bit +396 arch/m68k/include/asm/bitops.h
171d809df1896c Greg Ungerer 2011-05-17 316
171d809df1896c Greg Ungerer 2011-05-17 317 static inline int find_first_zero_bit(const unsigned long *vaddr,
171d809df1896c Greg Ungerer 2011-05-17 318 unsigned size)
171d809df1896c Greg Ungerer 2011-05-17 319 {
171d809df1896c Greg Ungerer 2011-05-17 320 const unsigned long *p = vaddr;
171d809df1896c Greg Ungerer 2011-05-17 321 int res = 32;
171d809df1896c Greg Ungerer 2011-05-17 322 unsigned int words;
171d809df1896c Greg Ungerer 2011-05-17 323 unsigned long num;
171d809df1896c Greg Ungerer 2011-05-17 324
171d809df1896c Greg Ungerer 2011-05-17 325 if (!size)
171d809df1896c Greg Ungerer 2011-05-17 326 return 0;
171d809df1896c Greg Ungerer 2011-05-17 327
171d809df1896c Greg Ungerer 2011-05-17 328 words = (size + 31) >> 5;
171d809df1896c Greg Ungerer 2011-05-17 329 while (!(num = ~*p++)) {
171d809df1896c Greg Ungerer 2011-05-17 330 if (!--words)
171d809df1896c Greg Ungerer 2011-05-17 331 goto out;
171d809df1896c Greg Ungerer 2011-05-17 332 }
171d809df1896c Greg Ungerer 2011-05-17 333
171d809df1896c Greg Ungerer 2011-05-17 334 __asm__ __volatile__ ("bfffo %1{#0,#0},%0"
171d809df1896c Greg Ungerer 2011-05-17 335 : "=d" (res) : "d" (num & -num));
171d809df1896c Greg Ungerer 2011-05-17 336 res ^= 31;
171d809df1896c Greg Ungerer 2011-05-17 337 out:
171d809df1896c Greg Ungerer 2011-05-17 338 res += ((long)p - (long)vaddr - 4) * 8;
171d809df1896c Greg Ungerer 2011-05-17 339 return res < size ? res : size;
171d809df1896c Greg Ungerer 2011-05-17 340 }
171d809df1896c Greg Ungerer 2011-05-17 @341 #define find_first_zero_bit find_first_zero_bit
171d809df1896c Greg Ungerer 2011-05-17 342
171d809df1896c Greg Ungerer 2011-05-17 343 static inline int find_next_zero_bit(const unsigned long *vaddr, int size,
171d809df1896c Greg Ungerer 2011-05-17 344 int offset)
171d809df1896c Greg Ungerer 2011-05-17 345 {
171d809df1896c Greg Ungerer 2011-05-17 346 const unsigned long *p = vaddr + (offset >> 5);
171d809df1896c Greg Ungerer 2011-05-17 347 int bit = offset & 31UL, res;
171d809df1896c Greg Ungerer 2011-05-17 348
171d809df1896c Greg Ungerer 2011-05-17 349 if (offset >= size)
171d809df1896c Greg Ungerer 2011-05-17 350 return size;
171d809df1896c Greg Ungerer 2011-05-17 351
171d809df1896c Greg Ungerer 2011-05-17 352 if (bit) {
171d809df1896c Greg Ungerer 2011-05-17 353 unsigned long num = ~*p++ & (~0UL << bit);
171d809df1896c Greg Ungerer 2011-05-17 354 offset -= bit;
171d809df1896c Greg Ungerer 2011-05-17 355
171d809df1896c Greg Ungerer 2011-05-17 356 /* Look for zero in first longword */
171d809df1896c Greg Ungerer 2011-05-17 357 __asm__ __volatile__ ("bfffo %1{#0,#0},%0"
171d809df1896c Greg Ungerer 2011-05-17 358 : "=d" (res) : "d" (num & -num));
171d809df1896c Greg Ungerer 2011-05-17 359 if (res < 32) {
171d809df1896c Greg Ungerer 2011-05-17 360 offset += res ^ 31;
171d809df1896c Greg Ungerer 2011-05-17 361 return offset < size ? offset : size;
171d809df1896c Greg Ungerer 2011-05-17 362 }
171d809df1896c Greg Ungerer 2011-05-17 363 offset += 32;
171d809df1896c Greg Ungerer 2011-05-17 364
171d809df1896c Greg Ungerer 2011-05-17 365 if (offset >= size)
171d809df1896c Greg Ungerer 2011-05-17 366 return size;
171d809df1896c Greg Ungerer 2011-05-17 367 }
171d809df1896c Greg Ungerer 2011-05-17 368 /* No zero yet, search remaining full bytes for a zero */
171d809df1896c Greg Ungerer 2011-05-17 369 return offset + find_first_zero_bit(p, size - offset);
171d809df1896c Greg Ungerer 2011-05-17 370 }
171d809df1896c Greg Ungerer 2011-05-17 371 #define find_next_zero_bit find_next_zero_bit
171d809df1896c Greg Ungerer 2011-05-17 372
171d809df1896c Greg Ungerer 2011-05-17 373 static inline int find_first_bit(const unsigned long *vaddr, unsigned size)
171d809df1896c Greg Ungerer 2011-05-17 374 {
171d809df1896c Greg Ungerer 2011-05-17 375 const unsigned long *p = vaddr;
171d809df1896c Greg Ungerer 2011-05-17 376 int res = 32;
171d809df1896c Greg Ungerer 2011-05-17 377 unsigned int words;
171d809df1896c Greg Ungerer 2011-05-17 378 unsigned long num;
171d809df1896c Greg Ungerer 2011-05-17 379
171d809df1896c Greg Ungerer 2011-05-17 380 if (!size)
171d809df1896c Greg Ungerer 2011-05-17 381 return 0;
171d809df1896c Greg Ungerer 2011-05-17 382
171d809df1896c Greg Ungerer 2011-05-17 383 words = (size + 31) >> 5;
171d809df1896c Greg Ungerer 2011-05-17 384 while (!(num = *p++)) {
171d809df1896c Greg Ungerer 2011-05-17 385 if (!--words)
171d809df1896c Greg Ungerer 2011-05-17 386 goto out;
171d809df1896c Greg Ungerer 2011-05-17 387 }
171d809df1896c Greg Ungerer 2011-05-17 388
171d809df1896c Greg Ungerer 2011-05-17 389 __asm__ __volatile__ ("bfffo %1{#0,#0},%0"
171d809df1896c Greg Ungerer 2011-05-17 390 : "=d" (res) : "d" (num & -num));
171d809df1896c Greg Ungerer 2011-05-17 391 res ^= 31;
171d809df1896c Greg Ungerer 2011-05-17 392 out:
171d809df1896c Greg Ungerer 2011-05-17 393 res += ((long)p - (long)vaddr - 4) * 8;
171d809df1896c Greg Ungerer 2011-05-17 394 return res < size ? res : size;
171d809df1896c Greg Ungerer 2011-05-17 395 }
171d809df1896c Greg Ungerer 2011-05-17 @396 #define find_first_bit find_first_bit
171d809df1896c Greg Ungerer 2011-05-17 397
:::::: The code@line 396 was first introduced by commit
:::::: 171d809df1896c1022f9778cd2788be6c255a7dc m68k: merge mmu and non-mmu bitops.h
:::::: TO: Greg Ungerer <gerg@uclinux.org>
:::::: CC: Greg Ungerer <gerg@uclinux.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 60187 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-03-23 7:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-23 7:37 [norov:remove-find-h 13/15] arch/m68k/include/asm/bitops.h:396:24: error: conflicting types for 'find_first_bit' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.