Subject: Re: COMPAT_AOUT removal
To: Todd Vierling <>
From: Robert Elz <kre@munnari.OZ.AU>
List: current-users
Date: 08/08/2000 09:58:09
    Date:        Mon, 7 Aug 2000 08:02:16 -0400 (EDT)
    From:        Todd Vierling <>
    Message-ID:  <>

  | For instance, if I do `ls /usr'
  | using a Linux colorls, I get the same behavior.

Yes, and since the sources for the linux can be obtained, that
can, and should, be fixed as well (even if it meant actually compiling
the fixed version on a linux system and then exporting that binary).

However the linux, and even less so, SunOS SVR4 ... emulations are less
of a problem, as they're typically only used to run those odd applications
which aren't available in source form to be compiled for NetBSD.  And those
tend to be stuff like databases, netscape, ... which do all have the same
problem, but rarely actually exhibit it to the user.

On the other hand, when converting from a.out to elf it is entirely reasonable
to expect that lots of people will have quite a few old NetBSD binaries
(like the whole pkgsrc system initially) which were compiled a.out and which
will take time to upgrade.  And that those will include things like shells
(bash, tcsh, ...) and ls type utilities.   The breakage for a.out is way worse
than it is for any other emulation.

Personally I'd prefer it if it were ripped out completely.   The alternative
would be to leave the code in the kernel intact, but delete all references to
it from options(4), GENERIC and all other sample kernel config files (so the
only way to discover it exists is to read the source).  Then you can still
turn it on if you really need it, with there being close to zero chance that
it is going to surprise any of those who don't understand what is happening.
That is, don't even include it commented out in GENERIC with warnings not
to use it.   It isn't as if this would be a new strategy, the MAXBSIZE option
is already buried just like that (which I found when I needed it just a
week or two ago).

The long term effect of this on COMPAT_AOUT is likely to be that in a few years
the option will have atrophied to the state where it no longer compiles, and
someone will just quietly delete it with a cvs log message like "deleted dead 
code" and no-one will care at all...