Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Apr 1997 22:46:43 +0400 (MSD)
From:      =?KOI8-R?B?4c7E0sXKIP7F0s7P1w==?= <ache@nagual.pp.ru>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        cvs-all@freebsd.org, CVS-committers@freebsd.org, cvs-usrbin@freebsd.org
Subject:   Re: cvs commit:  src/usr.bin/vacation vacation.c
Message-ID:  <Pine.BSF.3.96.970425215836.3514B-100000@nagual.pp.ru>
In-Reply-To: <199704251432.AAA00549@godzilla.zeta.org.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 26 Apr 1997, Bruce Evans wrote:

> NON_SAVING_SETJMP is for systems whose setjmp() doesn't save all the
> registers, perhaps because the native compiler uses a caller-saved
> convention so the native setjmp() doesn't need to.  The native system
> would have to use special handling for vfork(), one of the following:
> 
> 1. save registers in vfork() and don't save before call (simplest).
> 2. save registers before call and don't write to or free the save
>    area until the child exits (difficult in cases that may have
>    iterated vforks - if the stack is used then it can only be shrunk
>    if the compiler understands the flow of control well enough to
>    decide when the child returns!).

Hmm, maybe I overlook something, but I not found gcc saving registers
when NON_SAVING_SETJMP is on, it just mark them as clobbered to not use
them later. Is it will be just enough for vfork?

-- 
Andrey A. Chernov
<ache@null.net>
http://www.nagual.pp.ru/~ache/




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.970425215836.3514B-100000>