/home/travis/build/huth/kvm-unit-tests/lib/arm64/spinlock.c:29:12: error: value size does not match register size specified by the constraint and modifier [-Werror,-Wasm-operand-widths] : "=&r" (val), "=&r" (fail) ^ /home/travis/build/huth/kvm-unit-tests/lib/arm64/spinlock.c:27:9: note: use constraint modifier "w" " mov %0, #1\n" ^~ %w0 Use the "w" modifier as suggested to fix the issue. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> --- lib/arm64/spinlock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/arm64/spinlock.c b/lib/arm64/spinlock.c index fac4fc9..258303d 100644 --- a/lib/arm64/spinlock.c +++ b/lib/arm64/spinlock.c @@ -24,7 +24,7 @@ void spin_lock(struct spinlock *lock) asm volatile( "1: ldaxr %w0, [%2]\n" " cbnz %w0, 1b\n" - " mov %0, #1\n" + " mov %w0, #1\n" " stxr %w1, %w0, [%2]\n" : "=&r" (val), "=&r" (fail) : "r" (&lock->v) -- 2.18.2