Date: Tue, 17 Sep 2002 13:42:57 -0400 (EDT) From: Daniel Eischen <eischen@pcnet1.pcnet.com> To: Peter Wemm <peter@wemm.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/lib/libc/gen swapcontext.c Message-ID: <Pine.GSO.4.10.10209171332570.10554-100000@pcnet1.pcnet.com> In-Reply-To: <20020917162835.D8BD02A7D6@canning.wemm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 17 Sep 2002, Peter Wemm wrote:
> Daniel Eischen wrote:
> > On Mon, 16 Sep 2002, Peter Wemm wrote:
> > 
> > > peter       2002/09/16 23:22:52 PDT
> > > 
> > >   Modified files:
> > >     lib/libc/gen         swapcontext.c 
> > >   Log:
> > >   Bandaid to stop failing on non-i386 platforms.
> > >   Add a big ugly #warning as a reminder.
> > 
> > Is there a problem with dependencies?  mc_len is a member
> > of mcontext_t in sys/${ARCH}/include/ucontext.h.
Yeah, forgive my misreading of what happened.
> There are several problems with the recent commits:
> 1: mc_len only exists for i386, this breaks the alpha builds.
I think it's (mc_len) to exist in all mcontext_t.  You
could argue that it could be moved up a level into ucontext_t
(uc_mclen), but I think it's mostly MD code in the kernel
that has to access it regardless.
> 2: only sys/i386/include/ucontext.h exists
Alpha has it too.  This is where mcontext is defined, so I'd
expect all archs to have a ucontext.h.
> 3: get_mcontext() and set_mcontext() are prototyped only in
>    sys/i386/include/ucontext.h, yet is used in a MI file (kern_thread.c),
>    so kernel compiles of kern_thread.c fail due to missing prototypes.
> 4: Is the prototype expected to be different on some platforms?  If not, then
>    it should not be in a MD include file, it should be in an MI include file
>    or it will become another thing to get out of sync.
No, the prototype should be the same on all platforms and needs to
be implemented on all platforms.
> 5: get_mcontext() and set_mcontext() only exist on i386, yet it is called
>    from MI code on all platforms, so kernel links fail due to missing
>    functions.
Yes, they need to be implemented on all archs.
-- 
Dan Eischen
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10209171332570.10554-100000>
