On Sep 5, 2012, at 10:21 AM, Samuel Thibault wrote:

> So ltdl does not help for that matter?

No.  It's not really an ltdl issue.  ltdl is just a portable wrapper around 
OS-specific dlopen-like mechanisms.  

Back-end linker semantics (like these) are a whole different issue.

> One way would be to pass to the component a structure with all the
> useful function pointers (using #define to keep the same source code).

We thought about this in OMPI and decided it would be a nightmare in the source 
code.  That being said, we didn't *actually try it*, so I can't say for sure.  
But it certainly does make me nervous.

> Another way would be to gather the allowed functions into a separate
> libhwloc-components library without internal state, thus allowing
> several copies, but that would bring a possibility of differing versions
> between e.g. a statically-linked libhwloc.a and the dynamically-loaded
> libhwloc-components.so.


Yuck.  If a software design *requires* multiple copies of the code, that just 
seems pretty ugly to me.  :-\

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to