Loading shared objects in an l4env_freebsd application
fm3 at os.inf.tu-dresden.de
Thu Jun 9 15:18:00 CEST 2005
On Thursday 09 June 2005 14:45, Derick Swanepoel wrote:
> On 6/9/05, Frank Mehnert <fm3 at os.inf.tu-dresden.de> wrote:
> > On Thursday 09 June 2005 14:06, Derick Swanepoel wrote:
> > > I need to load shared objects in my application. I've got .so loading
> > > working in a loader-mode app, but my app uses the l4env_freebsd mode
> > > so I cannot link against libloader.s.so. I've tried to link against
> > > libloaderif.a, but the l4loader_attach_relocateable() function is only
> > > available in libloader.s.so.
> > I do not fully understand your problem. Why do you cannot link against
> > the libloaders.s.so when you are using l4env_freebsd_mode?
> The example loader applications use the loader mode, which links the
> application dynamically, and it links against libloader.s.so (it uses
> -lloader.s as a linker argument). When using the l4env_freebsd mode
> the application is linked statically so it wants to link against
> libloader.s.a (which doesn't exist) when using -lloader.s. I see that
> there is a static loader library (libloaderif.a), but it doesn't
> contain the l4loader_attach_relocateable() function which I need.
If you need the libraries of the l4env_freebsd_mode, it should be
possible to add these libraries using the LIBS= parameter. If you
look at the appropriate Makefile you will see, that libloaderif.a
contains only the client stub of the loader IDL and therefore has
nothing to do with the shared library stuff.
The point is that you should start from the loader mode and enhance
this mode for your needs since the loader mode uses a different
startup strategy than the sigma0 mode.
## Dept. of Computer Science, Dresden University of Technology, Germany ##
## http://os.inf.tu-dresden.de/~fm3 ##
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: not available
More information about the l4-hackers