Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Feb 1996 22:20:11 -0700
From:      Nate Williams <nate@sri.MT.net>
To:        Peter Dufault <dufault@hda.com>
Cc:        nate@sri.MT.net (Nate Williams), hackers@freebsd.org
Subject:   Re: Q: Somebody working on more recent binutils ?
Message-ID:  <199602140520.WAA25320@rocky.sri.MT.net>
In-Reply-To: <199602140209.VAA23082@hda.com>
References:  <199602132328.QAA24481@rocky.sri.MT.net> <199602140209.VAA23082@hda.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Peter Dufault writes:
> > 
> > > I'd like to know if someone is porting gas/ld 2.6 or 2.5.x ?
> > 
> > Gas works already, ld is not going to happen anytime soon, if at all.
> > 
> > > To have a more recent gas/ld than the ones coming with the
> > > distribution is absolutely necessary for running g++ 2.7.2
> > > andd libg++2.7.1 because g++ needs the .weak symbols in 
> > > some circumstances to produce the 'right' code.
> > 
> > Are you absolutely *sure*?  According to recent reports posted to this
> > list (today or yesterday) it isn't necessary.  All that's required is to
> > remove the creation of .weak symbols by gcc2.7.2.
> 
> All I really know so far is that Ptolemy builds and at least some
> demos run without the .weak symbol support.  I was just going to test
> things some more.  I'd sure like the definitive
> answer on .weak symbols and the need in g++.

The funny thing about the weak symbol support is that I remember
bringing in changes were the NetBSD logs purported to support weak
symbols.

revision 1.24
date: 1995/03/04 17:46:05;  author: nate;  state: Exp;  lines: +242 -138
Weak symbol support from NetBSD.  This should bring us in sync with the
NetBSD ld code except for local changes for dlopen() and friends and
the hashing on the minor value of the shlibs.  We should be binary
compatible now with all their libraries.

It may be that the linker is not generating them in a manner that
FreeBSD expects.  Looking at the NetBSD stuff would be a good way to
find out.

> > The version of ld in FreeBSD is a *very* old version (1.X).  It has been
> > *heavily* hacked to support shared libraries.  The current binutils is
> > at version 2, which is *radically* different from version 1, so it's not
> > a simple matter of 'updating' the bits.
> > 
> > There are folks who are good at this who have already looked at the code
> > and went *YUCK*, so I suspect you won't find anyone willing to do the
> > work unless you've got $$ to pony-up for the project.  (And, you still
> > might not find anyone willing.)
> 
> I don't know, Nate.  I think the need to run the new g++ will outweigh
> any "yuckiness" in the job if we really need to hack in .weak support.
> I don't know what a weak symbol is - but it probably isn't that bad
> to hack weak support into our linker if we have to.

Adding weak support is something completely different to updating the ld
souces to the version in the newest binutils.  The former is doable and
less painful, the latter is very painful and I suspect won't be done.



Nate



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