Re: linux-next: Tree for Oct 17 (x86; jump labels ?; x86 macros?; ; )

2018-10-17 Thread Randy Dunlap
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: 

Re: linux-next: Tree for Oct 17 (x86; jump labels ?; x86 macros?; ; )

2018-10-17 Thread Randy Dunlap
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: