[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Incorrect dependency on GLIBC_PRIVATE symbol, who to blame?
From: |
Kent Boortz |
Subject: |
Re: Incorrect dependency on GLIBC_PRIVATE symbol, who to blame? |
Date: |
Tue, 13 Oct 2009 15:50:01 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.1 (darwin) |
Paolo Bonzini <address@hidden> writes:
> On 10/11/2009 11:41 AM, Kent Boortz wrote:
>> (F) The linker, it should know about GLIBC_PRIVATE, and search for
>> non private occurrences first, then if not found do another scan
>> for private ones?
>
> No, GLIBC_PRIVATE is not very different from ABC_XYZ from the linker's
> point-of-view. :-)
Yes, thought so.
>> (A) Red Hat, the "/usr/lib/libunwind.la" should not have ' -lc -lgcc'
>> as a dependency, those are implicit and should never be in a
>> ".la", except maybe when building the compiler/linker itself?
>
> Maybe. Does hacking the libunwind.la fix it?
Yes it did.
>> (C) Intel, SuSE has the exact same content of "libunwind.la", but
>> 'postdeps' contains a "-lm" before "-lc", so should icc/icpc "-v"
>> on Red Hat?
>
> You accidentally a part of the sentence, but anyway I do not think
> sprinkling -lm's is the right solution.
Yes, I feel the same.
>> (G) Linux system devs, for defining that symbols twice?
>
> That's very tricky indeed, but I think that part is fine as long as
> -lc is never given on the command line.
That is part of what I hoped to get an answer to, is it ever right to
list "-lc" and "-lgcc" in the ".la" file 'dependency_libs=...' ?
I would guess you are not supposed to do that, except maybe when
building the compiler/linker itself, libraries "internal" to the
compiler. Maybe the real bug is that there is a "libunwind.la", should
not have been installed? Hmm.... I nevert tried removing it, what
"$CC -v" using icc would list then. But might even require a reinstall
of icc to change the output from "$CC -v".
And if it is ok to have "-lc" and "-lgcc" in 'dependency_libs', should
libtool pick them up an insert them in the middle of a link line?
Maybe it should exclude all libraries "$CC -v" listed when reading
'dependency_libs'?
Thank you for your input!
kent
--
Kent Boortz, Senior Production Engineer
Sun Microsystems Inc., the MySQL team
Office: +46 863 11 363
Mobile: +46 70 279 11 71