summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386/vfork.S
diff options
context:
space:
mode:
authorManuel Novoa III <mjn3@codepoet.org>2001-03-04 19:13:07 +0000
committerManuel Novoa III <mjn3@codepoet.org>2001-03-04 19:13:07 +0000
commit7be859a705aa7084b187e8007847aa4ddb049faf (patch)
tree75eb50096f9228e01cc5cc835f362480815a3161 /libc/sysdeps/linux/i386/vfork.S
parent3d15998e6539d9362a898f46005d0a2aea497c74 (diff)
Fixed vfork on i386. Reduced size of __uClibc_syscall.
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