http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56431



--- Comment #3 from Ian Lance Taylor <ian at airs dot com> 2013-02-27 18:49:43 
UTC ---

Object OBJ has a weak reference to SYM.



OBJ is linked against shared library S1.  S1 does not define SYM.



S1 happens to be linked against shared library S2.  S2 does define SYM.



That will work fine: at runtime OBJ will see that SYM is defined, because S1

brings in S2.



Suppose that, later on, S1 is not linked against S2.  That will also work fine:

at runtime OBJ will see that SYM is not defined.



Right now GNU ld is issuing a warning because it sees that the weak reference

from OBJ will be defined at runtime by S2, brought in at runtime because S1 is

linked against S2.  GNU ld is suggesting that OBJ should be linked against S2

directly.  But nothing will go wrong if S1 is changed such that it does not

link against S2.



Therefore, GNU ld's warning is inappropriate.  There is no reason to link OBJ

against S2 in this case.

Reply via email to