[ammarfaizi2-block:arm64/linux/for-next/alternatives 7/9] 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: Thu Sep 22 2022 - 07:28:14 EST


tree: https://github.com/ammarfaizi2/linux-block arm64/linux/for-next/alternatives
head: 0072dc1b53c39fb7c4cfc5c9e5d5a30622198613
commit: 21fb26bfb01ffe0d9a9a967ffe061092128bbffe [7/9] arm64: alternatives: add alternative_has_feature_*()
config: arm64-buildonly-randconfig-r006-20220921 (https://download.01.org/0day-ci/archive/20220922/202209221916.DuPaZviq-lkp@xxxxxxxxx/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 791a7ae1ba3efd6bca96338e10ffde557ba83920)
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://github.com/ammarfaizi2/linux-block/commit/21fb26bfb01ffe0d9a9a967ffe061092128bbffe
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block arm64/linux/for-next/alternatives
git checkout 21fb26bfb01ffe0d9a9a967ffe061092128bbffe
# 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>

Note: the ammarfaizi2-block/arm64/linux/for-next/alternatives HEAD 0072dc1b53c39fb7c4cfc5c9e5d5a30622198613 builds fine.
It only hurts bisectability.

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