[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: a.out vs. ELF
The Executable and Linking Format (ELF) was developed by USL (Unix System Labs) at
one time and has become the standard portable object file format for 32 bit Intel
platforms. The spec, if you want it is available at the Intel web site, I believe.
It does allow dynamic linking of libraries, however I believe COFF did also. Anyway
it's part of the reason the effort to make binaries run on all the X86 unices (linux
included) works.
Robert G. Brown wrote:
> Chris Gidman (cjgidman@am.pnu.com) Wisely arranged bytes to say...
> > ... In the No BS Guide to Linux,
> > Rankin makes a bold statement something like "...if you're
> > downloading binaries, and you have a choice between a.out and ELF
> > formats, choose ELF because it's newer..." That's all he says.
> > That's like saying choose Windows NT because it's new technology.
> > I don't buy it. I want a reason. What is it and why is it
> > better?
> >
> > I suspect that ELF is a format that dynamically links to
> > libraries but a.out compiles everything in. Is that correct?
> Redistributed with permission....
> And the answer....
>
> I've done a liitle research on this, and discovered that ELF is one of a number
> of file structures for executables in various UNIX implementations. Other forms
> are "a.out" form (apparently the oldest and perhaps least flexible), and another
> form called COFF.
>
> ELF appears to be the most recently developed form, and has many features
> required in the use of dynamic load libraries, symbolic linking, and so on.
> >From what I;ve read recently, and recalling from older experience on Solaris,
> "a.out" lent itself mostly to static loading or as input to subsequent linking,
> and COFF was competitive with ELF (for a time), and may still be in heavy use
> on some platforms (for all I know!)...
>
> I share all of this with the group for general background, with Chris to help
> answer his question, and hope that someone who knows more will illuminate all
> of us with something a little clearer.