*BSD News Article 63703


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.cs.su.oz.au!metro!metro!wabbit.its.uow.edu.au!news.ci.com.au!newshost.telstra.net!act.news.telstra.net!psgrain!news.uoregon.edu!news.emf.net!gatech!newsfeed.internetmci.com!in2.uu.net!news.accessone.com!not-for-mail
From: jdp@polstra.com (John Polstra)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: FreeBSD ELF support
Date: 15 Mar 1996 15:00:41 -0800
Organization: Polstra & Co., Seattle, WA
Lines: 76
Message-ID: <4icsqp$2fu@austin.polstra.com>
References: <4i9gov$42s@usenet.rpi.edu>
NNTP-Posting-Host: austin.polstra.com

In article <4i9gov$42s@usenet.rpi.edu>,
David E. Cross <dec@phoenix.its.rpi.edu> wrote:
> I know I am going to get flamed for this, but oh well....

I'll try not to :-).

> Would someone PLEASE tell me what the big deal is over ELF.  Is
> the entire PC UNIX world TRYING to drive me to NT???  The Linux
> ELF thing was the thing that FINALLY brought me over to FreeBSD (I
> have wanted to for a while but the issues of porting made me hold
> back.  Until ELF came along, and nothing worked anymore anyway).

OK, first, calm down, have a seat, take a deep breath, and another.
Drink this.  Better now?  Good.

FreeBSD is not going to switch to ELF any time soon.  There are no plans
in place for such a switch, to the best of my knowledge.  You don't need
to be alarmed about it.  There's nothing sinister going on.

Some of us are working on providing ELF language tools and ELF kernel
support for FreeBSD.  Our reasons vary, I'm sure.  Among them are:

    * We think that implementing ELF support is an interesting project.
    * We want to be able to run arbitrary Linux executables.
    * We want to be able to run arbitrary SVR4 executables.
    * We want to be able to run arbitrary Solaris x86 executables.
    * We want better shared library support.
    * We want to use the newest versions of the GNU tools, whose
      FreeBSD/a.out support is either nonexistent or nonfunctional.
    * We want better support for C++ (e.g., gcc-2.7.2, weak symbols).
    * We think people will want to be our friends if we give them ELF :-).

and finally, yes, for some of us,

    * We want to demonstrate the feasibility of FreeBSD/ELF, and hope
      that someday ELF will become the standard object file format for
      FreeBSD.  And we recognize that such a change will never happen
      unless and until we can show its advantages.

> What are the advantages of ELF.

To me, the main advantage of ELF is that it is now the mainstream object
file format in the Unix world.  What does that mean?  It means:

    * New versions of gcc, binutils, etc., will have solid, up-to-date
      ELF support.  This is _not_ the case for a.out, which is one
      reason we're still using such old versions of our compiler,
      assembler, and linker.

    * Problems that cripple ELF systems will get fixed sooner than
      problems that cripple a.out systems.

    * Products that are released in binary-only form are more
      likely to have ELF versions than a.out versions.

Secondary, but also important, are the technical advantages of ELF.
These include the ability to have an arbitrary number of sections (not
just text, data, and bss as in a.out), which makes for cleaner support
for C++ static constructors/destructors and other modern language
features.  Also, ELF supports weak symbols, which are increasingly
utilized by modern compilers.

> (Convince me, why should I go through either the headache of
> converting everything to ELF, or having two copies of most of the
> libraries)

_If_ FreeBSD ever switches to ELF, I would like to think that we'd come
up with a less disruptive way to go about it than what the Linux people
managed.

I hope all of this gives you a glimpse of a different perspective
on the matter.
-- 
   John Polstra                                       jdp@polstra.com
   John D. Polstra & Co., Inc.                Seattle, Washington USA
   "Self-knowledge is always bad news."                 -- John Barth