overhaul syscall interface
[musl] / src / internal / i386 / syscall.s
diff --git a/src/internal/i386/syscall.s b/src/internal/i386/syscall.s
new file mode 100644 (file)
index 0000000..5b19a1b
--- /dev/null
@@ -0,0 +1,21 @@
+.global __syscall
+.type __syscall,%function
+__syscall:
+       pushl %ebx
+       pushl %esi
+       pushl %edi
+       pushl %ebp
+       movl 20(%esp),%eax
+       movl 24(%esp),%ebx
+       movl 28(%esp),%ecx
+       movl 32(%esp),%edx
+       movl 36(%esp),%esi
+       movl 40(%esp),%edi
+       movl 44(%esp),%ebp
+       int $128
+       popl %ebp
+       popl %edi
+       popl %esi
+       popl %ebx
+       ret
+.size __syscall,.-__syscall