Date: Wed, 04 Dec 2002 15:44:29 -0800 From: Peter Wemm <peter@wemm.org> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: "alex" <lex@adelaide.on.net>, "Yoriaki FUJIMORI" <fujimori@ns.fujimori.cache.waseda.ac.jp>, alpha@FreeBSD.ORG Subject: Re: link_elf: symbol osf1_wait4 undefined Message-ID: <20021204234429.1E7DE2A8A5@canning.wemm.org> In-Reply-To: <15854.1646.533496.929062@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
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. This is quite well solved in 5.0: peter@daintree[3:41pm]~src/sys/alpha/osf1-121> grep MODULE_ * osf1_sysvec.c:MODULE_VERSION(osf1, 1); osf1_sysvec.c:MODULE_DEPEND(osf1, sysvmsg, 1, 1, 1); osf1_sysvec.c:MODULE_DEPEND(osf1, sysvsem, 1, 1, 1); osf1_sysvec.c:MODULE_DEPEND(osf1, sysvshm, 1, 1, 1); peter@daintree[3:41pm]~src/sys/alpha/osf1-122> cd ../linux/ peter@daintree[3:42pm]~src/sys/alpha/linux-123> 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); ie: linux depends on osf1. osf1 depends on the sysv* stuff. linux also depends on the sysv*. All the dependency loading happens automatically if needed. There is no good solution for 4.x because the dependency system runs at the file level (rather than module level) and cannot detect when a module is already in the kernel. 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021204234429.1E7DE2A8A5>