X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=arch%2Farm%2Fsyscall_arch.h;h=6023303bfe82d01e9558ba6b89211e3c4f343a0d;hb=43c423af5b8453afde86e4ba81e0fcc663ae7c22;hp=845f2e4d4e7238c0743d200d3f1c1b5aa0f234f5;hpb=7d310ed1d086d9874b7ca40933ff870a8adc75d9;p=musl diff --git a/arch/arm/syscall_arch.h b/arch/arm/syscall_arch.h index 845f2e4d..6023303b 100644 --- a/arch/arm/syscall_arch.h +++ b/arch/arm/syscall_arch.h @@ -3,8 +3,6 @@ ((union { long long ll; long l[2]; }){ .ll = x }).l[1] #define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x)) -long (__syscall)(long, ...); - #define __asm_syscall(...) do { \ __asm__ __volatile__ ( "svc 0" \ : "=r"(r0) : __VA_ARGS__ : "memory"); \ @@ -54,10 +52,29 @@ static inline long __syscall4(long n, long a, long b, long c, long d) static inline long __syscall5(long n, long a, long b, long c, long d, long e) { - return (__syscall)(n, a, b, c, d, e); + register long r7 __asm__("r7") = n; + register long r0 __asm__("r0") = a; + register long r1 __asm__("r1") = b; + register long r2 __asm__("r2") = c; + register long r3 __asm__("r3") = d; + register long r4 __asm__("r4") = e; + __asm_syscall("r"(r7), "0"(r0), "r"(r1), "r"(r2), "r"(r3), "r"(r4)); } static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f) { - return (__syscall)(n, a, b, c, d, e, f); + register long r7 __asm__("r7") = n; + register long r0 __asm__("r0") = a; + register long r1 __asm__("r1") = b; + register long r2 __asm__("r2") = c; + register long r3 __asm__("r3") = d; + register long r4 __asm__("r4") = e; + register long r5 __asm__("r5") = f; + __asm_syscall("r"(r7), "0"(r0), "r"(r1), "r"(r2), "r"(r3), "r"(r4), "r"(r5)); } + +#define VDSO_USEFUL +#define VDSO_CGT_SYM "__vdso_clock_gettime" +#define VDSO_CGT_VER "LINUX_2.6" + +#define SYSCALL_FADVISE_6_ARG