From owner-freebsd-alpha Wed Dec 4 15:47:44 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 47E9C37B401; Wed, 4 Dec 2002 15:47:42 -0800 (PST) Received: from canning.wemm.org (canning.wemm.org [192.203.228.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id F2E0143E88; Wed, 4 Dec 2002 15:47:41 -0800 (PST) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by canning.wemm.org (Postfix) with ESMTP id D71802A7EA; Wed, 4 Dec 2002 15:47:41 -0800 (PST) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: John Baldwin Cc: Andrew Gallatin , alpha@FreeBSD.ORG, Yoriaki FUJIMORI , alex Subject: Re: link_elf: symbol osf1_wait4 undefined In-Reply-To: Date: Wed, 04 Dec 2002 15:47:41 -0800 From: Peter Wemm Message-Id: <20021204234741.D71802A7EA@canning.wemm.org> Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org John Baldwin wrote: > > On 04-Dec-2002 Andrew Gallatin wrote: > > > > alex writes: > > > ahhhh. That solved the problem. > > > What is the technical reason for having to load the osf1 module first ? > > > > Linux/alpha uses the same ABI as OSF/1 for a number of functions, > > since they bootstrapped themselves from OSF/1 on alpha and never > > bothered to go fully native. This ABI is already provided by our > > osf1.ko module. > > > > The problem is that the osf1.ko module is SUPPOSED to be automatically > > loaded as a dependancy of the linux module. I've asked the person who > > wrote the module dependancy code for help on this, but he's moved on > > to other things and has never answered. If somebody wants to look > > into this, that would be great. I've never been able to figure it > > out. > > The problem is here: > > > grep MODULE * > linux_sysvec.c:MODULE_VERSION(linux, 1); > linux_sysvec.c:MODULE_DEPEND(linux, osf1, 1, 1, 1); > linux_sysvec.c:MODULE_DEPEND(linux, sysvmsg, 1, 1, 1); > linux_sysvec.c:MODULE_DEPEND(linux, sysvsem, 1, 1, 1); > linux_sysvec.c:MODULE_DEPEND(linux, sysvshm, 1, 1, 1); > linux_sysvec.c:DECLARE_MODULE(linuxelf, linux_elf_mod, SI_SUB_EXEC, SI_ORDER_ ANY); > > All the dependencies are recorded for the non-existent linux module. > In actuality, on Alpha there is a linuxelf module, and on i386 there > are linuxelf and linuxaout modules. I'm trying to think about the > best way to go about fixing this. No. The MODULE_VERSION/MODULE_DEPEND stuff is completely seperate to DECLARE_MODULE. They are not in the same name space. They are just tags. This is so that we can have tags in raw binary (no executable code) files. > Well, I have an untested patch at > http://www.FreeBSD.org/~jhb/patches/linux.patch that might fix this. > FWIW, the dependency of linux compat on the SYSV modules was broken on > both i386 and alpha for the same reason. Use 'patch -p6' to apply this > patch btw. Nope, this assumes a connection between the namespaces. > -- > > John Baldwin <>< http://www.FreeBSD.org/~jhb/ > "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-alpha" in the body of the message > Cheers, -Peter -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message