[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [osol-discuss] Re: GNU ld -shared fails to link filtered symbols on

From: James Carlson
Subject: Re: [osol-discuss] Re: GNU ld -shared fails to link filtered symbols on Solaris
Date: Tue, 28 Nov 2006 12:24:32 -0500

Alan Modra writes:
> > The question, I think, is why the ABS state of the symbol *definition* is
> > inherited by the symbol state of the *reference*.  A reference is
> > typically undefined (UNDEF).
> Perhaps because the Sys V ABI says:
>     The symbol has an absolute value that will not change because of
>     relocation.
> >From that wording, I don't think it unreasonable that an ABS symbol
> in a shared lib should serve as directly defining the value of a
> reference outside that lib.  (I don't think it's a particularly good
> or useful way to treat ABS symbols in shared libs, but maybe I just
> haven't thought enough.)

It says "will not change because of relocation."  It doesn't say "will
not ever change for any reason."

What happens if someone recompiles that shared library with a
different value?

Effectively what GNU has (re-)created here is the concept of a static
library, but just for these particular symbols.  Regardless of how
they managed to do that, or what internal problems they have in
unwinding the damage, this looks like a pretty clear-cut bug to me.

James Carlson, KISS Network                    <address@hidden>
Sun Microsystems / 1 Network Drive         71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677

reply via email to

[Prev in Thread] Current Thread [Next in Thread]