Hi Ian, Thanks for sharing! Just found a discussion on GNU ld and gold. http://code.google.com/p/mclinker/wiki/RelatedWork Best Regards, Ly ---------------------------------------- > Date: Fri, 27 Jul 2012 13:10:58 -0700 > Subject: Re: Shared librares dependency at compile time > From: iant@xxxxxxxxxx > To: xmlymt@xxxxxxxxxxx > CC: gcc-help@xxxxxxxxxxx > > On Fri, Jul 27, 2012 at 12:56 PM, LiLy <xmlymt@xxxxxxxxxxx> wrote: > > > > Glad to get your confirmations. Further more, could you please give me some links that introduce ld internals? > > I'm fond of http://www.airs.com/blog/archives/38 and subsequent entries. > > > BTW, I guess gold means google ld. Regarding 1.1), I suppose gold will also work in similar way, since the obj/lib file formats are same. > > gold isn't google ld, it's just gold. it's a new linker that is part > of the GNU binutils. > > There is a key difference between GNU ld and gold in this area. If > you link against liba.so, and liba.so has a DT_NEEDED entry pointing > to libb.so, then GNU ld will attempt to replicate the dynamic linker's > search path and find libb.so. gold will not do that. Because of > that, GNU ld by default will warn about undefined symbols in liba.so, > while gold by default will not. > > It is quite rare for this difference to actually matter. > > Ian