From owner-freebsd-current Thu Oct 12 11:34:58 1995 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id LAA24591 for current-outgoing; Thu, 12 Oct 1995 11:34:58 -0700 Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id LAA24583 for ; Thu, 12 Oct 1995 11:34:51 -0700 Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id LAA15628; Thu, 12 Oct 1995 11:30:45 -0700 From: Terry Lambert Message-Id: <199510121830.LAA15628@phaeton.artisoft.com> Subject: Re: cvs commit: src/sys/i386/ibcs2 ibcs2_ioctl.h ibcs2_ipc.h ibcs2_isc_syscall.h ibcs2_isc_sysent.c ... To: se@zpr.uni-koeln.de (Stefan Esser) Date: Thu, 12 Oct 1995 11:30:45 -0700 (MST) Cc: erics@now.com, current@freebsd.org In-Reply-To: <199510121256.AA10533@Sysiphos> from "Stefan Esser" at Oct 12, 95 01:56:38 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2131 Sender: owner-current@freebsd.org Precedence: bulk STefan writes: > On Oct 11, 20:07, Eric Siegerman wrote: > } Subject: Re: cvs commit: src/sys/i386/ibcs2 ibcs2_ioctl.h ibcs2_ipc.h ibcs > } On Oct 10, Stefan Esser wrote: > } > [...] if just a single > } > directory is searched (e.g. /compat/ibcs2/lib) a mount of a System V > } > /usr file system on /compat/ibcs2 would not be much use. There were > } > other directories that contain shared libraries under 386/ix at least > } > (I never had to work on a SCO system) > } > } FYI, Xenix 2.3.4 has a shared library in /shlib/libc_s. > > Thanks for the information! > > It seems to strengthen my point, that > mounting a System V file system under > /compat/ibcs2 and using its bin and lib > directories will not work in general ... > > We'll need to play tricks (e.g. with > symlinks) to make the shared libraries > appear at the place where the emulation > code looks for them, and then I'd rather > choose a file system, that is suitable to > take a copy of those libs, in case I need > to install them ... With respect, this does not strengthen your argument. The NetBSD (FreeBSD -current) code operates by causing lookups to occur in the subtree as if it were the root before occurring in the actual root for lookups for binaries (actually, this could be made more general, but would require about 200 lines of changes to kern/vfs_lookup.c and all code calling namei() to use preparsed path component lists). What this means is that it doesn't matter where the root directory starts, as long as it starts somewhere. Effectively, each lookup occurs first in a chrooted environment, then in a non-chrooted environment if an emulation specific copy has not been found. So your argument, based on the premise that the loader itself was being hacked for the emulations, is incorrect. Mounting at various locations will, in fact, work, as long as the relative root is known to the exec loader and the system call entry translation functions of an exec loader. Regards, Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.