[oe] Missing GLIBC_<version> tags on binaries

Phil Blundell philb at gnu.org
Tue Mar 1 11:35:08 UTC 2011


On Mon, 2011-02-28 at 19:33 +0000, Otavio Salvador wrote:
> On Mon, Feb 28, 2011 at 17:17, Phil Blundell <philb at gnu.org> wrote:
> ...
> > That's definitely not a patch that you ought to check in, though.  For
> > wider consumption I guess there ought to be some kind of knob that
> > DISTROs can tweak to select the linker of their choice.  As far as I
> > know there isn't any such mechanism at present.
> 
> One interesting way to "fix" the issue is to explicitly link against
> -lpthread however it seems *wrong*.
> 
> It seems to be a gcc bug since -pthread is suppose to handle all the
> needed background for it to work and seems to be doing it wrong.

I just tried linking xfreerdp by hand with gold and the resulting binary
seemed to come out fine.  So I think this is indeed a bug in GNU ld.

It does seem to be sensitive to the order in which things are mentioned
in the command line: if you put -lpthread first then GNU ld gets it
right.  But if -lpthread is at the end then it seems to fail to pick up
the versioning information for symbols which are also mentioned (even as
SHT_UNDEF) in other objects.  Clearly that can't be the whole story
though because if it was that simple then it would be failing with
everything.  I guess you need to either debug this further or switch to
using gold for your own builds.

p.






More information about the Openembedded-devel mailing list