All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Rob Wheeler <wheeler@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Creating shared objects for realtime and	non-realtime
Date: Sat, 20 Sep 2008 23:03:56 +0200	[thread overview]
Message-ID: <48D5653C.9030807@domain.hid> (raw)
In-Reply-To: <48D3F920.5080002@domain.hid>

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.


      reply	other threads:[~2008-09-20 21:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-19 19:00 [Xenomai-help] Creating shared objects for realtime and non-realtime Rob Wheeler
2008-09-19 19:10 ` Gilles Chanteperdrix
2008-09-20 21:03   ` Gilles Chanteperdrix [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48D5653C.9030807@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=wheeler@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.