aarch64: fix typo in bits/ioctl.h
[musl] / arch / arm / syscall_arch.h
index 845f2e4..c1c9466 100644 (file)
@@ -54,10 +54,23 @@ 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));
 }