On 10/16/18 11:06 PM, Stephen Rothwell wrote: > Hi all, > > Changes since 20181016: > Some randconfigs have a problem on x86 (1 of 10 on i386, 1 of 10 on x86_64 for my overnight randconfig builds). (thousands of lines of errors on each $arch) I don't know that the config combination that causes this is. The failing x86_64 randconfig is attached. CC arch/x86/crypto/glue_helper.o In file included from ../include/linux/export.h:45:0, from ../include/linux/linkage.h:7, from ../include/linux/kernel.h:7, from ../include/linux/list.h:9, from ../include/linux/module.h:9, from ../arch/x86/crypto/glue_helper.c:28: ../arch/x86/include/asm/qspinlock.h: In function ‘queued_fetch_set_pending_acquire’: ../arch/x86/include/asm/rmwcc.h:23:17: error: jump into statement expression : clobbers : cc_label); \ ^ ../include/linux/compiler.h:58:42: note: in definition of macro ‘__trace_if’ if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ ../arch/x86/include/asm/qspinlock.h:18:2: note: in expansion of macro ‘if’ if (GEN_BINARY_RMWcc(LOCK_PREFIX "btsl", lock->val.counter, c, ^ ../arch/x86/include/asm/rmwcc.h:21:2: note: in expansion of macro ‘asm_volatile_goto’ asm_volatile_goto (fullop "; j" #cc " %l[cc_label]" \ ^ ../arch/x86/include/asm/rmwcc.h:54:2: note: in expansion of macro ‘__GEN_RMWcc’ __GEN_RMWcc(op " %[val], " arg0, var, cc, \ ^ ../arch/x86/include/asm/rmwcc.h:58:2: note: in expansion of macro ‘GEN_BINARY_RMWcc_6’ GEN_BINARY_RMWcc_6(op, var, cc, vcon, val, "%[var]") ^ ../arch/x86/include/asm/rmwcc.h:9:30: note: in expansion of macro ‘GEN_BINARY_RMWcc_5’ #define __RMWcc_CONCAT(a, b) a ## b ^ ../arch/x86/include/asm/rmwcc.h:10:28: note: in expansion of macro ‘__RMWcc_CONCAT’ #define RMWcc_CONCAT(a, b) __RMWcc_CONCAT(a, b) ^ ../arch/x86/include/asm/rmwcc.h:60:32: note: in expansion of macro ‘RMWcc_CONCAT’ #define GEN_BINARY_RMWcc(X...) RMWcc_CONCAT(GEN_BINARY_RMWcc_, RMWcc_ARGS(X))(X) ^ ../arch/x86/include/asm/qspinlock.h:18:6: note: in expansion of macro ‘GEN_BINARY_RMWcc’ if (GEN_BINARY_RMWcc(LOCK_PREFIX "btsl", lock->val.counter, c, ^ ../arch/x86/include/asm/rmwcc.h:25:1: note: label ‘cc_label’ defined here cc_label: c = true; \ ^ ../include/linux/compiler.h:58:30: note: in definition of macro ‘__trace_if’ if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ ../arch/x86/include/asm/qspinlock.h:18:2: note: in expansion of macro ‘if’ if (GEN_BINARY_RMWcc(LOCK_PREFIX "btsl", lock->val.counter, c, ^ ../arch/x86/include/asm/rmwcc.h:54:2: note: in expansion of macro ‘__GEN_RMWcc’ __GEN_RMWcc(op " %[val], " arg0, var, cc, \ ^ ../arch/x86/include/asm/rmwcc.h:58:2: note: in expansion of macro ‘GEN_BINARY_RMWcc_6’ GEN_BINARY_RMWcc_6(op, var, cc, vcon, val, "%[var]") ^ ../arch/x86/include/asm/rmwcc.h:9:30: note: in expansion of macro ‘GEN_BINARY_RMWcc_5’ #define __RMWcc_CONCAT(a, b) a ## b ^ ../arch/x86/include/asm/rmwcc.h:10:28: note: in expansion of macro ‘__RMWcc_CONCAT’ #define RMWcc_CONCAT(a, b) __RMWcc_CONCAT(a, b) ^ ../arch/x86/include/asm/rmwcc.h:60:32: note: in expansion of macro ‘RMWcc_CONCAT’ #define GEN_BINARY_RMWcc(X...) RMWcc_CONCAT(GEN_BINARY_RMWcc_, RMWcc_ARGS(X))(X) ^ ../arch/x86/include/asm/qspinlock.h:18:6: note: in expansion of macro ‘GEN_BINARY_RMWcc’ if (GEN_BINARY_RMWcc(LOCK_PREFIX "btsl", lock->val.counter, c, ^ ../arch/x86/include/asm/rmwcc.h:25:1: error: duplicate label ‘cc_label’ cc_label: c = true; \ ^ ../include/linux/compiler.h:58:42: note: in definition of macro ‘__trace_if’ if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ ../arch/x86/include/asm/qspinlock.h:18:2: note: in expansion of macro ‘if’ if (GEN_BINARY_RMWcc(LOCK_PREFIX "btsl", lock->val.counter, c, ^ ../arch/x86/include/asm/rmwcc.h:54:2: note: in expansion of macro ‘__GEN_RMWcc’ __GEN_RMWcc(op " %[val], " arg0, var, cc, \ ^ ../arch/x86/include/asm/rmwcc.h:58:2: note: in expansion of macro ‘GEN_BINARY_RMWcc_6’ GEN_BINARY_RMWcc_6(op, var, cc, vcon, val, "%[var]") ^ ../arch/x86/include/asm/rmwcc.h:9:30: note: in expansion of macro ‘GEN_BINARY_RMWcc_5’ #define __RMWcc_CONCAT(a, b) a ## b ^ ../arch/x86/include/asm/rmwcc.h:10:28: note: in expansion of macro ‘__RMWcc_CONCAT’ #define RMWcc_CONCAT(a, b) __RMWcc_CONCAT(a, b) ^ ../arch/x86/include/asm/rmwcc.h:60:32: note: in expansion of macro ‘RMWcc_CONCAT’ #define GEN_BINARY_RMWcc(X...) RMWcc_CONCAT(GEN_BINARY_RMWcc_, RMWcc_ARGS(X))(X) ^ ../arch/x86/include/asm/qspinlock.h:18:6: note: in expansion of macro ‘GEN_BINARY_RMWcc’ if (GEN_BINARY_RMWcc(LOCK_PREFIX "btsl", lock->val.counter, c, ^ ../arch/x86/include/asm/rmwcc.h:25:1: note: previous definition of ‘cc_label’ was here cc_label: c = true; \ ^ ../include/linux/compiler.h:58:30: note: in definition of macro ‘__trace_if’ if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ ../arch/x86/include/asm/qspinlock.h:18:2: note: in expansion of macro ‘if’ if (GEN_BINARY_RMWcc(LOCK_PREFIX "btsl", lock->val.counter, c, ^ ../arch/x86/include/asm/rmwcc.h:54:2: note: in expansion of macro ‘__GEN_RMWcc’ __GEN_RMWcc(op " %[val], " arg0, var, cc, \ ^ ../arch/x86/include/asm/rmwcc.h:58:2: note: in expansion of macro ‘GEN_BINARY_RMWcc_6’ GEN_BINARY_RMWcc_6(op, var, cc, vcon, val, "%[var]") ^ ../arch/x86/include/asm/rmwcc.h:9:30: note: in expansion of macro ‘GEN_BINARY_RMWcc_5’ #define __RMWcc_CONCAT(a, b) a ## b ^ ../arch/x86/include/asm/rmwcc.h:10:28: note: in expansion of macro ‘__RMWcc_CONCAT’ #define RMWcc_CONCAT(a, b) __RMWcc_CONCAT(a, b) ^ ../arch/x86/include/asm/rmwcc.h:60:32: note: in expansion of macro ‘RMWcc_CONCAT’ #define GEN_BINARY_RMWcc(X...) RMWcc_CONCAT(GEN_BINARY_RMWcc_, RMWcc_ARGS(X))(X) ^ ../arch/x86/include/asm/qspinlock.h:18:6: note: in expansion of macro ‘GEN_BINARY_RMWcc’ if (GEN_BINARY_RMWcc(LOCK_PREFIX "btsl", lock->val.counter, c, ^ ../arch/x86/include/asm/rmwcc.h:23:17: error: jump into statement expression : clobbers : cc_label); \ ^ -- ~Randy