Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Mar 1996 20:19:50 -0800
From:      John Polstra <jdp@polstra.com>
To:        andreas@knobel.GUN.de
Cc:        freebsd-current@freebsd.org
Subject:   Re: Elfkit-1.0.1 announcement
Message-ID:  <199603150419.UAA24182@austin.polstra.com>
In-Reply-To: <Pine.BSF.3.91.960314222128.2003A-100000@knobel.gun.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Andreas Klemm wrote:

> I tried to build up elfkit but had big trouble to compile the
> patched libc (2.1.0).

If you're not running 2.1.0, then your include files are, of course,
wrong for the 2.1.0 library that elfkit uses.  You can solve that
problem by putting the 2.1.0 /usr/include tree into
/usr/local/elf/i386-unknown-freebsdelf/include, instead of creating
a symbolic link to the system's include files.  I've updated the
installation instructions for the next release of elfkit, to explain
that.

> Are there any newer patches available?  Best would be, if one could
> use -current's libc, then the header files certainly would fit
> better ...

Yes, that's the plan, don't worry.  We will be tracking -current soon.
In fact, I want to merge the ELF changes into -current, so that one set
of sources can be used for both a.out and ELF.  The existing patches in
elfkit-1.0.1 are quite close to that goal already; there's just a little
more work to do.

Here is why I decided to use the 2.1.0 libc initially:

    1.  I wanted to distribute the library as a set of patches, so I
        needed a stable, widely-available base.  -Current changes constantly,
	so it really can't be used as a basis for patches.

    2.  During initial development of the ELF version of the library,
        I didn't want to waste a lot of time keeping up with changes in
	-current.

    3.  At that time, I didn't have a machine running -current.  (Now I
        do.)

The situation is different now, so I will start tracking -current
soon in elfkit.

> BTW, what about switching totally to elf ?! Then such a hack wouldn't
> be necessary in the future.

Sssssh!  Not so loud!  You might freak a bunch of people out!

I think we are going to have to switch completely to ELF at some
point.  The alternative is to become ... irrelevant.  Our language
tools are currently way behind the curve.  Ld has design flaws in
its handling of shared libraries, "as" lacks weak symbol support,
and our compiler dates back to December, 1994.  (That's OK for C,
but it loses in a major way for C++.)  Try to build the most recent
version of binutils or gcc, and you'll find that they don't build or
don't work under FreeBSD.  Why is that?  It's because fewer and
fewer developers are interested in a.out any more.  Nobody cares enough
to keep it supported.

> I think ELF is currently _the_ standard.

Yep.  The adaptations to binutils-2.6 and gcc-2.7.2 that I had to make
for elfkit were almost trivial.  By contrast, I spent days on end trying
to make binutils-2.6 support FreeBSD/a.out before putting it aside in
frustration.

There is a lot of opposition to the idea of switching to ELF in the
FreeBSD camp.  Much of it is well-founded.  Such a switch would cause
big-time disruption for a while.  Those of us who would like the change
to happen can't expect to get agreement by simply saying, "We should
switch to ELF."  That's not reasonable.  Instead, we must _make ELF work_,
and let its advantages speak for themselves.  That's why I'm working on
elfkit, and why others such as Søren and Peter are working on kernel
support.  (Well, OK, it's fun, too :-)

Stay tuned,
John
--
   John Polstra                                       jdp@polstra.com
   John D. Polstra & Co., Inc.                Seattle, Washington USA
   "Self-knowledge is always bad news."                 -- John Barth



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199603150419.UAA24182>