This is the mail archive of the
libc-hacker@cygnus.com
mailing list for the glibc project.
too early, no vfork
- To: libc-hacker@cygnus.com
- Subject: too early, no vfork
- From: Ulrich Drepper <drepper@cygnus.com>
- Date: 19 Jan 1999 17:15:13 -0800
- Cc: Linus Torvalds <torvalds@transmeta.com>
- Reply-To: drepper@cygnus.com (Ulrich Drepper)
I was too early in saying vfork works. And braindead on top of this.
In fact it is impossible to use clone to write vfork on ix86 without
using malloc. The problem is that the syscall needs %eax, %ebx, and
%ecx. But we have two values to save: %ebx and the return address.
But there is only %edx available. The only possible user-level
implementation would have to allocate some memory outside the stack,
store the two values and keep the pointer in %edx. But this is of
course unacceptable.
This means wither these kernel people change back to having a syscall
or we live with fork().
--
---------------. drepper at gnu.org ,-. 1325 Chesapeake Terrace
Ulrich Drepper \ ,-------------------' \ Sunnyvale, CA 94089 USA
Cygnus Solutions `--' drepper at cygnus.com `------------------------