remove old clang workarounds from arm syscall implementation
authorRich Felker <dalias@aerifal.cx>
Sun, 23 Nov 2014 01:50:01 +0000 (20:50 -0500)
committerRich Felker <dalias@aerifal.cx>
Sun, 23 Nov 2014 01:50:01 +0000 (20:50 -0500)
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.

arch/arm/syscall_arch.h

index e10748a..845f2e4 100644 (file)
@@ -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);