Is there a way to build a non-PIC shared library with l4env?

Adam Lackorzynski adam at
Mon Oct 10 11:19:17 CEST 2011

On Sun Oct 09, 2011 at 03:21:14 +1300, Valery V. Sedletski wrote:
> On Sun, 09 Oct 2011 01:43:32 +1300 (MSD), Valery V. Sedletski wrote:
> >Heh, 'l4env_request_config_u32' was referenced by -ll4rm.p. But I canot remove it, because I need it. -- I use l4rm functions for attaching 
> >dataspaces. So, what could be the solution? Leave -ll4env.p as is? But what to do with main() and crt0.o?
> >
> But l4rm must be a single instance in a single application, so I need to use an l4rm instance from my application, not in a shared lib...
> So, I need somehow to call my application region mapper from the shared lib... But I cannot use the ldso for linkage. So I need to make
> the linkage manually... I see only one solution: to pass the needed l4rm function pointers to the shared lib 'init' function. But maybe,
> the better solution exists? Any ideas?

Sounds hacky but I cannot provide an alternative. I think you lost me a
bit wrt your current setup, so if your solution works for you I'm happy.

Adam                 adam at

More information about the l4-hackers mailing list