mirror of
https://git.musl-libc.org/git/musl
synced 2025-01-06 23:02:10 +03:00
fix riscv64 a_cas inline asm operand sign extension
This patch adds an explicit cast to the int arguments passed to the inline asm used in the RISC-V's implementation of `a_cas`, to ensure that they are properly sign extended to 64 bits. They aren't automatically sign extended by Clang, and GCC technically also doesn't guarantee that they will be sign extended.
This commit is contained in:
parent
a2e71304f3
commit
83350eb17b
@ -15,7 +15,7 @@ static inline int a_cas(volatile int *p, int t, int s)
|
||||
" bnez %1, 1b\n"
|
||||
"1:"
|
||||
: "=&r"(old), "=&r"(tmp)
|
||||
: "r"(p), "r"(t), "r"(s)
|
||||
: "r"(p), "r"((long)t), "r"((long)s)
|
||||
: "memory");
|
||||
return old;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user