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

From: Vineet Gupta
Date: Wed Jun 22 2016 - 06:17:08 EST


On Friday 17 June 2016 08:11 PM, 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?

Peter the fixlet below doesn't show up in linux-next yet. Could you please do that
soon. Our internal build lords are yelling at me :-)

To keep things bisectable, it would be desirable to squash this with the orig commit !

>
>
> ---
> 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)
>
> _______________________________________________
> linux-snps-arc mailing list
> linux-snps-arc@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-snps-arc
>