mirror of
https://github.com/fluencelabs/musl
synced 2025-07-31 14:21:57 +00:00
fix arm atomic asm register constraint
the "m" constraint could give a memory reference with an offset that's not compatible with ldrex/strex, so the arm-specific "Q" constraint is needed instead.
This commit is contained in:
@@ -37,7 +37,7 @@ static inline int __k_cas(int t, int s, volatile int *p)
|
|||||||
" beq 1b\n"
|
" beq 1b\n"
|
||||||
" mcr p15,0,r0,c7,c10,5\n"
|
" mcr p15,0,r0,c7,c10,5\n"
|
||||||
: "=&r"(ret)
|
: "=&r"(ret)
|
||||||
: "r"(t), "r"(s), "m"(*p)
|
: "r"(t), "r"(s), "Q"(*p)
|
||||||
: "memory", "cc" );
|
: "memory", "cc" );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user