overhaul syscall interface
[musl] / src / linux / syscall.c
diff --git a/src/linux/syscall.c b/src/linux/syscall.c
new file mode 100644 (file)
index 0000000..1535560
--- /dev/null
@@ -0,0 +1,19 @@
+#include "syscall.h"
+#include <stdarg.h>
+
+#undef syscall
+
+long syscall(long n, ...)
+{
+       va_list ap;
+       long a,b,c,d,e,f;
+       va_start(ap, n);
+       a=va_arg(ap, long);
+       b=va_arg(ap, long);
+       c=va_arg(ap, long);
+       d=va_arg(ap, long);
+       e=va_arg(ap, long);
+       f=va_arg(ap, long);
+       va_end(ap);
+       return __syscall_ret(__syscall(n,a,b,c,d,e,f));
+}