Subject: Re: Removing compat/aout
To: None <jdolecek@netbsd.org>
From: Todd Vierling <tv@wasabisystems.com>
List: tech-kern
Date: 03/08/2002 12:07:57
On Fri, 8 Mar 2002, Jaromir Dolecek wrote:

: I'd like to finally completely nuke all remains of compat/aout code
: from the system.  The modified a.out ld.so which looks in /emul/aout
: first is much better solution to the problem, and actually _works_
: on systems with mix of NetBSD ELF & a.out binaries.

compat/aout actually "_works_" too, contrary to your implication here.  It
also has particularly useful functionality.  But....

Given that the transition is now done for the two major non-m68k platforms,
I'd reluctantly support removing it from -current (but not the 1.5.x
branch), in line for 1.6.  However, the path translation should *remain* for
m68k until one release branch has passed for all platforms to be m68k-elf.
To wit:

: I'd also like to significantly reduce compat/aoutm68k. Particularily,
: I'd like to nuke all but the stat structure ABI conversion hooks - AFAIK
: this is the only reason to keep it.

I'll say this one more time as I've said in the past:  Path translation is a
unseful function of the binary emulation code, and particularly so when
doing an *incremental* migration of a formerly a.out system to ELF.

Path translation allows you to do the following things (just examples of
the needs I've had for it, not exhaustive):

* Move /usr/pkg to /emul/aout/usr/pkg, and rebuild /usr/pkg incrementally
  and *cleanly* rather than in one big inconsistent pkg_delete/rebuild
  sweep.  This is accomplished by allowing the old binaries to find their
  config files, external extra utility files, and so forth -- things that
  are *NOT* searched by ld.so -- in /emul/aout/usr/pkg, until the package in
  question has been recompiled for ELF.

* Keep some separate system config files for ELF and a.out in /etc and
  /emul/aout/etc, respectively.  (One particular problem I had at one time
  was the presence of IPv6 addresses in my local /etc/hosts when trying to
  run 1.3-compiled static binaries.)

-- 
-- Todd Vierling <tv@wasabisystems.com>  *  Wasabi & NetBSD:  Run with it.
-- CDs, Integration, Embedding, Support -- http://www.wasabisystems.com/