[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: