Re: [PATCH] perf tools: Fix linking errors with --as-needed flag

From: Ozan ÃaÄlayan
Date: Sun Jul 18 2010 - 07:04:42 EST


On 18.07.2010 13:45, Ozan ÃaÄlayan wrote:
> External shared libraries should never be appended to the LDFLAGS as
> this messes the linking order. As EXTLIBS collects those libraries,
> it seems that perl and python libraries should also be appended
> to EXTLIBS.
>
> Also fix the broken linking order.

Hm actually the PERL_EMBED_LDOPTS may contain LDFLAGS and LIBADD according
to distribution's perl package configuration's goodness/badness. On my system
the return value is crap which bloats the linking process:

-rdynamic -Wl,-rpath,/usr/lib/perl5/5.10.1/i686-linux-thread-multi/CORE -fstack-protector -L/usr/local/lib -L/usr/lib/perl5/5.10.1/i686-linux-thread-multi/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc

PYTHON_EMBED_LDOPTS evaluates python-config --ldflags and adds these to
ALL_LDFLAGS. (--libs and --ldflags are synonyms for python-config). According
to python-config this code *never* returns LDFLAGS so it's safe to put them in
EXTLIBS.

So the cure may be more than this patch for perl stuff, but at least it fixes my
linking problems with -Wl, --as-needed.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/