提交 8eb49e04 编写于 作者: R Rich Felker

fix riscv64 syscall asm constraint

having "+r"(a0) is redundant with "0"(a0) in syscalls with at least 1
arg, which is arguably a constraint violation (clang treats it as
such), and an invalid input with indeterminate value in the 0-arg
case. use the "=r"(a0) form instead.
上级 1a28c6ea
......@@ -3,7 +3,7 @@
#define __asm_syscall(...) \
__asm__ __volatile__ ("ecall\n\t" \
: "+r"(a0) : __VA_ARGS__ : "memory"); \
: "=r"(a0) : __VA_ARGS__ : "memory"); \
return a0; \
static inline long __syscall0(long n)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册