Subject: Re: Elf on SPARC?
To: Jason Thorpe <firstname.lastname@example.org>
From: Niklas Hallqvist <email@example.com>
Date: 11/06/1997 14:30:47
> Actually, OLF would _not_ be better. That's pretty much the general
> feeling among binutils people. It's basically gratuitously incompatible
> for relatively little (actually, given current GNU binutils technology,
> none) gain. The main problem it was "designed" to address (lack of OS
> specification in the magic number) has already been solved in a compatible
> way in binutils, and, in fact, NetBSD/alpha already uses this facility.
Actually it's a religous matter and I find it hard to say something is
better or not, it's all personal taste. It all boilt down to: "Is it
a feature or a bug that an ELF binary from an recent OS which is not
compatible with older ones will be gladly accepted as executable on
the older OS?". The OLF designer felt it was a bug, others thought it
was a feature. You see there's nothing stopping an old SVR4 system to
try to load a Linux ELF binary. It will probably coredump very soon
which is a little worse than reporting it was the wrong execution
format. This is the one design difference between OLF and any other
ELF extension meant to solve the problem.
Regarding .note sections vs fixed offset tags that's just
implementation details which doesn't really mean much wrt
functionality. Fixed offset tags are quicker to parse, that's why OLF
did it that way, but .note sections were already supported by binutils
and that's why people chose to use what was already there instead of
adding another tag.
Incidentally SCO & HP seemed to come up with a proposal that was very
much like OLF (i.e. using e_ident instead of a separate section)
but without the magic number change (the change that prevented old ELF
systems to accidentally (i.e. without explicit OLF->ELF conversion)
run newer binaries. I don't know what happened to it though.
The dynamic and stripped tags where put there to make it easy for
file(1) in its present form to figure things out. Nothing prevents
file(1) to be linked with -lelf of course, and then this question is
I never understood the heat in the OLF discussion, and still don't...
In all the messages that passed by very little of technical concern
was ever discussed.
Anyway, this seems to be history now, I just wanted to put some light
on the issues involved.