On Sat, Oct 29, 2005 at 02:45:51PM +0100, [EMAIL PROTECTED] wrote: > Hi, > > > > If you "simply" use the "-Bsymbolic" flag when building libA, doesn't > > > that solve the problem as well? And in a more portable way, since > > > vrsioned symbols don't exist on "many" platforms? > > > AFAIK, the idea of the flag is that the library doesn't automatically > > > doesn't resolve its symbols against the "global" symbols from the > > > main program or other libs loaded, but only against those libs that > > > it was linked against. > > > > No it doesn't. In fact, -Bsymbolic really should be avoided since > > it opens alot more problems that it solves. > > OK, I'm lost... > What does it actually do? > It sure was the only way to get my PKCS#11 module to actually link against the > MD5 routines in the [static] library it used instead of having it reuse the > (incompatible) symbols with the same name contained in the Nescape/Mozilla > binary. And my conclusion from that observation was that unless you do know > enough details of all the binaries that will ever use your shared object in > advance, you want to link your shared object with -Bsymbolic ...
It changes the order in which the dynamic linker searches for symbols in objects files. It tries to find the symbol in the same object that is trying to use it. Because the lookup order is changed, you can get strange results you didn't expect. The only thing -Bsymbolic can solve is that it would use symbols from it's own object. Kurt ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]