[oe] Missing GLIBC_<version> tags on binaries

Otavio Salvador otavio at ossystems.com.br
Tue Mar 1 11:47:45 UTC 2011


On Tue, Mar 1, 2011 at 11:35, Phil Blundell <philb at gnu.org> wrote:
> 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:
> 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.

Personally I think we need to trace it down (we as project) since it
can lead to broken and difficult to trace behaviour. It took 3 days
until I managed to identify the symbol failure.

I am far from an expert on linking and GNU ld. For debugging it I'd
need guidance.

> 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.

For now, I did:

+do_configure_prepend() {
+       # workaround gcc linking bug
+       find ${S} -name 'Makefile.am' | xargs -n 1 sed
's,-pthread,-lpthread -D_REENTRANT,g' -i
+}

This fixes the issue for me, but it is clearly a workaround.

-- 
Otavio Salvador                             O.S. Systems
E-mail: otavio at ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br




More information about the Openembedded-devel mailing list