[rcu:rcu/next 96/97] include/linux/rcutiny.h:120:20: error: static declaration of 'rcu_scheduler_starting' follows non-static declaration

From: kbuild test robot
Date: Wed May 31 2017 - 02:27:55 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
head: 8995eb05b8c6f9bde96bc2713ec9b7bb9072093f
commit: 32bc295e22be3b484ee3324f6aeeaae93234c429 [96/97] srcu: Move rcu_scheduler_starting() from Tiny RCU to Tiny SRCU
config: sparc64-allnoconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 32bc295e22be3b484ee3324f6aeeaae93234c429
# save the attached .config to linux build tree
make.cross ARCH=sparc64

All errors (new ones prefixed by >>):

warning: (COMPAT) selects COMPAT_BINFMT_ELF which has unmet direct dependencies (COMPAT && BINFMT_ELF)
warning: (COMPAT) selects COMPAT_BINFMT_ELF which has unmet direct dependencies (COMPAT && BINFMT_ELF)
In file included from include/linux/rcupdate.h:211:0,
from include/linux/rculist.h:10,
from include/linux/pid.h:4,
from include/linux/sched.h:13,
from arch/sparc/kernel/asm-offsets.c:13:
>> include/linux/rcutiny.h:120:20: error: static declaration of 'rcu_scheduler_starting' follows non-static declaration
static inline void rcu_scheduler_starting(void) { }
^~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rculist.h:10:0,
from include/linux/pid.h:4,
from include/linux/sched.h:13,
from arch/sparc/kernel/asm-offsets.c:13:
include/linux/rcupdate.h:106:6: note: previous declaration of 'rcu_scheduler_starting' was here
void rcu_scheduler_starting(void);
^~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [arch/sparc/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [sub-make] Error 2

vim +/rcu_scheduler_starting +120 include/linux/rcutiny.h

5fde209e Paul E. McKenney 2017-05-03 114 static inline bool rcu_irq_enter_disabled(void) { return false; }
5fde209e Paul E. McKenney 2017-05-03 115 static inline void rcu_irq_exit_irqson(void) { }
5fde209e Paul E. McKenney 2017-05-03 116 static inline void rcu_irq_enter_irqson(void) { }
5fde209e Paul E. McKenney 2017-05-03 117 static inline void rcu_irq_exit(void) { }
5fde209e Paul E. McKenney 2017-05-03 118 static inline void exit_rcu(void) { }
32bc295e Paul E. McKenney 2017-05-26 119 #ifndef CONFIG_SRCU
5fde209e Paul E. McKenney 2017-05-03 @120 static inline void rcu_scheduler_starting(void) { }
32bc295e Paul E. McKenney 2017-05-26 121 #endif /* #ifndef CONFIG_SRCU */
ddeb83e7 Paul E. McKenney 2017-05-11 122 static inline void rcu_end_inkernel_boot(void) { }
5fde209e Paul E. McKenney 2017-05-03 123 static inline bool rcu_is_watching(void) { return true; }

:::::: The code at line 120 was first introduced by commit
:::::: 5fde209ef72d68e8a955e434753258eb33f85431 rcu: Move rcutiny.h to new empty/true/false-function style

:::::: TO: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
:::::: CC: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip