On Tue, 2011-10-04 at 09:40 +0200, Thomas De Schampheleire wrote: > Hi, > > We're experiencing problems with ELF symbol interposition with xenomai forge. > The symbol mem_alloc, declared in include/copperplate/heapobj.h and > defined in lib/copperplate/heapobj-malloc.c, is also present in our > own executable. When linking our objects with the xenomai-forge > libraries, the symbols from our objects take precedence. > > As a result, when heapobj_alloc() calls mem_alloc(), it calls the > mem_alloc from our application code, which of course is totally > incompatible. > > There isn't really a good solution to this problem. I think it will be > necessary to make sure that all exported functions from the > xenomai-forge libraries have a unique name. The name 'mem_alloc' (and > many of the functions in lib/copperplate/heapobj-malloc.c) is too > common. > > Another solution may be to mark certain symbols as hidden, provided > they do not need to be exported to applications. Some references to it > appear here: > http://www.airs.com/blog/archives/307 > > What is your view on this?
Restricted visibility won't work the way we want, since we have references to these symbols from static inlines callable from application code. We need a rename. > > Thanks, > Thomas > > _______________________________________________ > Xenomai-help mailing list > [email protected] > https://mail.gna.org/listinfo/xenomai-help -- Philippe. _______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
