RTLD_DEEPBIND

Mike Hearn mike@plan99.net
Tue May 16 12:46:00 GMT 2006


I'm attempting to understand the exact behavior of RTLD_DEEPBIND. It
appears from the description in the man page that this is equivalent to
having the target library linked with -Bsymbolic, in that symbols will be
bound internally first. Is this correct?

I'm looking for a way to open a library such that the symbols of that
library and also the dependency tree below it are placed before global
scope, so that in this case:

 program
   - libfoo.so.1
       - libxxx.so.1
   - dlopen("libbar.so.1")
       - libxxx.so.2

libbar.so.1 will be linked to symbols in libxxx.so.2, not libxxx.so.1

>From the name this is the behavior I'd expect (that is it "binds deeply in
the tree") but it seems that's not actually what is done. Is there a way
to get this effect?

thanks -mike



More information about the Libc-alpha mailing list