Subject: Re: ELF and Multiboot questions
To: Max Bell <mbell@europa.com>
From: Erik M. Theisen <etheisen@teclink.net>
List: port-i386
Date: 12/05/1995 16:52:44
> Since a.out came first, I would say it is ELF that is not compatible.

This argument is strictly a matter of symantics.  My statement was excerpted
straight out of the 4.4BSD PRM.  In reference to a.out format/structures it
states:
	"New binary file formats may be supported in the future, and they
	probably will not be compatible at any level with this ancient format."

Yes ELF is not very compatible with a.out.  This is evidenced by my work on
nlist().  Almost every aspect of the format is different.  ELF and company
intentionally are not compatible as a.out is an antique and not expandable to
todays processors.

>Since ELF suffers from the rather severe brain-damage of not providing
>something as basic as a magic number to differentiate between flavors,
>switching to it would be moving backward.

You are correct in that there isn't a magic number to distinguish between OSs. 
This wasn't intended to be 'braindead'.  ELF is a TIS standard and it's purpose
was to allow binary compatiblity between differnt SVR4 vendors (same hardware
platform).  To that end, I don't know if you can classify it as braindead.
With a minor tweak to the spec we could tell that its one of our binaries.

>If I wanted Linux, I'd be running it.

This is absolutly wrong. ELF is not a Linux thing.  It's a UNIX System V Release
4 standard.  I think X/Open is going this way as well.

Several platforms require ELF, a.out simply will not work.  If we intend to
support these platforms from a single toolchain, a common format would be the
easiest.

Our a.out works fine in most cases.  But, it is still a hack.

erik