Subject: Re: /emul/xxx for all/other /sys/compat/xxx?
To: None <tech-kern@NetBSD.ORG>
From: Ty Sarna <tsarna@endicor.com>
List: tech-kern
Date: 03/06/1995 20:53:04
In article <9503061741.AA25183@cs.utah.edu>,
Mike Hibler <mike@cs.utah.edu> wrote:
> libraries).  As I understand it (though I missed the initial messages on
> this) you would not be able to do this with namei always performing the
> translations.  Do you want to be able to do this?  That I don't know.

The compat_namei() has semantics more like a union mount than a chroot,
so you can still see things under the real root.

> This is still how we do it today on the PA, where we use the HP-UX X
> server binary.  It is a lot messier with shared libraries where we have to
> put HP-UX binaries (or symlinks to), e.g. /lib/dld.sl, /lib/libc.sl, into
> our standard directories.  There is also the possibility of name clashes,
> e.g. if we had a BSD libc.sl.  Union mounts can take care of cleaning up
> the mess, but doesn't help with the name clashes.

The compat_namei() would take care of both in one step.  You would
install all the hpux libraries under /emul/hpux/lib/...  [or better yet,
/compat/hpux/lib/...  The more I think about it, the more I think it
should be compat.  The code for binary compatibility modules is under
/sys/compat, and is enabled by options COMPAT_XXX. Shouln't the
directory for compat-specific files be /compat too?)

-- 
Ty Sarna                "I thought you were wrong before, but compared
tsarna@endicor.com       to now you were right" -- Exit 57