From owner-cvs-all Tue Sep 17 10:43: 2 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B177037B401; Tue, 17 Sep 2002 10:43:00 -0700 (PDT) Received: from mail.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id 32D4643E75; Tue, 17 Sep 2002 10:43:00 -0700 (PDT) (envelope-from eischen@pcnet1.pcnet.com) Received: from localhost (eischen@localhost) by mail.pcnet.com (8.12.3/8.12.1) with ESMTP id g8HHgvas011929; Tue, 17 Sep 2002 13:42:59 -0400 (EDT) Date: Tue, 17 Sep 2002 13:42:57 -0400 (EDT) From: Daniel Eischen To: Peter Wemm Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/lib/libc/gen swapcontext.c In-Reply-To: <20020917162835.D8BD02A7D6@canning.wemm.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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