[rcu:rcu/dev 87/87] arch/powerpc/include/asm/atomic.h:133:24: error: static declaration of 'atomic_inc' follows non-static declaration

From: kbuild test robot
Date: Thu May 04 2017 - 17:11:31 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/dev
head: 79a19fc3bea151903aaa19fc360f27379ab9c204
commit: 79a19fc3bea151903aaa19fc360f27379ab9c204 [87/87] rcu: Move ktime needs to rcutiny.h and remove ktime.h from rcupdate.h
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-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 79a19fc3bea151903aaa19fc360f27379ab9c204
# save the attached .config to linux build tree
make.cross ARCH=powerpc

All error/warnings (new ones prefixed by >>):

In file included from include/linux/sched.h:13:0,
from arch/powerpc/kernel/asm-offsets.c:17:
include/linux/pid.h: In function 'get_pid':
include/linux/pid.h:78:3: error: implicit declaration of function 'atomic_inc' [-Werror=implicit-function-declaration]
atomic_inc(&pid->count);
^~~~~~~~~~
In file included from include/linux/atomic.h:4:0,
from include/linux/sem.h:4,
from include/linux/sched.h:14,
from arch/powerpc/kernel/asm-offsets.c:17:
arch/powerpc/include/asm/atomic.h: At top level:
>> arch/powerpc/include/asm/atomic.h:133:24: warning: conflicting types for 'atomic_inc'
static __inline__ void atomic_inc(atomic_t *v)
^~~~~~~~~~
>> arch/powerpc/include/asm/atomic.h:133:24: error: static declaration of 'atomic_inc' follows non-static declaration
In file included from include/linux/sched.h:13:0,
from arch/powerpc/kernel/asm-offsets.c:17:
include/linux/pid.h:78:3: note: previous implicit declaration of 'atomic_inc' was here
atomic_inc(&pid->count);
^~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [arch/powerpc/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 +/atomic_inc +133 arch/powerpc/include/asm/atomic.h

a28cc7bb arch/powerpc/include/asm/atomic.h Peter Zijlstra 2016-04-18 117
a28cc7bb arch/powerpc/include/asm/atomic.h Peter Zijlstra 2016-04-18 118 ATOMIC_OPS(and, and)
a28cc7bb arch/powerpc/include/asm/atomic.h Peter Zijlstra 2016-04-18 119 ATOMIC_OPS(or, or)
a28cc7bb arch/powerpc/include/asm/atomic.h Peter Zijlstra 2016-04-18 120 ATOMIC_OPS(xor, xor)
a28cc7bb arch/powerpc/include/asm/atomic.h Peter Zijlstra 2016-04-18 121
a28cc7bb arch/powerpc/include/asm/atomic.h Peter Zijlstra 2016-04-18 122 #define atomic_fetch_and_relaxed atomic_fetch_and_relaxed
a28cc7bb arch/powerpc/include/asm/atomic.h Peter Zijlstra 2016-04-18 123 #define atomic_fetch_or_relaxed atomic_fetch_or_relaxed
a28cc7bb arch/powerpc/include/asm/atomic.h Peter Zijlstra 2016-04-18 124 #define atomic_fetch_xor_relaxed atomic_fetch_xor_relaxed
a28cc7bb arch/powerpc/include/asm/atomic.h Peter Zijlstra 2016-04-18 125
af095dd6 arch/powerpc/include/asm/atomic.h Peter Zijlstra 2014-03-26 126 #undef ATOMIC_OPS
a28cc7bb arch/powerpc/include/asm/atomic.h Peter Zijlstra 2016-04-18 127 #undef ATOMIC_FETCH_OP_RELAXED
dc53617c arch/powerpc/include/asm/atomic.h Boqun Feng 2016-01-06 128 #undef ATOMIC_OP_RETURN_RELAXED
af095dd6 arch/powerpc/include/asm/atomic.h Peter Zijlstra 2014-03-26 129 #undef ATOMIC_OP
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 130
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 131 #define atomic_add_negative(a, v) (atomic_add_return((a), (v)) < 0)
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 132
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 @133 static __inline__ void atomic_inc(atomic_t *v)
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 134 {
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 135 int t;
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 136
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 137 __asm__ __volatile__(
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 138 "1: lwarx %0,0,%2 # atomic_inc\n\
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 139 addic %0,%0,1\n"
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 140 PPC405_ERR77(0,%2)
^1da177e include/asm-ppc/atomic.h Linus Torvalds 2005-04-16 141 " stwcx. %0,0,%2 \n\

:::::: The code at line 133 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip