fix mips syscalls with long long args
authorRich Felker <dalias@aerifal.cx>
Thu, 12 Jul 2012 17:48:56 +0000 (13:48 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 12 Jul 2012 17:48:56 +0000 (13:48 -0400)
like arm, mips requires 64-bit arguments to be "aligned" on an even
register boundary.

arch/mips/bits/syscall.h

index e24ba5e..868ce0f 100644 (file)
@@ -1,7 +1,7 @@
 #define __SYSCALL_LL_E(x) \
 ((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
 ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
-#define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x))
+#define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x))
 
 long (__syscall)(long, ...);