> > > dlopening with RTDL_GLOBAL, where there is an option to > > > dlopen with RTDL_LOCAL. > > > > hmm... how does that behaves when the conflict is two or more libs down the > > chain from the PoV of the stuff being dlopened? > > I have thought that symbols are resolved locally, as to allow > modules to be linked with other libs without affecting the > main application namespace.
Sam pointed out to me that RTDL_GROUP is what I am after, and that is not implemented in Glibc. I have updated libpkg-guide according to what I gathered from this thread. http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html I consider the following portion may be suitable for inclusion in the policy; if it is more precisely worded: If library or application dlopens a module, that module and its chain of dependencies have a chance of being loaded in two versions at the same time. Unless RTDL_GROUP option for dlopen gets implemented and gets used, there are basically two options: * Uniquely name symbols, differently between different SONAMES * Version the symbols using symbol versioning as described in Chapter 14 regards, junichi

