mirror of git://git.musl-libc.org/musl
remove old clang workarounds from arm syscall implementation
the register constraints in the non-clang case were tested to work on clang back to 3.2, and earlier versions of clang have known bugs that preclude building musl. there may be other reasons to prefer not to use inline syscalls, but if so the function-call-based implementations should be added back in a unified way for all archs.
This commit is contained in:
parent
8cd0b11eaf
commit
7d310ed1d0
|
@ -5,8 +5,6 @@
|
|||
|
||||
long (__syscall)(long, ...);
|
||||
|
||||
#ifndef __clang__
|
||||
|
||||
#define __asm_syscall(...) do { \
|
||||
__asm__ __volatile__ ( "svc 0" \
|
||||
: "=r"(r0) : __VA_ARGS__ : "memory"); \
|
||||
|
@ -54,35 +52,6 @@ static inline long __syscall4(long n, long a, long b, long c, long d)
|
|||
__asm_syscall("r"(r7), "0"(r0), "r"(r1), "r"(r2), "r"(r3));
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static inline long __syscall0(long n)
|
||||
{
|
||||
return (__syscall)(n);
|
||||
}
|
||||
|
||||
static inline long __syscall1(long n, long a)
|
||||
{
|
||||
return (__syscall)(n, a);
|
||||
}
|
||||
|
||||
static inline long __syscall2(long n, long a, long b)
|
||||
{
|
||||
return (__syscall)(n, a, b);
|
||||
}
|
||||
|
||||
static inline long __syscall3(long n, long a, long b, long c)
|
||||
{
|
||||
return (__syscall)(n, a, b, c);
|
||||
}
|
||||
|
||||
static inline long __syscall4(long n, long a, long b, long c, long d)
|
||||
{
|
||||
return (__syscall)(n, a, b, c, d);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static inline long __syscall5(long n, long a, long b, long c, long d, long e)
|
||||
{
|
||||
return (__syscall)(n, a, b, c, d, e);
|
||||
|
|
Loading…
Reference in New Issue