All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Xenomai] [Xenomai-git] Jan Kiszka : boilerplate: Allow for enabling Xenomai only in shared libs
       [not found] <E1aXuTj-0000rZ-UQ@sd-51317.xenomai.org>
@ 2016-02-22 17:44 ` Gilles Chanteperdrix
  2016-02-22 17:56   ` Jan Kiszka
  0 siblings, 1 reply; 4+ messages in thread
From: Gilles Chanteperdrix @ 2016-02-22 17:44 UTC (permalink / raw)
  To: xenomai; +Cc: xenomai-git

On Mon, Feb 22, 2016 at 06:40:59PM +0100, git repository hosting wrote:
> Module: xenomai-jki
> Branch: for-forge
> Commit: 4601286f7fedb8267ea314584fc68d2b35b818a4
> URL:    http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=4601286f7fedb8267ea314584fc68d2b35b818a4
> 
> Author: Jan Kiszka <jan.kiszka@siemens.com>
> Date:   Fri Feb  5 17:33:18 2016 +0100
> 
> boilerplate: Allow for enabling Xenomai only in shared libs
> 
> Normally, one builds shared libraries with Xenomai awareness by adding
> --no-auto-init to xeno-config. This drops bootstrap.o from the linking
> steps because - normally - the main application performs the
> initialization.
> 
> However, if the main application is Xenomai-free and only dlopen() would
> pull in Xenomai services via a shared library, we face two problems:
> 
> - bootstrap.o is not built with position-independence support
> 
> - libboilerplate contains __real_main that expects the main symbol which
>   cannot be found from a shared library

Does not the library find the program symbols if RTLD_GLOBAL is
passed to dlopen?

-- 
					    Gilles.
https://click-hack.org


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xenomai] [Xenomai-git] Jan Kiszka : boilerplate: Allow for enabling Xenomai only in shared libs
  2016-02-22 17:44 ` [Xenomai] [Xenomai-git] Jan Kiszka : boilerplate: Allow for enabling Xenomai only in shared libs Gilles Chanteperdrix
@ 2016-02-22 17:56   ` Jan Kiszka
  0 siblings, 0 replies; 4+ messages in thread
From: Jan Kiszka @ 2016-02-22 17:56 UTC (permalink / raw)
  To: Gilles Chanteperdrix, xenomai

[please CC me on replies, I've delivery turned off for all lists]

On 2016-02-22 18:44, Gilles Chanteperdrix wrote:
> On Mon, Feb 22, 2016 at 06:40:59PM +0100, git repository hosting wrote:
>> Module: xenomai-jki
>> Branch: for-forge
>> Commit: 4601286f7fedb8267ea314584fc68d2b35b818a4
>> URL:    http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=4601286f7fedb8267ea314584fc68d2b35b818a4
>>
>> Author: Jan Kiszka <jan.kiszka@siemens.com>
>> Date:   Fri Feb  5 17:33:18 2016 +0100
>>
>> boilerplate: Allow for enabling Xenomai only in shared libs
>>
>> Normally, one builds shared libraries with Xenomai awareness by adding
>> --no-auto-init to xeno-config. This drops bootstrap.o from the linking
>> steps because - normally - the main application performs the
>> initialization.
>>
>> However, if the main application is Xenomai-free and only dlopen() would
>> pull in Xenomai services via a shared library, we face two problems:
>>
>> - bootstrap.o is not built with position-independence support
>>
>> - libboilerplate contains __real_main that expects the main symbol which
>>   cannot be found from a shared library
> 
> Does not the library find the program symbols if RTLD_GLOBAL is
> passed to dlopen?

Nope, just retried, didn't help. In fact, RTLD_GLOBAL affects only the
opened library's symbols, not the pre-existing ones. I think it is
simply not possible with dlopen to refer back to a symbol from the code
that loads the library.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xenomai] [Xenomai-git] Jan Kiszka : boilerplate: Allow for enabling Xenomai only in shared libs
       [not found] <E1aybuF-000446-5i@sd-51317.xenomai.org>
@ 2016-05-06  9:22 ` Gilles Chanteperdrix
  2016-05-09  8:56   ` Jan Kiszka
  0 siblings, 1 reply; 4+ messages in thread
From: Gilles Chanteperdrix @ 2016-05-06  9:22 UTC (permalink / raw)
  To: xenomai; +Cc: xenomai-git

On Fri, May 06, 2016 at 11:18:43AM +0200, git repository hosting wrote:
> diff --git a/lib/boilerplate/init/Makefile.am b/lib/boilerplate/init/Makefile.am
> index 7a58f54..8c09e28 100644
> --- a/lib/boilerplate/init/Makefile.am
> +++ b/lib/boilerplate/init/Makefile.am
> @@ -4,6 +4,7 @@ libbootstrap_a_SOURCES = bootstrap.c
>  
>  libbootstrap_a_CPPFLAGS =		\
>  	@XENO_USER_CFLAGS@		\
> +	-fPIC				\
>  	-I$(top_srcdir)/include		\
>  	-I$(top_srcdir)/lib

This is not how this should be done.

-- 
					    Gilles.
https://click-hack.org


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xenomai] [Xenomai-git] Jan Kiszka : boilerplate: Allow for enabling Xenomai only in shared libs
  2016-05-06  9:22 ` Gilles Chanteperdrix
@ 2016-05-09  8:56   ` Jan Kiszka
  0 siblings, 0 replies; 4+ messages in thread
From: Jan Kiszka @ 2016-05-09  8:56 UTC (permalink / raw)
  To: Gilles Chanteperdrix, xenomai, Philippe Gerum

On 2016-05-06 11:22, Gilles Chanteperdrix wrote:
> On Fri, May 06, 2016 at 11:18:43AM +0200, git repository hosting wrote:
>> diff --git a/lib/boilerplate/init/Makefile.am b/lib/boilerplate/init/Makefile.am
>> index 7a58f54..8c09e28 100644
>> --- a/lib/boilerplate/init/Makefile.am
>> +++ b/lib/boilerplate/init/Makefile.am
>> @@ -4,6 +4,7 @@ libbootstrap_a_SOURCES = bootstrap.c
>>  
>>  libbootstrap_a_CPPFLAGS =		\
>>  	@XENO_USER_CFLAGS@		\
>> +	-fPIC				\
>>  	-I$(top_srcdir)/include		\
>>  	-I$(top_srcdir)/lib
> 
> This is not how this should be done.
> 

The patch was just still in my queue when I rebased, as reminder of the
unsolved issue. Now I remember that Philippe and I discussed this a
while back and he had some ideas. They are probably still on the stack
of to-dos.

I'll move this to the top and keep it local - as reminder.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-05-09  8:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1aXuTj-0000rZ-UQ@sd-51317.xenomai.org>
2016-02-22 17:44 ` [Xenomai] [Xenomai-git] Jan Kiszka : boilerplate: Allow for enabling Xenomai only in shared libs Gilles Chanteperdrix
2016-02-22 17:56   ` Jan Kiszka
     [not found] <E1aybuF-000446-5i@sd-51317.xenomai.org>
2016-05-06  9:22 ` Gilles Chanteperdrix
2016-05-09  8:56   ` Jan Kiszka

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.