* [mark-rutland:atomics/arch-atomic 19/33] arch/ia64/include/asm/bitops.h:44:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
@ 2021-04-28 22:00 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-04-28 22:00 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 40915 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git atomics/arch-atomic
head: 2d06ef035a1f5b7e3e0378fbf58320ef632f776c
commit: 856974dfa9f0501adef19176d1011f5b26066c74 [19/33] locking/atomic: ia64: move to ARCH_ATOMIC
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-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=856974dfa9f0501adef19176d1011f5b26066c74
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 856974dfa9f0501adef19176d1011f5b26066c74
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from include/asm-generic/bug.h:20,
from arch/ia64/include/asm/bug.h:17,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
arch/ia64/include/asm/bitops.h: In function 'set_bit':
>> arch/ia64/include/asm/bitops.h:44:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
44 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
>> arch/ia64/include/asm/bitops.h:46:2: error: conflicting types for 'm'
46 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:43:18: note: previous declaration of 'm' was here
43 | volatile __u32 *m;
| ^
>> arch/ia64/include/asm/bitops.h:46:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
46 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
>> arch/ia64/include/asm/bitops.h:49:3: error: implicit declaration of function 'CMPXCHG_BUGCHECK' [-Werror=implicit-function-declaration]
49 | CMPXCHG_BUGCHECK(m);
| ^~~~~~~~~~~~~~~~
>> arch/ia64/include/asm/bitops.h:50:9: error: invalid type argument of unary '*' (have 'int')
50 | old = *m;
| ^~
>> arch/ia64/include/asm/bitops.h:52:11: error: implicit declaration of function 'cmpxchg_acq'; did you mean 'ia64_cmpxchg2_acq'? [-Werror=implicit-function-declaration]
52 | } while (cmpxchg_acq(m, old, new) != old);
| ^~~~~~~~~~~
| ia64_cmpxchg2_acq
arch/ia64/include/asm/bitops.h: In function 'clear_bit':
arch/ia64/include/asm/bitops.h:85:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
85 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:87:2: error: conflicting types for 'm'
87 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:84:18: note: previous declaration of 'm' was here
84 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:87:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
87 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:91:9: error: invalid type argument of unary '*' (have 'int')
91 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'clear_bit_unlock':
arch/ia64/include/asm/bitops.h:109:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
109 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:111:2: error: conflicting types for 'm'
111 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:108:18: note: previous declaration of 'm' was here
108 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:111:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
111 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:115:9: error: invalid type argument of unary '*' (have 'int')
115 | old = *m;
| ^~
>> arch/ia64/include/asm/bitops.h:117:11: error: implicit declaration of function 'cmpxchg_rel'; did you mean 'ia64_cmpxchg4_rel'? [-Werror=implicit-function-declaration]
117 | } while (cmpxchg_rel(m, old, new) != old);
| ^~~~~~~~~~~
| ia64_cmpxchg4_rel
arch/ia64/include/asm/bitops.h: In function 'change_bit':
arch/ia64/include/asm/bitops.h:166:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
166 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:168:2: error: conflicting types for 'm'
168 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:165:18: note: previous declaration of 'm' was here
165 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:168:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
168 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:172:9: error: invalid type argument of unary '*' (have 'int')
172 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'test_and_set_bit':
arch/ia64/include/asm/bitops.h:205:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
205 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:207:2: error: conflicting types for 'm'
207 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:204:18: note: previous declaration of 'm' was here
204 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:207:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
207 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:211:9: error: invalid type argument of unary '*' (have 'int')
211 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'test_and_clear_bit':
arch/ia64/include/asm/bitops.h:259:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
259 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:261:2: error: conflicting types for 'm'
261 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:258:18: note: previous declaration of 'm' was here
258 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:261:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
261 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:265:9: error: invalid type argument of unary '*' (have 'int')
265 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'test_and_change_bit':
arch/ia64/include/asm/bitops.h:304:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
304 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:306:2: error: conflicting types for 'm'
306 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:303:18: note: previous declaration of 'm' was here
303 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:306:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
306 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:310:9: error: invalid type argument of unary '*' (have 'int')
310 | old = *m;
| ^~
cc1: some warnings being treated as errors
--
In file included from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from kernel//locking/locktorture.c:14:
arch/ia64/include/asm/bitops.h: In function 'set_bit':
>> arch/ia64/include/asm/bitops.h:44:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
44 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
>> arch/ia64/include/asm/bitops.h:46:2: error: conflicting types for 'm'
46 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:43:18: note: previous declaration of 'm' was here
43 | volatile __u32 *m;
| ^
>> arch/ia64/include/asm/bitops.h:46:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
46 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
>> arch/ia64/include/asm/bitops.h:49:3: error: implicit declaration of function 'CMPXCHG_BUGCHECK' [-Werror=implicit-function-declaration]
49 | CMPXCHG_BUGCHECK(m);
| ^~~~~~~~~~~~~~~~
>> arch/ia64/include/asm/bitops.h:50:9: error: invalid type argument of unary '*' (have 'int')
50 | old = *m;
| ^~
>> arch/ia64/include/asm/bitops.h:52:11: error: implicit declaration of function 'cmpxchg_acq'; did you mean 'ia64_cmpxchg2_acq'? [-Werror=implicit-function-declaration]
52 | } while (cmpxchg_acq(m, old, new) != old);
| ^~~~~~~~~~~
| ia64_cmpxchg2_acq
arch/ia64/include/asm/bitops.h: In function 'clear_bit':
arch/ia64/include/asm/bitops.h:85:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
85 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:87:2: error: conflicting types for 'm'
87 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:84:18: note: previous declaration of 'm' was here
84 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:87:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
87 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:91:9: error: invalid type argument of unary '*' (have 'int')
91 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'clear_bit_unlock':
arch/ia64/include/asm/bitops.h:109:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
109 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:111:2: error: conflicting types for 'm'
111 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:108:18: note: previous declaration of 'm' was here
108 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:111:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
111 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:115:9: error: invalid type argument of unary '*' (have 'int')
115 | old = *m;
| ^~
>> arch/ia64/include/asm/bitops.h:117:11: error: implicit declaration of function 'cmpxchg_rel'; did you mean 'ia64_cmpxchg4_rel'? [-Werror=implicit-function-declaration]
117 | } while (cmpxchg_rel(m, old, new) != old);
| ^~~~~~~~~~~
| ia64_cmpxchg4_rel
arch/ia64/include/asm/bitops.h: In function 'change_bit':
arch/ia64/include/asm/bitops.h:166:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
166 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:168:2: error: conflicting types for 'm'
168 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:165:18: note: previous declaration of 'm' was here
165 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:168:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
168 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:172:9: error: invalid type argument of unary '*' (have 'int')
172 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'test_and_set_bit':
arch/ia64/include/asm/bitops.h:205:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
205 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:207:2: error: conflicting types for 'm'
207 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:204:18: note: previous declaration of 'm' was here
204 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:207:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
207 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:211:9: error: invalid type argument of unary '*' (have 'int')
211 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'test_and_clear_bit':
arch/ia64/include/asm/bitops.h:259:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
259 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:261:2: error: conflicting types for 'm'
261 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:258:18: note: previous declaration of 'm' was here
258 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:261:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
261 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:265:9: error: invalid type argument of unary '*' (have 'int')
265 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'test_and_change_bit':
arch/ia64/include/asm/bitops.h:304:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
304 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:306:2: error: conflicting types for 'm'
306 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:303:18: note: previous declaration of 'm' was here
303 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:306:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
306 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:310:9: error: invalid type argument of unary '*' (have 'int')
310 | old = *m;
| ^~
In file included from arch/ia64/include/asm/ptrace.h:20,
from arch/ia64/include/asm/processor.h:20,
from arch/ia64/include/asm/timex.h:15,
from include/linux/timex.h:65,
from include/linux/time32.h:13,
from include/linux/time.h:60,
from include/linux/stat.h:19,
from include/linux/module.h:13,
from kernel//locking/locktorture.c:15:
arch/ia64/include/asm/asm-offsets.h: At top level:
arch/ia64/include/asm/asm-offsets.h:1:10: fatal error: generated/asm-offsets.h: No such file or directory
1 | #include <generated/asm-offsets.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
--
arch/ia64/include/asm/atomic.h:157:2: note: in expansion of macro 'ATOMIC64_FETCH_OP'
157 | ATOMIC64_FETCH_OP(op, c_op)
| ^~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:160:1: note: in expansion of macro 'ATOMIC64_OPS'
160 | ATOMIC64_OPS(sub, -)
| ^~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:144:11: warning: unused variable 'new' [-Wunused-variable]
144 | s64 old, new; \
| ^~~
arch/ia64/include/asm/atomic.h:157:2: note: in expansion of macro 'ATOMIC64_FETCH_OP'
157 | ATOMIC64_FETCH_OP(op, c_op)
| ^~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:160:1: note: in expansion of macro 'ATOMIC64_OPS'
160 | ATOMIC64_OPS(sub, -)
| ^~~~~~~~~~~~
arch/ia64/include/asm/atomic.h: In function 'ia64_atomic64_fetch_and':
arch/ia64/include/asm/atomic.h:145:2: error: 'CMPXCHG_BUGCHECK_DECL' undeclared (first use in this function)
145 | CMPXCHG_BUGCHECK_DECL \
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:194:1: note: in expansion of macro 'ATOMIC64_FETCH_OP'
194 | ATOMIC64_FETCH_OP(and, &)
| ^~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:147:2: error: expected ';' before 'do'
147 | do { \
| ^~
arch/ia64/include/asm/atomic.h:194:1: note: in expansion of macro 'ATOMIC64_FETCH_OP'
194 | ATOMIC64_FETCH_OP(and, &)
| ^~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:144:11: warning: unused variable 'new' [-Wunused-variable]
144 | s64 old, new; \
| ^~~
arch/ia64/include/asm/atomic.h:194:1: note: in expansion of macro 'ATOMIC64_FETCH_OP'
194 | ATOMIC64_FETCH_OP(and, &)
| ^~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h: In function 'ia64_atomic64_fetch_or':
arch/ia64/include/asm/atomic.h:145:2: error: 'CMPXCHG_BUGCHECK_DECL' undeclared (first use in this function)
145 | CMPXCHG_BUGCHECK_DECL \
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:195:1: note: in expansion of macro 'ATOMIC64_FETCH_OP'
195 | ATOMIC64_FETCH_OP(or, |)
| ^~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:147:2: error: expected ';' before 'do'
147 | do { \
| ^~
arch/ia64/include/asm/atomic.h:195:1: note: in expansion of macro 'ATOMIC64_FETCH_OP'
195 | ATOMIC64_FETCH_OP(or, |)
| ^~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:144:11: warning: unused variable 'new' [-Wunused-variable]
144 | s64 old, new; \
| ^~~
arch/ia64/include/asm/atomic.h:195:1: note: in expansion of macro 'ATOMIC64_FETCH_OP'
195 | ATOMIC64_FETCH_OP(or, |)
| ^~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h: In function 'ia64_atomic64_fetch_xor':
arch/ia64/include/asm/atomic.h:145:2: error: 'CMPXCHG_BUGCHECK_DECL' undeclared (first use in this function)
145 | CMPXCHG_BUGCHECK_DECL \
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:196:1: note: in expansion of macro 'ATOMIC64_FETCH_OP'
196 | ATOMIC64_FETCH_OP(xor, ^)
| ^~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:147:2: error: expected ';' before 'do'
147 | do { \
| ^~
arch/ia64/include/asm/atomic.h:196:1: note: in expansion of macro 'ATOMIC64_FETCH_OP'
196 | ATOMIC64_FETCH_OP(xor, ^)
| ^~~~~~~~~~~~~~~~~
arch/ia64/include/asm/atomic.h:144:11: warning: unused variable 'new' [-Wunused-variable]
144 | s64 old, new; \
| ^~~
arch/ia64/include/asm/atomic.h:196:1: note: in expansion of macro 'ATOMIC64_FETCH_OP'
196 | ATOMIC64_FETCH_OP(xor, ^)
| ^~~~~~~~~~~~~~~~~
In file included from arch/ia64/include/uapi/asm/intrinsics.h:22,
from arch/ia64/include/asm/intrinsics.h:11,
from arch/ia64/include/asm/atomic.h:18,
from include/linux/atomic.h:7,
from kernel//rcu/refscale.c:12:
include/linux/atomic-arch-fallback.h: In function 'arch_atomic_try_cmpxchg':
arch/ia64/include/asm/cmpxchg.h:10:34: error: implicit declaration of function 'cmpxchg_acq'; did you mean 'ia64_cmpxchg2_acq'? [-Werror=implicit-function-declaration]
10 | #define arch_cmpxchg(ptr, o, n) cmpxchg_acq((ptr), (o), (n))
| ^~~~~~~~~~~
arch/ia64/include/asm/atomic.h:210:43: note: in expansion of macro 'arch_cmpxchg'
210 | #define arch_atomic_cmpxchg(v, old, new) (arch_cmpxchg(&((v)->counter), old, new))
| ^~~~~~~~~~~~
include/linux/atomic-arch-fallback.h:990:6: note: in expansion of macro 'arch_atomic_cmpxchg'
990 | r = arch_atomic_cmpxchg(v, o, new);
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h: In function 'atomic_xchg':
arch/ia64/include/asm/cmpxchg.h:8:24: error: implicit declaration of function '__xchg' [-Werror=implicit-function-declaration]
8 | ({(__typeof__(*(ptr))) __xchg((unsigned long) (x), (ptr), sizeof(*(ptr)));})
| ^~~~~~
arch/ia64/include/asm/atomic.h:211:35: note: in expansion of macro 'arch_xchg'
211 | #define arch_atomic_xchg(v, new) (arch_xchg(&((v)->counter), new))
| ^~~~~~~~~
include/asm-generic/atomic-instrumented.h:615:9: note: in expansion of macro 'arch_atomic_xchg'
615 | return arch_atomic_xchg(v, i);
| ^~~~~~~~~~~~~~~~
In file included from include/linux/bitops.h:32,
from kernel//rcu/refscale.c:13:
arch/ia64/include/asm/bitops.h: In function 'set_bit':
>> arch/ia64/include/asm/bitops.h:44:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
44 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
>> arch/ia64/include/asm/bitops.h:46:2: error: conflicting types for 'm'
46 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:43:18: note: previous declaration of 'm' was here
43 | volatile __u32 *m;
| ^
>> arch/ia64/include/asm/bitops.h:46:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
46 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
>> arch/ia64/include/asm/bitops.h:49:3: error: implicit declaration of function 'CMPXCHG_BUGCHECK' [-Werror=implicit-function-declaration]
49 | CMPXCHG_BUGCHECK(m);
| ^~~~~~~~~~~~~~~~
>> arch/ia64/include/asm/bitops.h:50:9: error: invalid type argument of unary '*' (have 'int')
50 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'clear_bit':
arch/ia64/include/asm/bitops.h:85:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
85 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:87:2: error: conflicting types for 'm'
87 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:84:18: note: previous declaration of 'm' was here
84 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:87:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
87 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:91:9: error: invalid type argument of unary '*' (have 'int')
91 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'clear_bit_unlock':
arch/ia64/include/asm/bitops.h:109:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
109 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:111:2: error: conflicting types for 'm'
111 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:108:18: note: previous declaration of 'm' was here
108 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:111:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
111 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:115:9: error: invalid type argument of unary '*' (have 'int')
115 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h:117:11: error: implicit declaration of function 'cmpxchg_rel'; did you mean 'cmpxchg_relaxed'? [-Werror=implicit-function-declaration]
117 | } while (cmpxchg_rel(m, old, new) != old);
| ^~~~~~~~~~~
| cmpxchg_relaxed
arch/ia64/include/asm/bitops.h: In function 'change_bit':
arch/ia64/include/asm/bitops.h:166:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
166 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:168:2: error: conflicting types for 'm'
168 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:165:18: note: previous declaration of 'm' was here
165 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:168:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
168 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:172:9: error: invalid type argument of unary '*' (have 'int')
172 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'test_and_set_bit':
arch/ia64/include/asm/bitops.h:205:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
205 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:207:2: error: conflicting types for 'm'
207 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:204:18: note: previous declaration of 'm' was here
204 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:207:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
207 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:211:9: error: invalid type argument of unary '*' (have 'int')
211 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'test_and_clear_bit':
arch/ia64/include/asm/bitops.h:259:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
259 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:261:2: error: conflicting types for 'm'
261 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:258:18: note: previous declaration of 'm' was here
258 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:261:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
261 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:265:9: error: invalid type argument of unary '*' (have 'int')
265 | old = *m;
| ^~
arch/ia64/include/asm/bitops.h: In function 'test_and_change_bit':
arch/ia64/include/asm/bitops.h:304:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL'
304 | CMPXCHG_BUGCHECK_DECL
| ^~~~~~~~~~~~~~~~~~~~~
arch/ia64/include/asm/bitops.h:306:2: error: conflicting types for 'm'
306 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:303:18: note: previous declaration of 'm' was here
303 | volatile __u32 *m;
| ^
arch/ia64/include/asm/bitops.h:306:6: warning: initialization of 'int' from 'volatile __u32 *' {aka 'volatile unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
306 | m = (volatile __u32 *) addr + (nr >> 5);
| ^
arch/ia64/include/asm/bitops.h:310:9: error: invalid type argument of unary '*' (have 'int')
..
vim +/CMPXCHG_BUGCHECK_DECL +44 arch/ia64/include/asm/bitops.h
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 21
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 22 /**
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 23 * set_bit - Atomically set a bit in memory
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 24 * @nr: the bit to set
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 25 * @addr: the address to start counting from
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 26 *
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 27 * This function is atomic and may not be reordered. See __set_bit()
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 28 * if you do not require the atomic guarantees.
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 29 * Note that @nr may be almost arbitrarily large; this function is not
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 30 * restricted to acting on a single-word quantity.
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 31 *
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 32 * The address must be (at least) "long" aligned.
2875aef8bd0e42 include/asm-ia64/bitops.h Akinobu Mita 2006-03-26 33 * Note that there are driver (e.g., eepro100) which use these operations to
2875aef8bd0e42 include/asm-ia64/bitops.h Akinobu Mita 2006-03-26 34 * operate on hw-defined data-structures, so we can't easily change these
2875aef8bd0e42 include/asm-ia64/bitops.h Akinobu Mita 2006-03-26 35 * operations to force a bigger alignment.
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 36 *
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 37 * bit 0 is the LSB of addr; bit 32 is the LSB of (addr+1).
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 38 */
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 39 static __inline__ void
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 40 set_bit (int nr, volatile void *addr)
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 41 {
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 42 __u32 bit, old, new;
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 43 volatile __u32 *m;
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 @44 CMPXCHG_BUGCHECK_DECL
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 45
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 @46 m = (volatile __u32 *) addr + (nr >> 5);
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 47 bit = 1 << (nr & 31);
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 48 do {
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 @49 CMPXCHG_BUGCHECK(m);
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 @50 old = *m;
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 51 new = old | bit;
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 @52 } while (cmpxchg_acq(m, old, new) != old);
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 53 }
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 54
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 55 /**
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 56 * __set_bit - Set a bit in memory
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 57 * @nr: the bit to set
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 58 * @addr: the address to start counting from
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 59 *
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 60 * Unlike set_bit(), this function is non-atomic and may be reordered.
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 61 * If it's called on the same region of memory simultaneously, the effect
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 62 * may be that only one operation succeeds.
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 63 */
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 64 static __inline__ void
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 65 __set_bit (int nr, volatile void *addr)
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 66 {
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 67 *((__u32 *) addr + (nr >> 5)) |= (1 << (nr & 31));
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 68 }
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 69
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 70 /**
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 71 * clear_bit - Clears a bit in memory
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 72 * @nr: Bit to clear
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 73 * @addr: Address to start counting from
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 74 *
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 75 * clear_bit() is atomic and may not be reordered. However, it does
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 76 * not contain a memory barrier, so if it is used for locking purposes,
0cd64efb61f1e6 arch/ia64/include/asm/bitops.h Peter Zijlstra 2014-03-13 77 * you should call smp_mb__before_atomic() and/or smp_mb__after_atomic()
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 78 * in order to ensure changes are visible on other processors.
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 79 */
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 80 static __inline__ void
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 81 clear_bit (int nr, volatile void *addr)
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 82 {
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 83 __u32 mask, old, new;
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 84 volatile __u32 *m;
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 85 CMPXCHG_BUGCHECK_DECL
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 86
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 87 m = (volatile __u32 *) addr + (nr >> 5);
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 88 mask = ~(1 << (nr & 31));
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 89 do {
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 90 CMPXCHG_BUGCHECK(m);
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 91 old = *m;
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 92 new = old & mask;
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 93 } while (cmpxchg_acq(m, old, new) != old);
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 94 }
^1da177e4c3f41 include/asm-ia64/bitops.h Linus Torvalds 2005-04-16 95
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 96 /**
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 97 * clear_bit_unlock - Clears a bit in memory with release
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 98 * @nr: Bit to clear
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 99 * @addr: Address to start counting from
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 100 *
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 101 * clear_bit_unlock() is atomic and may not be reordered. It does
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 102 * contain a memory barrier suitable for unlock type operations.
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 103 */
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 104 static __inline__ void
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 105 clear_bit_unlock (int nr, volatile void *addr)
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 106 {
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 107 __u32 mask, old, new;
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 108 volatile __u32 *m;
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 109 CMPXCHG_BUGCHECK_DECL
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 110
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 111 m = (volatile __u32 *) addr + (nr >> 5);
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 112 mask = ~(1 << (nr & 31));
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 113 do {
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 114 CMPXCHG_BUGCHECK(m);
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 115 old = *m;
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 116 new = old & mask;
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 @117 } while (cmpxchg_rel(m, old, new) != old);
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 118 }
87371e4fa4901d include/asm-ia64/bitops.h Nicholas Piggin 2007-10-18 119
:::::: The code@line 44 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 63831 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-04-28 22:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-28 22:00 [mark-rutland:atomics/arch-atomic 19/33] arch/ia64/include/asm/bitops.h:44:2: error: unknown type name 'CMPXCHG_BUGCHECK_DECL' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.