[csky-linux:v5.12-rc4-riscv-atomic-arch 4/4] include/linux/atomic-arch-fallback.h:1463:9: error: implicit declaration of function 'arch_atomic64_add_return'

0 views
Skip to first unread message

kernel test robot

unread,
Apr 15, 2021, 8:48:41 AM4/15/21
to Guo Ren, kbuil...@lists.01.org, clang-bu...@googlegroups.com
tree: https://github.com/c-sky/csky-linux v5.12-rc4-riscv-atomic-arch
head: c03ab3439319e20825642c84c3f23c968dfef552
commit: c03ab3439319e20825642c84c3f23c968dfef552 [4/4] riscv: atomic: Using ARCH_ATOMIC in asm/atomic.h
config: riscv-randconfig-r021-20210415 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 6a18cc23efad410db48a3ccfc233d215de7d4cb9)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/c-sky/csky-linux/commit/c03ab3439319e20825642c84c3f23c968dfef552
git remote add csky-linux https://github.com/c-sky/csky-linux
git fetch --no-tags csky-linux v5.12-rc4-riscv-atomic-arch
git checkout c03ab3439319e20825642c84c3f23c968dfef552
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=riscv

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All errors (new ones prefixed by >>):

In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1447:2: error: implicit declaration of function 'arch_atomic64_add' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_add(1, v);
^
include/linux/atomic-arch-fallback.h:1447:2: note: did you mean 'arch_atomic_add'?
arch/riscv/include/asm/atomic.h:57:1: note: 'arch_atomic_add' declared here
ATOMIC_OPS(add, add, i)
^
arch/riscv/include/asm/atomic.h:50:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP (op, asm_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:39:6: note: expanded from macro 'ATOMIC_OP'
void arch_atomic##prefix##_##op(c_type i, atomic##prefix##_t *v) \
^
<scratch space>:139:1: note: expanded from here
arch_atomic_add
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1463:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return(1, v);
^
include/linux/atomic-arch-fallback.h:1463:9: note: did you mean 'arch_atomic_add_return'?
arch/riscv/include/asm/atomic.h:128:1: note: 'arch_atomic_add_return' declared here
ATOMIC_OPS(add, add, +, i)
^
arch/riscv/include/asm/atomic.h:119:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP_RETURN(op, asm_op, c_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:110:8: note: expanded from macro 'ATOMIC_OP_RETURN'
c_type arch_atomic##prefix##_##op##_return(c_type i, \
^
<scratch space>:186:1: note: expanded from here
arch_atomic_add_return
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1472:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1276:42: note: expanded from macro 'arch_atomic64_add_return_acquire'
#define arch_atomic64_add_return_acquire arch_atomic64_add_return
^
include/linux/atomic-arch-fallback.h:1481:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_release(1, v);
^
include/linux/atomic-arch-fallback.h:1277:42: note: expanded from macro 'arch_atomic64_add_return_release'
#define arch_atomic64_add_return_release arch_atomic64_add_return
^
include/linux/atomic-arch-fallback.h:1490:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1278:42: note: expanded from macro 'arch_atomic64_add_return_relaxed'
#define arch_atomic64_add_return_relaxed arch_atomic64_add_return
^
>> include/linux/atomic-arch-fallback.h:1544:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add(1, v);
^
include/linux/atomic-arch-fallback.h:1544:9: note: did you mean 'arch_atomic_fetch_add'?
arch/riscv/include/asm/atomic.h:128:1: note: 'arch_atomic_fetch_add' declared here
ATOMIC_OPS(add, add, +, i)
^
arch/riscv/include/asm/atomic.h:118:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_FETCH_OP( op, asm_op, I, w, int, ) \
^
arch/riscv/include/asm/atomic.h:91:8: note: expanded from macro 'ATOMIC_FETCH_OP'
c_type arch_atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v)\
^
<scratch space>:175:1: note: expanded from here
arch_atomic_fetch_add
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1553:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1318:41: note: expanded from macro 'arch_atomic64_fetch_add_acquire'
#define arch_atomic64_fetch_add_acquire arch_atomic64_fetch_add
^
include/linux/atomic-arch-fallback.h:1562:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_release(1, v);
^
include/linux/atomic-arch-fallback.h:1319:41: note: expanded from macro 'arch_atomic64_fetch_add_release'
#define arch_atomic64_fetch_add_release arch_atomic64_fetch_add
^
include/linux/atomic-arch-fallback.h:1571:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1320:41: note: expanded from macro 'arch_atomic64_fetch_add_relaxed'
#define arch_atomic64_fetch_add_relaxed arch_atomic64_fetch_add
^
>> include/linux/atomic-arch-fallback.h:1618:2: error: implicit declaration of function 'arch_atomic64_sub' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_sub(1, v);
^
include/linux/atomic-arch-fallback.h:1618:2: note: did you mean 'arch_atomic_sub'?
arch/riscv/include/asm/atomic.h:58:1: note: 'arch_atomic_sub' declared here
ATOMIC_OPS(sub, add, -i)
^
arch/riscv/include/asm/atomic.h:50:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP (op, asm_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:39:6: note: expanded from macro 'ATOMIC_OP'
void arch_atomic##prefix##_##op(c_type i, atomic##prefix##_t *v) \
^
<scratch space>:144:1: note: expanded from here
arch_atomic_sub
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1634:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return(1, v);
^
include/linux/atomic-arch-fallback.h:1634:9: note: did you mean 'arch_atomic_sub_return'?
arch/riscv/include/asm/atomic.h:129:1: note: 'arch_atomic_sub_return' declared here
ATOMIC_OPS(sub, add, +, -i)
^
arch/riscv/include/asm/atomic.h:119:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP_RETURN(op, asm_op, c_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:110:8: note: expanded from macro 'ATOMIC_OP_RETURN'
c_type arch_atomic##prefix##_##op##_return(c_type i, \
^
<scratch space>:210:1: note: expanded from here
arch_atomic_sub_return
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1643:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1360:42: note: expanded from macro 'arch_atomic64_sub_return_acquire'
#define arch_atomic64_sub_return_acquire arch_atomic64_sub_return
^
include/linux/atomic-arch-fallback.h:1652:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_release(1, v);
^
include/linux/atomic-arch-fallback.h:1361:42: note: expanded from macro 'arch_atomic64_sub_return_release'
#define arch_atomic64_sub_return_release arch_atomic64_sub_return
^
include/linux/atomic-arch-fallback.h:1661:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1362:42: note: expanded from macro 'arch_atomic64_sub_return_relaxed'
#define arch_atomic64_sub_return_relaxed arch_atomic64_sub_return
^
>> include/linux/atomic-arch-fallback.h:1715:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub(1, v);
^
include/linux/atomic-arch-fallback.h:1715:9: note: did you mean 'arch_atomic_fetch_sub'?
arch/riscv/include/asm/atomic.h:129:1: note: 'arch_atomic_fetch_sub' declared here
ATOMIC_OPS(sub, add, +, -i)
^
arch/riscv/include/asm/atomic.h:118:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_FETCH_OP( op, asm_op, I, w, int, ) \
^
arch/riscv/include/asm/atomic.h:91:8: note: expanded from macro 'ATOMIC_FETCH_OP'
c_type arch_atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v)\
^
<scratch space>:199:1: note: expanded from here
arch_atomic_fetch_sub
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1724:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1402:41: note: expanded from macro 'arch_atomic64_fetch_sub_acquire'
#define arch_atomic64_fetch_sub_acquire arch_atomic64_fetch_sub
^
include/linux/atomic-arch-fallback.h:1733:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_release(1, v);
^
include/linux/atomic-arch-fallback.h:1403:41: note: expanded from macro 'arch_atomic64_fetch_sub_release'
#define arch_atomic64_fetch_sub_release arch_atomic64_fetch_sub
^
include/linux/atomic-arch-fallback.h:1742:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1404:41: note: expanded from macro 'arch_atomic64_fetch_sub_relaxed'
#define arch_atomic64_fetch_sub_relaxed arch_atomic64_fetch_sub
^
>> include/linux/atomic-arch-fallback.h:1831:2: error: implicit declaration of function 'arch_atomic64_and' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_and(~i, v);
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1447:2: error: implicit declaration of function 'arch_atomic64_add' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_add(1, v);
^
include/linux/atomic-arch-fallback.h:1447:2: note: did you mean 'arch_atomic_add'?
arch/riscv/include/asm/atomic.h:57:1: note: 'arch_atomic_add' declared here
ATOMIC_OPS(add, add, i)
^
arch/riscv/include/asm/atomic.h:50:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP (op, asm_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:39:6: note: expanded from macro 'ATOMIC_OP'
void arch_atomic##prefix##_##op(c_type i, atomic##prefix##_t *v) \
^
<scratch space>:139:1: note: expanded from here
arch_atomic_add
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1463:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return(1, v);
^
include/linux/atomic-arch-fallback.h:1463:9: note: did you mean 'arch_atomic_add_return'?
arch/riscv/include/asm/atomic.h:128:1: note: 'arch_atomic_add_return' declared here
ATOMIC_OPS(add, add, +, i)
^
arch/riscv/include/asm/atomic.h:119:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP_RETURN(op, asm_op, c_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:110:8: note: expanded from macro 'ATOMIC_OP_RETURN'
c_type arch_atomic##prefix##_##op##_return(c_type i, \
^
<scratch space>:186:1: note: expanded from here
arch_atomic_add_return
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1472:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1276:42: note: expanded from macro 'arch_atomic64_add_return_acquire'
#define arch_atomic64_add_return_acquire arch_atomic64_add_return
^
include/linux/atomic-arch-fallback.h:1481:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_release(1, v);
^
include/linux/atomic-arch-fallback.h:1277:42: note: expanded from macro 'arch_atomic64_add_return_release'
#define arch_atomic64_add_return_release arch_atomic64_add_return
^
include/linux/atomic-arch-fallback.h:1490:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1278:42: note: expanded from macro 'arch_atomic64_add_return_relaxed'
#define arch_atomic64_add_return_relaxed arch_atomic64_add_return
^
>> include/linux/atomic-arch-fallback.h:1544:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add(1, v);
^
include/linux/atomic-arch-fallback.h:1544:9: note: did you mean 'arch_atomic_fetch_add'?
arch/riscv/include/asm/atomic.h:128:1: note: 'arch_atomic_fetch_add' declared here
ATOMIC_OPS(add, add, +, i)
^
arch/riscv/include/asm/atomic.h:118:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_FETCH_OP( op, asm_op, I, w, int, ) \
^
arch/riscv/include/asm/atomic.h:91:8: note: expanded from macro 'ATOMIC_FETCH_OP'
c_type arch_atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v)\
^
<scratch space>:175:1: note: expanded from here
arch_atomic_fetch_add
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1553:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1318:41: note: expanded from macro 'arch_atomic64_fetch_add_acquire'
#define arch_atomic64_fetch_add_acquire arch_atomic64_fetch_add
^
include/linux/atomic-arch-fallback.h:1562:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_release(1, v);
^
include/linux/atomic-arch-fallback.h:1319:41: note: expanded from macro 'arch_atomic64_fetch_add_release'
#define arch_atomic64_fetch_add_release arch_atomic64_fetch_add
^
include/linux/atomic-arch-fallback.h:1571:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1320:41: note: expanded from macro 'arch_atomic64_fetch_add_relaxed'
#define arch_atomic64_fetch_add_relaxed arch_atomic64_fetch_add
^
>> include/linux/atomic-arch-fallback.h:1618:2: error: implicit declaration of function 'arch_atomic64_sub' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_sub(1, v);
^
include/linux/atomic-arch-fallback.h:1618:2: note: did you mean 'arch_atomic_sub'?
arch/riscv/include/asm/atomic.h:58:1: note: 'arch_atomic_sub' declared here
ATOMIC_OPS(sub, add, -i)
^
arch/riscv/include/asm/atomic.h:50:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP (op, asm_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:39:6: note: expanded from macro 'ATOMIC_OP'
void arch_atomic##prefix##_##op(c_type i, atomic##prefix##_t *v) \
^
<scratch space>:144:1: note: expanded from here
arch_atomic_sub
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1634:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return(1, v);
^
include/linux/atomic-arch-fallback.h:1634:9: note: did you mean 'arch_atomic_sub_return'?
arch/riscv/include/asm/atomic.h:129:1: note: 'arch_atomic_sub_return' declared here
ATOMIC_OPS(sub, add, +, -i)
^
arch/riscv/include/asm/atomic.h:119:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP_RETURN(op, asm_op, c_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:110:8: note: expanded from macro 'ATOMIC_OP_RETURN'
c_type arch_atomic##prefix##_##op##_return(c_type i, \
^
<scratch space>:210:1: note: expanded from here
arch_atomic_sub_return
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1643:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1360:42: note: expanded from macro 'arch_atomic64_sub_return_acquire'
#define arch_atomic64_sub_return_acquire arch_atomic64_sub_return
^
include/linux/atomic-arch-fallback.h:1652:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_release(1, v);
^
include/linux/atomic-arch-fallback.h:1361:42: note: expanded from macro 'arch_atomic64_sub_return_release'
#define arch_atomic64_sub_return_release arch_atomic64_sub_return
^
include/linux/atomic-arch-fallback.h:1661:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1362:42: note: expanded from macro 'arch_atomic64_sub_return_relaxed'
#define arch_atomic64_sub_return_relaxed arch_atomic64_sub_return
^
>> include/linux/atomic-arch-fallback.h:1715:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub(1, v);
^
include/linux/atomic-arch-fallback.h:1715:9: note: did you mean 'arch_atomic_fetch_sub'?
arch/riscv/include/asm/atomic.h:129:1: note: 'arch_atomic_fetch_sub' declared here
ATOMIC_OPS(sub, add, +, -i)
^
arch/riscv/include/asm/atomic.h:118:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_FETCH_OP( op, asm_op, I, w, int, ) \
^
arch/riscv/include/asm/atomic.h:91:8: note: expanded from macro 'ATOMIC_FETCH_OP'
c_type arch_atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v)\
^
<scratch space>:199:1: note: expanded from here
arch_atomic_fetch_sub
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1724:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1402:41: note: expanded from macro 'arch_atomic64_fetch_sub_acquire'
#define arch_atomic64_fetch_sub_acquire arch_atomic64_fetch_sub
^
include/linux/atomic-arch-fallback.h:1733:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_release(1, v);
^
include/linux/atomic-arch-fallback.h:1403:41: note: expanded from macro 'arch_atomic64_fetch_sub_release'
#define arch_atomic64_fetch_sub_release arch_atomic64_fetch_sub
^
include/linux/atomic-arch-fallback.h:1742:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1404:41: note: expanded from macro 'arch_atomic64_fetch_sub_relaxed'
#define arch_atomic64_fetch_sub_relaxed arch_atomic64_fetch_sub
^
>> include/linux/atomic-arch-fallback.h:1831:2: error: implicit declaration of function 'arch_atomic64_and' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_and(~i, v);
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [scripts/Makefile.build:116: arch/riscv/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1235: prepare0] Error 2
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
..


vim +/arch_atomic64_add_return +1463 include/linux/atomic-arch-fallback.h

37f8173dd84936 Peter Zijlstra 2020-01-24 1442
37f8173dd84936 Peter Zijlstra 2020-01-24 1443 #ifndef arch_atomic64_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1444 static __always_inline void
37f8173dd84936 Peter Zijlstra 2020-01-24 1445 arch_atomic64_inc(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1446 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1447 arch_atomic64_add(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1448 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1449 #define arch_atomic64_inc arch_atomic64_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1450 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1451
37f8173dd84936 Peter Zijlstra 2020-01-24 1452 #ifndef arch_atomic64_inc_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1453 #ifdef arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1454 #define arch_atomic64_inc_return_acquire arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1455 #define arch_atomic64_inc_return_release arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1456 #define arch_atomic64_inc_return_relaxed arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1457 #endif /* arch_atomic64_inc_return */
37f8173dd84936 Peter Zijlstra 2020-01-24 1458
37f8173dd84936 Peter Zijlstra 2020-01-24 1459 #ifndef arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1460 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1461 arch_atomic64_inc_return(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1462 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1463 return arch_atomic64_add_return(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1464 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1465 #define arch_atomic64_inc_return arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1466 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1467
37f8173dd84936 Peter Zijlstra 2020-01-24 1468 #ifndef arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1469 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1470 arch_atomic64_inc_return_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1471 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1472 return arch_atomic64_add_return_acquire(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1473 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1474 #define arch_atomic64_inc_return_acquire arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1475 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1476
37f8173dd84936 Peter Zijlstra 2020-01-24 1477 #ifndef arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1478 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1479 arch_atomic64_inc_return_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1480 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1481 return arch_atomic64_add_return_release(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1482 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1483 #define arch_atomic64_inc_return_release arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1484 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1485
37f8173dd84936 Peter Zijlstra 2020-01-24 1486 #ifndef arch_atomic64_inc_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1487 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1488 arch_atomic64_inc_return_relaxed(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1489 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1490 return arch_atomic64_add_return_relaxed(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1491 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1492 #define arch_atomic64_inc_return_relaxed arch_atomic64_inc_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1493 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1494
37f8173dd84936 Peter Zijlstra 2020-01-24 1495 #else /* arch_atomic64_inc_return_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1496
37f8173dd84936 Peter Zijlstra 2020-01-24 1497 #ifndef arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1498 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1499 arch_atomic64_inc_return_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1500 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1501 s64 ret = arch_atomic64_inc_return_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1502 __atomic_acquire_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1503 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1504 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1505 #define arch_atomic64_inc_return_acquire arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1506 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1507
37f8173dd84936 Peter Zijlstra 2020-01-24 1508 #ifndef arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1509 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1510 arch_atomic64_inc_return_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1511 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1512 __atomic_release_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1513 return arch_atomic64_inc_return_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1514 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1515 #define arch_atomic64_inc_return_release arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1516 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1517
37f8173dd84936 Peter Zijlstra 2020-01-24 1518 #ifndef arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1519 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1520 arch_atomic64_inc_return(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1521 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1522 s64 ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1523 __atomic_pre_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1524 ret = arch_atomic64_inc_return_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1525 __atomic_post_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1526 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1527 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1528 #define arch_atomic64_inc_return arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1529 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1530
37f8173dd84936 Peter Zijlstra 2020-01-24 1531 #endif /* arch_atomic64_inc_return_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1532
37f8173dd84936 Peter Zijlstra 2020-01-24 1533 #ifndef arch_atomic64_fetch_inc_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1534 #ifdef arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1535 #define arch_atomic64_fetch_inc_acquire arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1536 #define arch_atomic64_fetch_inc_release arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1537 #define arch_atomic64_fetch_inc_relaxed arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1538 #endif /* arch_atomic64_fetch_inc */
37f8173dd84936 Peter Zijlstra 2020-01-24 1539
37f8173dd84936 Peter Zijlstra 2020-01-24 1540 #ifndef arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1541 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1542 arch_atomic64_fetch_inc(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1543 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1544 return arch_atomic64_fetch_add(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1545 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1546 #define arch_atomic64_fetch_inc arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1547 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1548
37f8173dd84936 Peter Zijlstra 2020-01-24 1549 #ifndef arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1550 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1551 arch_atomic64_fetch_inc_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1552 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1553 return arch_atomic64_fetch_add_acquire(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1554 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1555 #define arch_atomic64_fetch_inc_acquire arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1556 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1557
37f8173dd84936 Peter Zijlstra 2020-01-24 1558 #ifndef arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1559 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1560 arch_atomic64_fetch_inc_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1561 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1562 return arch_atomic64_fetch_add_release(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1563 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1564 #define arch_atomic64_fetch_inc_release arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1565 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1566
37f8173dd84936 Peter Zijlstra 2020-01-24 1567 #ifndef arch_atomic64_fetch_inc_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1568 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1569 arch_atomic64_fetch_inc_relaxed(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1570 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1571 return arch_atomic64_fetch_add_relaxed(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1572 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1573 #define arch_atomic64_fetch_inc_relaxed arch_atomic64_fetch_inc_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1574 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1575
37f8173dd84936 Peter Zijlstra 2020-01-24 1576 #else /* arch_atomic64_fetch_inc_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1577
37f8173dd84936 Peter Zijlstra 2020-01-24 1578 #ifndef arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1579 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1580 arch_atomic64_fetch_inc_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1581 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1582 s64 ret = arch_atomic64_fetch_inc_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1583 __atomic_acquire_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1584 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1585 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1586 #define arch_atomic64_fetch_inc_acquire arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1587 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1588
37f8173dd84936 Peter Zijlstra 2020-01-24 1589 #ifndef arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1590 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1591 arch_atomic64_fetch_inc_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1592 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1593 __atomic_release_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1594 return arch_atomic64_fetch_inc_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1595 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1596 #define arch_atomic64_fetch_inc_release arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1597 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1598
37f8173dd84936 Peter Zijlstra 2020-01-24 1599 #ifndef arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1600 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1601 arch_atomic64_fetch_inc(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1602 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1603 s64 ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1604 __atomic_pre_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1605 ret = arch_atomic64_fetch_inc_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1606 __atomic_post_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1607 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1608 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1609 #define arch_atomic64_fetch_inc arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1610 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1611
37f8173dd84936 Peter Zijlstra 2020-01-24 1612 #endif /* arch_atomic64_fetch_inc_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1613
37f8173dd84936 Peter Zijlstra 2020-01-24 1614 #ifndef arch_atomic64_dec
37f8173dd84936 Peter Zijlstra 2020-01-24 1615 static __always_inline void
37f8173dd84936 Peter Zijlstra 2020-01-24 1616 arch_atomic64_dec(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1617 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1618 arch_atomic64_sub(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1619 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1620 #define arch_atomic64_dec arch_atomic64_dec
37f8173dd84936 Peter Zijlstra 2020-01-24 1621 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1622
37f8173dd84936 Peter Zijlstra 2020-01-24 1623 #ifndef arch_atomic64_dec_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1624 #ifdef arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1625 #define arch_atomic64_dec_return_acquire arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1626 #define arch_atomic64_dec_return_release arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1627 #define arch_atomic64_dec_return_relaxed arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1628 #endif /* arch_atomic64_dec_return */
37f8173dd84936 Peter Zijlstra 2020-01-24 1629
37f8173dd84936 Peter Zijlstra 2020-01-24 1630 #ifndef arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1631 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1632 arch_atomic64_dec_return(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1633 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1634 return arch_atomic64_sub_return(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1635 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1636 #define arch_atomic64_dec_return arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1637 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1638

:::::: The code at line 1463 was first introduced by commit
:::::: 37f8173dd84936ea78000ed1cad24f8b18d48ebb locking/atomics: Flip fallbacks and instrumentation

:::::: TO: Peter Zijlstra <pet...@infradead.org>
:::::: CC: Thomas Gleixner <tg...@linutronix.de>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuil...@lists.01.org
.config.gz
Reply all
Reply to author
Forward
0 new messages