Subject: re: Pathname translation for emulations (Was: Re: Removing compat/aout)
To: Todd Vierling <tv@wasabisystems.com>
From: matthew green <mrg@eterna.com.au>
List: tech-kern
Date: 03/09/2002 12:48:30
   
   :    In principle I agree with you. But if we have the same code in every
   :    emulation except for the name, we should centralize it. And I think we can
   :    do this w/o adding much impact to native code (testing for a null
   :    pointer).
   :
   : i don't like this because different emulations translate different
   : system calls, not "all of them".  how do you provide for this?
   
   Then that's a bug.  Translation should be applied uniformly to a uniform set
   of syscalls.  (IMNSHO, it should be all syscalls which take a filename in
   the filesystem namespace.)


i don't agree.  particularly, any system call that creates anything
should never have path translation.  that way leads to hell.  however
i know that there are places this is needed for some reason in the
linux compat module.


the point of path translation is to find data files (shared libs,
and beyond) so that these binaries continue to work, not to make
them use /emul/whatever for EVERYTHING.  that way leads to madness.
why doesn't eg, a compat_sunos /bin/tcsh completely lose like a
netbsd a.out /bin/tcsh?  because compat_sunos doesn't translate
chdir(2).  this is most definately not a bug.


.mrg.