From: Rich Felker Date: Sun, 23 Nov 2014 01:50:01 +0000 (-0500) Subject: remove old clang workarounds from arm syscall implementation X-Git-Tag: v1.1.6~50 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=7d310ed1d086d9874b7ca40933ff870a8adc75d9;p=oweals%2Fmusl.git 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. --- diff --git a/arch/arm/syscall_arch.h b/arch/arm/syscall_arch.h index e10748a4..845f2e4d 100644 --- a/arch/arm/syscall_arch.h +++ b/arch/arm/syscall_arch.h @@ -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);