Gilles Chanteperdrix wrote:
> Rob Wheeler wrote:
>> I'm working on a large system that consists of several shared objects
>> that get linked together into an executable.  In one instance, I link
>> these shared objects together with a realtime control loop to create
>> an executable that runs on my target hardware platform.  In another
>> instance, I want to link these shared objects into an executable that
>> runs under simulation on a non-realtime platform.  I'm using posix
>> APIs throughout the shared objects for threading and mutex operations.
>>  I'd like to create a single instance of each of these shared objects
>> and do the Xenomai "skin wrapping" at the final link step, but it
>> seems that instead I need to create a realtime and non-realtime
>> version of each shared object and link against the correct ones during
>> the final link step.  Has someone else faced this issue before?
> 
> The first approach should work, what goes wrong when you try ?

Looks like I misunderstood what you are doing. When creating a shared
object, a link-edit stage happens, and if you want the resulting shared
object to use xenomai posix skin services, you have to pass the --wrap
flags.

Now, I do not really understand what you are doing, when you say
"several shared objects get linked together into an executable". What is
the result, a single executable ? Or the executable and a set of shared
objects ? Because if the result is a single executable, you can use
static libraries (i.e. ar archives) instead of shared objects, and in
this case you are able to pass the --wrap flags only for the final
linking stage.

Otherwise, if you want something completely dynamic, you may resort to
dlopen and dlsym...

-- 
                                            Gilles.

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

Reply via email to