summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386/vfork.S
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/i386/vfork.S')
-rw-r--r--libc/sysdeps/linux/i386/vfork.S22
1 files changed, 22 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/i386/vfork.S b/libc/sysdeps/linux/i386/vfork.S
new file mode 100644
index 000000000..5775daee3
--- /dev/null
+++ b/libc/sysdeps/linux/i386/vfork.S
@@ -0,0 +1,22 @@
+.text
+ .align 4
+.globl vfork
+ .type vfork,@function
+vfork:
+ popl %ecx
+ movl $190,%eax
+#APP
+ int $0x80
+#NO_APP
+ cmpl $-4095,%eax
+ jae .L5
+ jmp *%ecx
+ .p2align 4,,7
+.L5:
+ pushl %ecx
+ negl %eax
+ movl %eax,errno
+ movl $-1,%eax
+ ret
+.Lfe1:
+ .size vfork,.Lfe1-vfork