Re: Dropping a.out support

Bradley M Keryan (keryan@andrew.cmu.edu)
Fri, 2 May 1997 11:53:45 -0400 (EDT)


On Fri, 2 May 1997, Nigel Metheringham wrote:

> I may be talking rubbish here (since I know very little about the shared
> library stuff), however would it not be possible to make the kernel's bin
> loader for a.out & elf binaries use different implementations of the run
> time linker so that you have 2 ld.so programs, one for elf the other for
> a.out.

>From a brief, not particularly knowledgeable inspection of fs/binfmt_elf.c
and fs/binfmt_aout.c, it doesn't seem like rubbish. I certainly don't know
how to implement it, but it seems like having a separate interpreter for
a.out programs is possible.

>From looking at fs/binfmt_elf.c, it looks like the kernel handles iBCS2
binaries as a special case, using a separate interpreter. Could the a.out
code be modified to also support a dynamic linker other than ld.so?

>
> Then you can easily and modularly decide which you support on each
> machine, and the 2 can be developed independently
>
> Nigel.

I think that would be the best solution, if the ld.so maintainers want to
drop a.out: use a separate interpreter for a.out binaries.

Anyway, I also think Linux should keep a.out binary compatibility; if you
can run SCO and XENIX binaries on Linux/x86, not to mention the types of
binaries Linux/Alpha and SparcLinux will run, why not old a.out Linux
binaries? Dropping a.out would force many people to dig up source code
(if they have it) and recompile programs that are working just fine.

Brad Keryan
keryan@andrew.cmu.edu
http://www.contrib.andrew.cmu.edu/user/keryan
finger keryan@andrew.cmu.edu for my PGP public key