tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable head: df3ae4347aff9be1e9763ffa3b1015fca348bfbd commit: 676a3befc9bac1179f6a160ffe059c11e831a32c [129/143] mm/vmstat: use xchg in cpu_vm_stats_fold config: arc-randconfig-r043-20230302 (https://download.01.org/0day-ci/archive/20230304/202303042217.HbD8vk8i-lkp@xxxxxxxxx/config) compiler: arc-elf-gcc (GCC) 12.1.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://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/commit/?id=676a3befc9bac1179f6a160ffe059c11e831a32c git remote add akpm-mm https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git git fetch --no-tags akpm-mm mm-unstable git checkout 676a3befc9bac1179f6a160ffe059c11e831a32c # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202303042217.HbD8vk8i-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from <command-line>: mm/vmstat.c: In function 'cpu_vm_stats_fold': >> include/linux/compiler_types.h:399:45: error: call to '__compiletime_assert_384' declared with attribute error: BUILD_BUG failed 399 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^ include/linux/compiler_types.h:380:25: note: in definition of macro '__compiletime_assert' 380 | prefix ## suffix(); \ | ^~~~~~ include/linux/compiler_types.h:399:9: note: in expansion of macro '_compiletime_assert' 399 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:59:21: note: in expansion of macro 'BUILD_BUG_ON_MSG' 59 | #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") | ^~~~~~~~~~~~~~~~ arch/arc/include/asm/cmpxchg.h:108:17: note: in expansion of macro 'BUILD_BUG' 108 | BUILD_BUG(); \ | ^~~~~~~~~ include/linux/atomic.h:75:17: note: in expansion of macro 'arch_xchg_relaxed' 75 | __ret = op##_relaxed(args); \ | ^~ include/linux/atomic/atomic-arch-fallback.h:29:9: note: in expansion of macro '__atomic_op_fence' 29 | __atomic_op_fence(arch_xchg, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:1886:9: note: in expansion of macro 'arch_xchg' 1886 | arch_xchg(__ai_ptr, __VA_ARGS__); \ | ^~~~~~~~~ mm/vmstat.c:907:37: note: in expansion of macro 'xchg' 907 | v = xchg(&pzstats->vm_stat_diff[i], 0); | ^~~~ include/linux/compiler_types.h:399:45: error: call to '__compiletime_assert_386' declared with attribute error: BUILD_BUG failed 399 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^ include/linux/compiler_types.h:380:25: note: in definition of macro '__compiletime_assert' 380 | prefix ## suffix(); \ | ^~~~~~ include/linux/compiler_types.h:399:9: note: in expansion of macro '_compiletime_assert' 399 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:59:21: note: in expansion of macro 'BUILD_BUG_ON_MSG' 59 | #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") | ^~~~~~~~~~~~~~~~ arch/arc/include/asm/cmpxchg.h:108:17: note: in expansion of macro 'BUILD_BUG' 108 | BUILD_BUG(); \ | ^~~~~~~~~ include/linux/atomic.h:75:17: note: in expansion of macro 'arch_xchg_relaxed' 75 | __ret = op##_relaxed(args); \ | ^~ include/linux/atomic/atomic-arch-fallback.h:29:9: note: in expansion of macro '__atomic_op_fence' 29 | __atomic_op_fence(arch_xchg, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:1886:9: note: in expansion of macro 'arch_xchg' 1886 | arch_xchg(__ai_ptr, __VA_ARGS__); \ | ^~~~~~~~~ mm/vmstat.c:933:37: note: in expansion of macro 'xchg' 933 | v = xchg(&p->vm_node_stat_diff[i], 0); | ^~~~ vim +/__compiletime_assert_384 +399 include/linux/compiler_types.h eb5c2d4b45e3d2 Will Deacon 2020-07-21 385 eb5c2d4b45e3d2 Will Deacon 2020-07-21 386 #define _compiletime_assert(condition, msg, prefix, suffix) \ eb5c2d4b45e3d2 Will Deacon 2020-07-21 387 __compiletime_assert(condition, msg, prefix, suffix) eb5c2d4b45e3d2 Will Deacon 2020-07-21 388 eb5c2d4b45e3d2 Will Deacon 2020-07-21 389 /** eb5c2d4b45e3d2 Will Deacon 2020-07-21 390 * compiletime_assert - break build and emit msg if condition is false eb5c2d4b45e3d2 Will Deacon 2020-07-21 391 * @condition: a compile-time constant condition to check eb5c2d4b45e3d2 Will Deacon 2020-07-21 392 * @msg: a message to emit if condition is false eb5c2d4b45e3d2 Will Deacon 2020-07-21 393 * eb5c2d4b45e3d2 Will Deacon 2020-07-21 394 * In tradition of POSIX assert, this macro will break the build if the eb5c2d4b45e3d2 Will Deacon 2020-07-21 395 * supplied condition is *false*, emitting the supplied error message if the eb5c2d4b45e3d2 Will Deacon 2020-07-21 396 * compiler has support to do so. eb5c2d4b45e3d2 Will Deacon 2020-07-21 397 */ eb5c2d4b45e3d2 Will Deacon 2020-07-21 398 #define compiletime_assert(condition, msg) \ eb5c2d4b45e3d2 Will Deacon 2020-07-21 @399 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) eb5c2d4b45e3d2 Will Deacon 2020-07-21 400 :::::: The code at line 399 was first introduced by commit :::::: eb5c2d4b45e3d2d5d052ea6b8f1463976b1020d5 compiler.h: Move compiletime_assert() macros into compiler_types.h :::::: TO: Will Deacon <will@xxxxxxxxxx> :::::: CC: Will Deacon <will@xxxxxxxxxx> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests