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>
