[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202204181828.5E4IAlMk-lkp@intel.com>
Date: Mon, 18 Apr 2022 18:44:20 +0800
From: kernel test robot <lkp@...el.com>
To: Yury Norov <yury.norov@...il.com>
Cc: llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
linux-kernel@...r.kernel.org
Subject: [norov:bitmap 45/47] include/linux/bitmap.h:615:32: warning:
incompatible integer to pointer conversion passing 'u64' (aka 'unsigned long
long') to parameter of type 'const u64 *' (aka 'const unsigned long long
*'); take the address with &
tree: https://github.com/norov/linux bitmap
head: 45a9e3feb171ccf077979b7ff6a0c6a732cfc17b
commit: 1a21df17d726b4f3c19a148e10d09ec632603f1c [45/47] lib: add bitmap_{from,to}_arr64
config: powerpc-mvme5100_defconfig (https://download.01.org/0day-ci/archive/20220418/202204181828.5E4IAlMk-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 429cbac0390654f90bba18a41799464adf31a5ec)
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
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://github.com/norov/linux/commit/1a21df17d726b4f3c19a148e10d09ec632603f1c
git remote add norov https://github.com/norov/linux
git fetch --no-tags norov bitmap
git checkout 1a21df17d726b4f3c19a148e10d09ec632603f1c
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=powerpc prepare
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
In file included from arch/powerpc/kernel/asm-offsets.c:12:
In file included from include/linux/compat.h:14:
In file included from include/linux/sem.h:5:
In file included from include/uapi/linux/sem.h:5:
In file included from include/linux/ipc.h:5:
In file included from include/linux/spinlock.h:62:
In file included from include/linux/lockdep.h:14:
In file included from include/linux/smp.h:13:
In file included from include/linux/cpumask.h:12:
>> include/linux/bitmap.h:615:32: warning: incompatible integer to pointer conversion passing 'u64' (aka 'unsigned long long') to parameter of type 'const u64 *' (aka 'const unsigned long long *'); take the address with & [-Wint-conversion]
return bitmap_from_arr64(dst, mask, 64);
^~~~
&
include/linux/bitmap.h:300:58: note: passing argument to parameter 'buf' here
void bitmap_from_arr64(unsigned long *bitmap, const u64 *buf, unsigned int nbits);
^
1 warning generated.
/usr/bin/ld: unrecognised emulation mode: elf32ppclinux
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om i386pep i386pe
clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [arch/powerpc/kernel/vdso/Makefile:65: arch/powerpc/kernel/vdso/vdso32.so.dbg] Error 1
make[2]: Target 'include/generated/vdso32-offsets.h' not remade because of errors.
make[1]: *** [arch/powerpc/Makefile:423: vdso_prepare] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:219: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +615 include/linux/bitmap.h
602
603 /**
604 * bitmap_from_u64 - Check and swap words within u64.
605 * @mask: source bitmap
606 * @dst: destination bitmap
607 *
608 * In 32-bit Big Endian kernel, when using ``(u32 *)(&val)[*]``
609 * to read u64 mask, we will get the wrong word.
610 * That is ``(u32 *)(&val)[0]`` gets the upper 32 bits,
611 * but we expect the lower 32-bits of u64.
612 */
613 static inline void bitmap_from_u64(unsigned long *dst, u64 mask)
614 {
> 615 return bitmap_from_arr64(dst, mask, 64);
616 }
617
--
0-DAY CI Kernel Test Service
https://01.org/lkp
Powered by blists - more mailing lists