summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386/vfork.S
diff options
context:
space:
mode:
authorAustin Foxley <austinf@cetoncorp.com>2009-10-17 13:19:56 -0700
committerAustin Foxley <austinf@cetoncorp.com>2009-10-17 13:19:56 -0700
commitb04c2ba52317dab5b2e4172d2f8678b1025780d8 (patch)
tree5fca41f076901fbe5f5b9c3f8cd6f433403f35c0 /libc/sysdeps/linux/i386/vfork.S
parent6abc8f6c7c847291a9b20cb5b84e9a2dfe3b578a (diff)
i386 specific bit for nptl
* RESET_PID support for clone.S * SAVE_PID, RESTORE_PID in vfork.S * fixup syscall assembly constraints to be a little less restrictive allows arbitrary variables to be used as the syscall nr Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Diffstat (limited to 'libc/sysdeps/linux/i386/vfork.S')
-rw-r--r--libc/sysdeps/linux/i386/vfork.S10
1 files changed, 10 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/i386/vfork.S b/libc/sysdeps/linux/i386/vfork.S
index 8005ff1d2..c9db2f48c 100644
--- a/libc/sysdeps/linux/i386/vfork.S
+++ b/libc/sysdeps/linux/i386/vfork.S
@@ -18,9 +18,19 @@
__vfork:
popl %ecx
+
+#ifdef SAVE_PID
+ SAVE_PID
+#endif
+
movl $__NR_vfork,%eax
int $0x80
pushl %ecx
+
+#ifdef RESTORE_PID
+ RESTORE_PID
+#endif
+
cmpl $-4095,%eax
jae __syscall_error
ret