Quoting r. Jeff Squyres <[EMAIL PROTECTED]>: > Subject: Re: Static linking with libibverbs > > On Nov 2, 2006, at 8:13 AM, Michael S. Tsirkin wrote: > > > Quoting r. Jeff Squyres <[EMAIL PROTECTED]>: > >> Yes. See the FAQ items on the OMPI web site from my first mail. > > > > OK, I see. > > So what it boils down to, is linking with > > -Wl,--whole-archive -libverbs <path>/mthca.a -Wl,--no-whole-archive > > Is that right? > > There's a few other details, but this is the Main Point, yes. > > > But -u openib_driver_init will work as well, won't it? > > I'm not entirely sure -- it might (I didn't try it). It *should* > force creation of a valid code path into mthca.a and therefore use it > for all the resolution that is required (i.e., link in all the parts > of mthca.a that are actually required).
Since it worked for linking with static mthca.a and libiverbs.a, I think it will link with -static as well. > What I'm not sure about is whether the symbols that mthca needs from > libibverbs will be linked in properly (since the linker order is left > to right "-libverbs <path>/mthca.a"). I *think* they'll be available > from when mthca.a was originally created (i.e., libibverbs.a was > statically linked into mthca.a), Surely not. mthca.a does not include objects from libibverbs.a > but I don't know if the linker will > be smart enough to realize that there are two copies of some symbols > in libibverbs and further to realize that they are actually > duplicates of the same underlying symbol, and one can be safely > eliminated. It's worth trying (but I don't really care too much :-) ). > > Every time I think I understand linkers, we get weirdo cases like > this that make me remember I have no clue how they work. :-) Note that .a files are not actually created by the linker. -- MST _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
