tree:
https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git topic-zol-remove
head: a8a3f635306d6df3190880d1fd2fc32e55ba58af
commit: 690740e20ee5dd78c913116dd41593fc59dd9652 [21/22] ARC: atomics: break off header
off for specific platforms
config: arc-allyesconfig (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 690740e20ee5dd78c913116dd41593fc59dd9652
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/arc/include/asm/atomic.h:13,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:190,
from include/linux/bitops.h:29,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:19,
from arch/arc/include/asm/bug.h:29,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
arch/arc/include/asm/cmpxchg.h: In function '__xchg':
arch/arc/include/asm/cmpxchg.h:191:19: error: 'CTOP_INST_XEX_DI_R2_R2_R3'
undeclared (first use in this function)
191 | : "r"(ptr), "i"(CTOP_INST_XEX_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/cmpxchg.h:191:19: note: each undeclared identifier is reported
only once for each function it appears in
In file included from arch/arc/include/asm/atomic.h:21,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:190,
from include/linux/bitops.h:29,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:19,
from arch/arc/include/asm/bug.h:29,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
arch/arc/include/asm/atomic-nps.h: In function 'atomic_add':
> arch/arc/include/asm/atomic-nps.h:90:21: error:
'CTOP_INST_AADD_DI_R2_R2_R3' undeclared (first use in this function)
90 | ATOMIC_OPS(add, +=, CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:35:34: note: in definition of macro
'ATOMIC_OP'
35 | : "r"(i), "r"(&v->counter), "i"(asm_op)
\
| ^~~~~~
> arch/arc/include/asm/atomic-nps.h:90:1: note: in expansion of
macro 'ATOMIC_OPS'
90 | ATOMIC_OPS(add, +=,
CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_add_return':
> arch/arc/include/asm/atomic-nps.h:90:21: error:
'CTOP_INST_AADD_DI_R2_R2_R3' undeclared (first use in this function)
90 | ATOMIC_OPS(add, +=, CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:53:26: note: in definition of macro
'ATOMIC_OP_RETURN'
53 | : "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
> arch/arc/include/asm/atomic-nps.h:90:1: note: in expansion of
macro 'ATOMIC_OPS'
90 | ATOMIC_OPS(add, +=,
CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_fetch_add':
> arch/arc/include/asm/atomic-nps.h:90:21: error:
'CTOP_INST_AADD_DI_R2_R2_R3' undeclared (first use in this function)
90 | ATOMIC_OPS(add, +=, CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:77:26: note: in definition of macro
'ATOMIC_FETCH_OP'
77 | : "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
> arch/arc/include/asm/atomic-nps.h:90:1: note: in expansion of
macro 'ATOMIC_OPS'
90 | ATOMIC_OPS(add, +=,
CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_and':
> arch/arc/include/asm/atomic-nps.h:101:21: error:
'CTOP_INST_AAND_DI_R2_R2_R3' undeclared (first use in this function)
101 | ATOMIC_OPS(and, &=, CTOP_INST_AAND_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:35:34: note: in definition of macro
'ATOMIC_OP'
35 | : "r"(i), "r"(&v->counter), "i"(asm_op)
\
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:101:1: note: in expansion of macro
'ATOMIC_OPS'
101 | ATOMIC_OPS(and, &=, CTOP_INST_AAND_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_fetch_and':
> arch/arc/include/asm/atomic-nps.h:101:21: error:
'CTOP_INST_AAND_DI_R2_R2_R3' undeclared (first use in this function)
101 | ATOMIC_OPS(and, &=, CTOP_INST_AAND_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:77:26: note: in definition of macro
'ATOMIC_FETCH_OP'
77 | : "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:101:1: note: in expansion of macro
'ATOMIC_OPS'
101 | ATOMIC_OPS(and, &=, CTOP_INST_AAND_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_or':
> arch/arc/include/asm/atomic-nps.h:102:20: error:
'CTOP_INST_AOR_DI_R2_R2_R3' undeclared (first use in this function)
102
| ATOMIC_OPS(or, |=, CTOP_INST_AOR_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:35:34: note: in definition of macro
'ATOMIC_OP'
35 | : "r"(i), "r"(&v->counter), "i"(asm_op)
\
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:102:1: note: in expansion of macro
'ATOMIC_OPS'
102 | ATOMIC_OPS(or, |=, CTOP_INST_AOR_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_fetch_or':
> arch/arc/include/asm/atomic-nps.h:102:20: error:
'CTOP_INST_AOR_DI_R2_R2_R3' undeclared (first use in this function)
102
| ATOMIC_OPS(or, |=, CTOP_INST_AOR_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:77:26: note: in definition of macro
'ATOMIC_FETCH_OP'
77 | : "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:102:1: note: in expansion of macro
'ATOMIC_OPS'
102 | ATOMIC_OPS(or, |=, CTOP_INST_AOR_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_xor':
> arch/arc/include/asm/atomic-nps.h:103:21: error:
'CTOP_INST_AXOR_DI_R2_R2_R3' undeclared (first use in this function)
103 | ATOMIC_OPS(xor, ^=, CTOP_INST_AXOR_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:35:34: note: in definition of macro
'ATOMIC_OP'
35 | : "r"(i), "r"(&v->counter), "i"(asm_op)
\
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:103:1: note: in expansion of macro
'ATOMIC_OPS'
103 | ATOMIC_OPS(xor, ^=, CTOP_INST_AXOR_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_fetch_xor':
> arch/arc/include/asm/atomic-nps.h:103:21: error:
'CTOP_INST_AXOR_DI_R2_R2_R3' undeclared (first use in this function)
103 | ATOMIC_OPS(xor, ^=, CTOP_INST_AXOR_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:77:26: note: in definition of macro
'ATOMIC_FETCH_OP'
77 | : "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:103:1: note: in expansion of macro
'ATOMIC_OPS'
103 | ATOMIC_OPS(xor, ^=, CTOP_INST_AXOR_DI_R2_R2_R3)
| ^~~~~~~~~~
make[2]: *** [scripts/Makefile.build:101: kernel/bounds.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1113: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:180: sub-make] Error 2
20 real 6 user 11 sys 85.02% cpu make prepare
vim +/CTOP_INST_AADD_DI_R2_R2_R3 +90 arch/arc/include/asm/atomic-nps.h
84
85 #define ATOMIC_OPS(op, c_op, asm_op) \
86 ATOMIC_OP(op, c_op, asm_op) \
87 ATOMIC_OP_RETURN(op, c_op, asm_op) \
88 ATOMIC_FETCH_OP(op, c_op, asm_op)
89
90 ATOMIC_OPS(add, +=, CTOP_INST_AADD_DI_R2_R2_R3)
91
92 #define atomic_sub(i, v) atomic_add(-(i), (v))
93 #define atomic_sub_return(i, v) atomic_add_return(-(i), (v))
94 #define atomic_fetch_sub(i, v) atomic_fetch_add(-(i), (v))
95
96 #undef ATOMIC_OPS
97 #define ATOMIC_OPS(op, c_op, asm_op) \
98 ATOMIC_OP(op, c_op, asm_op) \
99 ATOMIC_FETCH_OP(op, c_op, asm_op)
100
101 ATOMIC_OPS(and, &=, CTOP_INST_AAND_DI_R2_R2_R3)
102 ATOMIC_OPS(or, |=, CTOP_INST_AOR_DI_R2_R2_R3)
103 ATOMIC_OPS(xor, ^=, CTOP_INST_AXOR_DI_R2_R2_R3)
104
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org