Subject: Re: Removing compat/aout
To: None <tech-kern@netbsd.org>
From: Greg A. Woods <woods@weird.com>
List: tech-kern
Date: 03/09/2002 03:03:20
[ On Saturday, March 9, 2002 at 01:17:11 (-0500), der Mouse wrote: ]
> Subject: Re: Removing compat/aout
>
> > anyone running a system with a.out binaries that they *USE* really
> > doesn't want to have COMPAT_AOUT.  why?  say your shell is aout.. you
> > type "cd /usr" in it.  where do you end up?  "/emul/aout/usr".
> 
> Kindly do me the courtesy of not trying to tell me what I want or don't
> want.  Maybe _you_ don't want it, perhaps because _you_ have trouble
> remembering whether you're running an a.out binary or not, or perhaps
> because _you_ have trouble remembering that particular property of
> a.out emulation.

I think he meant that in the "royal you", inclusive, sense.

And I think he's 100% correct.

Can you tell us how you'd convince any program running under COMPAT_AOUT
to chdir("/usr") and get to the real /usr instad of /emul/aout/usr?

COMPAT_AOUT's design flaws are quite serious and I think they make it
unusable for anyone but an expert, and even then there are probably more
than just these pedantic examples of normal operations that are
literally impossible with COMPAT_AOUT.  It is almost certain that "you"
really do not want your program to end up in /emul/aout/usr when it has
called chdir("/usr").  You might be able make your program continue to
work for all but these pedantic examples, but it won't likely be easy or
obvious, especially for someone who doesn't expect these consequences.

-- 
								Greg A. Woods

+1 416 218-0098;  <gwoods@acm.org>;  <g.a.woods@ieee.org>;  <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>