Build failures in -next due to 'locking/atomic, arch/arc: Implement atomic_fetch_{add,sub,and,andnot,or,xor}()'

Guenter Roeck linux at roeck-us.net
Fri Jun 17 07:52:37 PDT 2016


On 06/17/2016 07:41 AM, Peter Zijlstra wrote:
> On Fri, Jun 17, 2016 at 04:39:42PM +0200, Peter Zijlstra wrote:
>> On Fri, Jun 17, 2016 at 07:36:56AM -0700, Guenter Roeck wrote:
>>> Hi Peter,
>>>
>>> I am seeing build failures in -next when trying to build arc / arcv2 targets.
>>>
>>> arch/arc/include/asm/atomic.h:74:2: error: ‘SCOND_FAIL_RETRY_VAR_DEF’ undeclared
>>> arch/arc/include/asm/atomic.h:87:2: error: expected ‘:’ or ‘)’ before ‘SCOND_FAIL_RETRY_ASM’
>>>
>>> Problems seem to be caused by 'locking/atomic, arch/arc: Implement
>>> atomic_fetch_{add,sub,and,andnot,or,xor}()'. Both SCOND_FAIL_RETRY_VAR_DEF and
>>> SCOND_FAIL_RETRY_ASM are undefined.
>>
>> Crud, I messed up the rebase against the backoff reverts. Lemme go do
>> fixups.
>
> I've misplaced my arc compiler, but does this make it go again?
>
Looks like it, yes. Build still fails for another reason, but this problem is gone.
I can not do any runtime tests, though, only build tests.

Guenter

>
> ---
>   arch/arc/include/asm/atomic.h | 8 --------
>   1 file changed, 8 deletions(-)
>
> diff --git a/arch/arc/include/asm/atomic.h b/arch/arc/include/asm/atomic.h
> index bd9c51cb2bfd..4e3c1b6b0806 100644
> --- a/arch/arc/include/asm/atomic.h
> +++ b/arch/arc/include/asm/atomic.h
> @@ -71,7 +71,6 @@ static inline int atomic_##op##_return(int i, atomic_t *v)		\
>   static inline int atomic_fetch_##op(int i, atomic_t *v)			\
>   {									\
>   	unsigned int val, orig;						\
> -	SCOND_FAIL_RETRY_VAR_DEF                                        \
>   									\
>   	/*								\
>   	 * Explicit full memory barrier needed before/after as		\
> @@ -84,11 +83,8 @@ static inline int atomic_fetch_##op(int i, atomic_t *v)			\
>   	"	" #asm_op " %[val], %[orig], %[i]	\n"		\
>   	"	scond   %[val], [%[ctr]]		\n"		\
>   	"						\n"		\
> -	SCOND_FAIL_RETRY_ASM						\
> -									\
>   	: [val]	"=&r"	(val),						\
>   	  [orig] "=&r" (orig)						\
> -	  SCOND_FAIL_RETRY_VARS						\
>   	: [ctr]	"r"	(&v->counter),					\
>   	  [i]	"ir"	(i)						\
>   	: "cc");							\
> @@ -199,10 +195,6 @@ ATOMIC_OPS(andnot, &= ~, bic)
>   ATOMIC_OPS(or, |=, or)
>   ATOMIC_OPS(xor, ^=, xor)
>
> -#undef SCOND_FAIL_RETRY_VAR_DEF
> -#undef SCOND_FAIL_RETRY_ASM
> -#undef SCOND_FAIL_RETRY_VARS
> -
>   #else /* CONFIG_ARC_PLAT_EZNPS */
>
>   static inline int atomic_read(const atomic_t *v)
>




More information about the linux-snps-arc mailing list