Re: cmpxchg.h:245:2: error: âasmâ operand has impossible constraints

From: Juergen Gross
Date: Thu Sep 06 2018 - 10:43:43 EST


On 06/09/18 15:54, Juergen Gross wrote:
> Hey Meelis,
>
> On Mon, 27 Aug 2018, Meelis Roos wrote:
>
>> While trying to compile v4.18-13105-gaba16dc5cf93 with gcc 5.3.1 on a
>> 32-bit x86 configured for AMD K6
>> CC mm/slub.o
>> In file included from ./arch/x86/include/asm/atomic.h:8:0,
>> from ./include/linux/atomic.h:7,
>> from ./arch/x86/include/asm/thread_info.h:54,
>> from ./include/linux/thread_info.h:38,
>> from ./arch/x86/include/asm/preempt.h:7,
>> from ./include/linux/preempt.h:81,
>> from ./include/linux/spinlock.h:51,
>> from ./include/linux/mmzone.h:8,
>> from ./include/linux/gfp.h:6,
>> from ./include/linux/mm.h:10,
>> from mm/slub.c:13:
>> mm/slub.c: In function â__slab_freeâ:
>> ./arch/x86/include/asm/cmpxchg.h:245:2: error: âasmâ operand has
> impossible constraints
>> asm volatile(pfx "cmpxchg%c4b %2; sete %0" \
>
> Could you give the attched patch a try? I've been hit by this issue
> via kbuild robot complaining about one of my patches which didn't
> touch the asm stuff above.
>
> I suspect the "=a" contraint of the outputs and "a" of the inputs
> are the culprit. You could save me from having to search through
> all the debian repos for a gcc showing that issue...

You don't to test. I've installed a debian VM and could reproduce the
issue locally.

My patch changes the picture: instead of a build error gcc loops
forever.


Juergen