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>