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:
parent
1974bffa2d
commit
efe07b0f89
1 changed files with 1 additions and 1 deletions
|
|
@ -37,7 +37,7 @@ static inline int __k_cas(int t, int s, volatile int *p)
|
|||
" beq 1b\n"
|
||||
" mcr p15,0,r0,c7,c10,5\n"
|
||||
: "=&r"(ret)
|
||||
: "r"(t), "r"(s), "m"(*p)
|
||||
: "r"(t), "r"(s), "Q"(*p)
|
||||
: "memory", "cc" );
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue