Am 2015-06-25 21:49, schrieb Adam Lackorzynski:
Hi,

On Fri Jun 19, 2015 at 16:15:54 +0200, ba_f wrote:
is it possible to dlopen() a shared lib?

Yes.

I'd like to execute a program that is started like this:
"Example: ./gen_random -d .libs/libsim.so"

I know how to start a program with arguments.
But where could i put my shared lib, and which path should i pass to the
executing program?

All files/modules you put in your modiles.list file entry show up under
rom/. So it should be: ./gen_random -d rom/libsim.so



Adam


Ok, thanks Adam.


Yet, i have another (maybe trivial) question.

How do i build a dynamic(!) shared lib for Fiasco, which is loadable with dlopen()?


I tried to add the -fPIC flag in the lib Makefile, but it didn't work out.


[Makefile]

CPPFLAGS += -fPIC
LOADABLE_MODULE=1

include $(L4DIR)/mk/lib.mk
[/Makefile]


[c]
  dl = dlopen(rom/lib.so, RTLD_NOW);
    if (dl == NULL){
      fprintf(stderr, "dlopen failed: %s\n", dlerror());
[/c]

Output is: dlopen failed: (null)

I can assure that dlopen() finds the lib.so, because dlerror() gives an other output when using a different name (e.g. dlopen(rom/crap.so) ).




Greetings,

ba_f

_______________________________________________
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers

Reply via email to