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?

Thanks,
Thomas

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to