tree:
https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git
atomics/arch-atomic
head: ffa1c2419a83eb27f90bd40391e6a5e7c81c4f90
commit: 1a80930beed6830c1b36894c6181b7e060d5da26 [14/33] locking/atomic: arc: move to
ARCH_ATOMIC
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
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
#
https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/commit/?id...
git remote add mark-rutland
https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git
git fetch --no-tags mark-rutland atomics/arch-atomic
git checkout 1a80930beed6830c1b36894c6181b7e060d5da26
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/atomic.h:81,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
> include/linux/atomic-arch-fallback.h:1829:1: error: redefinition
of 'arch_atomic64_andnot'
1829 | arch_atomic64_andnot(s64 i, atomic64_t
*v)
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
arch/arc/include/asm/atomic.h:272:20: note: previous definition of
'arch_atomic64_andnot' was here
272 | static inline void arch_atomic64_##op(s64 a, atomic64_t *v) \
| ^~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:335:2: note: in expansion of macro 'ATOMIC64_OP'
335 | ATOMIC64_OP(op, op1, op2) \
| ^~~~~~~~~~~
arch/arc/include/asm/atomic.h:342:1: note: in expansion of macro
'ATOMIC64_OPS'
342 | ATOMIC64_OPS(andnot, bic, bic)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:81,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
> include/linux/atomic-arch-fallback.h:1845:1: error: redefinition
of 'arch_atomic64_fetch_andnot'
1845 | arch_atomic64_fetch_andnot(s64 i,
atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
arch/arc/include/asm/atomic.h:312:19: note: previous definition of
'arch_atomic64_fetch_andnot' was here
312 | static inline s64 arch_atomic64_fetch_##op(s64 a, atomic64_t *v) \
| ^~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:337:2: note: in expansion of macro
'ATOMIC64_FETCH_OP'
337 | ATOMIC64_FETCH_OP(op, op1, op2)
| ^~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:342:1: note: in expansion of macro
'ATOMIC64_OPS'
342 | ATOMIC64_OPS(andnot, bic, bic)
| ^~~~~~~~~~~~
--
In file included from include/linux/atomic.h:81,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/linux/delay.h:22,
from kernel//trace/preemptirq_delay_test.c:9:
> include/linux/atomic-arch-fallback.h:1829:1: error: redefinition
of 'arch_atomic64_andnot'
1829 | arch_atomic64_andnot(s64 i, atomic64_t
*v)
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/linux/delay.h:22,
from kernel//trace/preemptirq_delay_test.c:9:
arch/arc/include/asm/atomic.h:272:20: note: previous definition of
'arch_atomic64_andnot' was here
272 | static inline void arch_atomic64_##op(s64 a, atomic64_t *v) \
| ^~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:335:2: note: in expansion of macro 'ATOMIC64_OP'
335 | ATOMIC64_OP(op, op1, op2) \
| ^~~~~~~~~~~
arch/arc/include/asm/atomic.h:342:1: note: in expansion of macro
'ATOMIC64_OPS'
342 | ATOMIC64_OPS(andnot, bic, bic)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:81,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/linux/delay.h:22,
from kernel//trace/preemptirq_delay_test.c:9:
> include/linux/atomic-arch-fallback.h:1845:1: error: redefinition
of 'arch_atomic64_fetch_andnot'
1845 | arch_atomic64_fetch_andnot(s64 i,
atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/linux/delay.h:22,
from kernel//trace/preemptirq_delay_test.c:9:
arch/arc/include/asm/atomic.h:312:19: note: previous definition of
'arch_atomic64_fetch_andnot' was here
312 | static inline s64 arch_atomic64_fetch_##op(s64 a, atomic64_t *v) \
| ^~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:337:2: note: in expansion of macro
'ATOMIC64_FETCH_OP'
337 | ATOMIC64_FETCH_OP(op, op1, op2)
| ^~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:342:1: note: in expansion of macro
'ATOMIC64_OPS'
342 | ATOMIC64_OPS(andnot, bic, bic)
| ^~~~~~~~~~~~
In file included from include/linux/mmzone.h:19,
from include/linux/topology.h:33,
from include/linux/irq.h:19,
from include/asm-generic/hardirq.h:17,
from ./arch/arc/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:11,
from include/linux/interrupt.h:11,
from kernel//trace/preemptirq_delay_test.c:10:
include/linux/page-flags-layout.h:6:10: fatal error: generated/bounds.h: No such file
or directory
6 | #include <generated/bounds.h>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
--
In file included from include/linux/atomic.h:81,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
> include/linux/atomic-arch-fallback.h:1829:1: error: redefinition
of 'arch_atomic64_andnot'
1829 | arch_atomic64_andnot(s64 i, atomic64_t
*v)
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
arch/arc/include/asm/atomic.h:272:20: note: previous definition of
'arch_atomic64_andnot' was here
272 | static inline void arch_atomic64_##op(s64 a, atomic64_t *v) \
| ^~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:335:2: note: in expansion of macro 'ATOMIC64_OP'
335 | ATOMIC64_OP(op, op1, op2) \
| ^~~~~~~~~~~
arch/arc/include/asm/atomic.h:342:1: note: in expansion of macro
'ATOMIC64_OPS'
342 | ATOMIC64_OPS(andnot, bic, bic)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:81,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
> include/linux/atomic-arch-fallback.h:1845:1: error: redefinition
of 'arch_atomic64_fetch_andnot'
1845 | arch_atomic64_fetch_andnot(s64 i,
atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
arch/arc/include/asm/atomic.h:312:19: note: previous definition of
'arch_atomic64_fetch_andnot' was here
312 | static inline s64 arch_atomic64_fetch_##op(s64 a, atomic64_t *v) \
| ^~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:337:2: note: in expansion of macro
'ATOMIC64_FETCH_OP'
337 | ATOMIC64_FETCH_OP(op, op1, op2)
| ^~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:342:1: note: in expansion of macro
'ATOMIC64_OPS'
342 | ATOMIC64_OPS(andnot, bic, bic)
| ^~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:117: kernel/bounds.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1227: 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.
--
In file included from include/linux/atomic.h:81,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
> include/linux/atomic-arch-fallback.h:1829:1: error: redefinition
of 'arch_atomic64_andnot'
1829 | arch_atomic64_andnot(s64 i, atomic64_t
*v)
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
arch/arc/include/asm/atomic.h:272:20: note: previous definition of
'arch_atomic64_andnot' was here
272 | static inline void arch_atomic64_##op(s64 a, atomic64_t *v) \
| ^~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:335:2: note: in expansion of macro 'ATOMIC64_OP'
335 | ATOMIC64_OP(op, op1, op2) \
| ^~~~~~~~~~~
arch/arc/include/asm/atomic.h:342:1: note: in expansion of macro
'ATOMIC64_OPS'
342 | ATOMIC64_OPS(andnot, bic, bic)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:81,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
> include/linux/atomic-arch-fallback.h:1845:1: error: redefinition
of 'arch_atomic64_fetch_andnot'
1845 | arch_atomic64_fetch_andnot(s64 i,
atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:370,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
arch/arc/include/asm/atomic.h:312:19: note: previous definition of
'arch_atomic64_fetch_andnot' was here
312 | static inline s64 arch_atomic64_fetch_##op(s64 a, atomic64_t *v) \
| ^~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:337:2: note: in expansion of macro
'ATOMIC64_FETCH_OP'
337 | ATOMIC64_FETCH_OP(op, op1, op2)
| ^~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic.h:342:1: note: in expansion of macro
'ATOMIC64_OPS'
342 | ATOMIC64_OPS(andnot, bic, bic)
| ^~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:117: kernel/bounds.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1227: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +/arch_atomic64_andnot +1829 include/linux/atomic-arch-fallback.h
37f8173dd84936 Peter Zijlstra 2020-01-24 1826
37f8173dd84936 Peter Zijlstra 2020-01-24 1827 #ifndef arch_atomic64_andnot
37f8173dd84936 Peter Zijlstra 2020-01-24 1828 static __always_inline void
37f8173dd84936 Peter Zijlstra 2020-01-24 @1829 arch_atomic64_andnot(s64 i, atomic64_t
*v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1830 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1831 arch_atomic64_and(~i, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1832 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1833 #define arch_atomic64_andnot
arch_atomic64_andnot
37f8173dd84936 Peter Zijlstra 2020-01-24 1834 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1835
37f8173dd84936 Peter Zijlstra 2020-01-24 1836 #ifndef
arch_atomic64_fetch_andnot_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1837 #ifdef arch_atomic64_fetch_andnot
37f8173dd84936 Peter Zijlstra 2020-01-24 1838 #define arch_atomic64_fetch_andnot_acquire
arch_atomic64_fetch_andnot
37f8173dd84936 Peter Zijlstra 2020-01-24 1839 #define arch_atomic64_fetch_andnot_release
arch_atomic64_fetch_andnot
37f8173dd84936 Peter Zijlstra 2020-01-24 1840 #define arch_atomic64_fetch_andnot_relaxed
arch_atomic64_fetch_andnot
37f8173dd84936 Peter Zijlstra 2020-01-24 1841 #endif /* arch_atomic64_fetch_andnot */
37f8173dd84936 Peter Zijlstra 2020-01-24 1842
37f8173dd84936 Peter Zijlstra 2020-01-24 1843 #ifndef arch_atomic64_fetch_andnot
37f8173dd84936 Peter Zijlstra 2020-01-24 1844 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 @1845 arch_atomic64_fetch_andnot(s64 i,
atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1846 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1847 return arch_atomic64_fetch_and(~i, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1848 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1849 #define arch_atomic64_fetch_andnot
arch_atomic64_fetch_andnot
37f8173dd84936 Peter Zijlstra 2020-01-24 1850 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1851
:::::: The code at line 1829 was first introduced by commit
:::::: 37f8173dd84936ea78000ed1cad24f8b18d48ebb locking/atomics: Flip fallbacks and
instrumentation
:::::: TO: Peter Zijlstra <peterz(a)infradead.org>
:::::: CC: Thomas Gleixner <tglx(a)linutronix.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org