[rcu:rcu/test 76/76] kernel/rcu/rcutorture.c:531:1: error: use of undeclared identifier '___srcu_struct_ptrs'

From: kernel test robot
Date: Mon Oct 26 2020 - 22:48:26 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/test
head: 784a6343c3660446ae62db13628b20e9f876100f
commit: 784a6343c3660446ae62db13628b20e9f876100f [76/76] Merge commit '3650b22' into rcu/test
config: x86_64-randconfig-a001-20201026 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project f2c25c70791de95d2466e09b5b58fc37f6ccd7a4)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=784a6343c3660446ae62db13628b20e9f876100f
git remote add rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
git fetch --no-tags rcu rcu/test
git checkout 784a6343c3660446ae62db13628b20e9f876100f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64

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

All errors (new ones prefixed by >>):

>> kernel/rcu/rcutorture.c:531:1: error: use of undeclared identifier '___srcu_struct_ptrs'
DEFINE_STATIC_SRCU(srcu_ctl);
^
include/linux/srcutree.h:135:34: note: expanded from macro 'DEFINE_STATIC_SRCU'
#define DEFINE_STATIC_SRCU(name) __DEFINE_SRCU(name, static)
^
include/linux/srcutree.h:127:13: note: expanded from macro '__DEFINE_SRCU'
__section(___srcu_struct_ptrs) = &name
^
kernel/rcu/rcutorture.c:1507:13: warning: no previous prototype for function 'rcu_nocb_cpu_offload' [-Wmissing-prototypes]
void __weak rcu_nocb_cpu_offload(int cpu) {}
^
kernel/rcu/rcutorture.c:1507:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak rcu_nocb_cpu_offload(int cpu) {}
^
static
kernel/rcu/rcutorture.c:1508:13: warning: no previous prototype for function 'rcu_nocb_cpu_deoffload' [-Wmissing-prototypes]
void __weak rcu_nocb_cpu_deoffload(int cpu) {}
^
kernel/rcu/rcutorture.c:1508:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak rcu_nocb_cpu_deoffload(int cpu) {}
^
static
2 warnings and 1 error generated.
--
>> kernel/rcu/refscale.c:162:1: error: use of undeclared identifier '___srcu_struct_ptrs'
DEFINE_STATIC_SRCU(srcu_refctl_scale);
^
include/linux/srcutree.h:135:34: note: expanded from macro 'DEFINE_STATIC_SRCU'
#define DEFINE_STATIC_SRCU(name) __DEFINE_SRCU(name, static)
^
include/linux/srcutree.h:127:13: note: expanded from macro '__DEFINE_SRCU'
__section(___srcu_struct_ptrs) = &name
^
1 error generated.
--
>> drivers/dax/super.c:21:1: error: use of undeclared identifier '___srcu_struct_ptrs'
DEFINE_STATIC_SRCU(dax_srcu);
^
include/linux/srcutree.h:135:34: note: expanded from macro 'DEFINE_STATIC_SRCU'
#define DEFINE_STATIC_SRCU(name) __DEFINE_SRCU(name, static)
^
include/linux/srcutree.h:127:13: note: expanded from macro '__DEFINE_SRCU'
__section(___srcu_struct_ptrs) = &name
^
drivers/dax/super.c:70:6: warning: no previous prototype for function '__generic_fsdax_supported' [-Wmissing-prototypes]
bool __generic_fsdax_supported(struct dax_device *dax_dev,
^
drivers/dax/super.c:70:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
bool __generic_fsdax_supported(struct dax_device *dax_dev,
^
static
drivers/dax/super.c:168:6: warning: no previous prototype for function '__bdev_dax_supported' [-Wmissing-prototypes]
bool __bdev_dax_supported(struct block_device *bdev, int blocksize)
^
drivers/dax/super.c:168:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
bool __bdev_dax_supported(struct block_device *bdev, int blocksize)
^
static
drivers/dax/super.c:452:6: warning: no previous prototype for function 'run_dax' [-Wmissing-prototypes]
void run_dax(struct dax_device *dax_dev)
^
drivers/dax/super.c:452:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void run_dax(struct dax_device *dax_dev)
^
static
3 warnings and 1 error generated.

vim +/___srcu_struct_ptrs +531 kernel/rcu/rcutorture.c

ff20e251c409da kernel/rcu/rcutorture.c Paul E. McKenney 2014-02-06 526
b2896d2e75c87e kernel/rcutorture.c Paul E. McKenney 2006-10-04 527 /*
b2896d2e75c87e kernel/rcutorture.c Paul E. McKenney 2006-10-04 528 * Definitions for srcu torture testing.
b2896d2e75c87e kernel/rcutorture.c Paul E. McKenney 2006-10-04 529 */
b2896d2e75c87e kernel/rcutorture.c Paul E. McKenney 2006-10-04 530
cda4dc813071e6 kernel/rcutorture.c Lai Jiangshan 2012-10-13 @531 DEFINE_STATIC_SRCU(srcu_ctl);
ca1d51ed9809a9 kernel/rcu/rcutorture.c Paul E. McKenney 2015-04-14 532 static struct srcu_struct srcu_ctld;
ca1d51ed9809a9 kernel/rcu/rcutorture.c Paul E. McKenney 2015-04-14 533 static struct srcu_struct *srcu_ctlp = &srcu_ctl;
b2896d2e75c87e kernel/rcutorture.c Paul E. McKenney 2006-10-04 534

:::::: The code at line 531 was first introduced by commit
:::::: cda4dc813071e6cb04944c5a140610bd06acd295 rcutorture: Use DEFINE_STATIC_SRCU()

:::::: TO: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
:::::: CC: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip