This is the mail archive of the libc-hacker@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

too early, no vfork


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   `------------------------


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]