Bug#719806: lintian: Change in binutils produce E: library-not-linked-against-libc for C++ compiled with -Wl, --as-needed
On 2013-08-21 10:40, Niels Thykier wrote:
> On 2013-08-15 20:18, Maximiliano Curia wrote:
>> [...]
>>
>> Thanks for the quick reply.
>>
>> The actual quote is:
>> """
>> I think it is quite reasonable. After all, linking without the
>> library in question will succeed, and that will leave undefined weak
>> symbols undecorated.
>> """
>> Available in:
>> http://sourceware.org/ml/binutils/2013-07/msg00001.html
>>
>> Which is referenced in the closing message in #712081.
>>
>> Happy hacking,
>>
>
>
> Mmm, can we presume that these libraries will instead link (directly)
> against the libstdc++ ?
>
> ~Niels
>
>
Jakub Wilk reminded me over IRC that we cannot rely on it in the general
case. However, checking for libstdc++ does reduce the number of
false-positives for many of the libraries I checked. So I applied that
as a partial fix for now.
In other news, while writing a test for this I noticed that if the
library is simple enough then --as-needed causes it to end up with no
dependency information at all[1]. This causes a
shared-lib-without-dependency-information tag. I am guessing this means
we should either reduce the certainty of the tag (perhaps even retire
it, eventually).
~Niels
[1] As an example, try to add -Wl,--as-needed to the g++ line in the
Makefile of the binaries-missing-depends-on-libc test.
Reply to: