[mark:arm64/alternatives/rework 8/12] arch/arm64/include/asm/alternative-macros.h:224:2: error: call to undeclared function 'BUILD_BUG_ON'; ISO C99 and later do not support implicit function declarations

From: kernel test robot
Date: Tue Aug 23 2022 - 02:10:34 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/alternatives/rework
head: c6f1e900bb0e1c5932f9995feaf4acb70cf6f62e
commit: 1696b807a602e836898825b7fff3691438b90f39 [8/12] arm64: alternative: add alternative_has_feature_*()
config: arm64-randconfig-r026-20220821 (https://download.01.org/0day-ci/archive/20220823/202208231413.qMjHMepE-lkp@xxxxxxxxx/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project b04d01c009d7f66bcca9138d2ce40999eedf104d)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/commit/?id=1696b807a602e836898825b7fff3691438b90f39
git remote add mark https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git
git fetch --no-tags mark arm64/alternatives/rework
git checkout 1696b807a602e836898825b7fff3691438b90f39
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 prepare

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from kernel/bounds.c:10:
In file included from include/linux/page-flags.h:10:
In file included from include/linux/bug.h:5:
In file included from arch/arm64/include/asm/bug.h:26:
In file included from include/asm-generic/bug.h:5:
In file included from include/linux/compiler.h:248:
In file included from arch/arm64/include/asm/rwonce.h:11:
>> arch/arm64/include/asm/alternative-macros.h:224:2: error: call to undeclared function 'BUILD_BUG_ON'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
BUILD_BUG_ON(feature >= ARM64_NCAPS);
^
arch/arm64/include/asm/alternative-macros.h:241:2: error: call to undeclared function 'BUILD_BUG_ON'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
BUILD_BUG_ON(feature >= ARM64_NCAPS);
^
2 errors generated.
make[2]: *** [scripts/Makefile.build:117: kernel/bounds.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1205: 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 +/BUILD_BUG_ON +224 arch/arm64/include/asm/alternative-macros.h

220
221 static __always_inline bool
222 alternative_has_feature_likely(unsigned long feature)
223 {
> 224 BUILD_BUG_ON(feature >= ARM64_NCAPS);
225
226 asm_volatile_goto(
227 ALTERNATIVE("b %l[l_no]", "nop", %[feature])
228 :
229 : [feature] "i" (feature)
230 :
231 : l_no);
232
233 return true;
234 l_no:
235 return false;
236 }
237

--
0-DAY CI Kernel Test Service
https://01.org/lkp