Skip site navigation (1)Skip section navigation (2)
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>