Hi,
Objdump gives me the following, but i guess that comes from MODE=shared:
NEEDED libc_be_sig.so NEEDED libpthread.so NEEDED libld-l4.so NEEDED libdl.so NEEDED libc_support_misc.so NEEDED libc_be_socket_noop.so NEEDED lib4re-util.so NEEDED libc_be_l4refile.so NEEDED libc_be_l4re.so NEEDED libsupc++.so NEEDED libuc_c.so NEEDED lib4re.so NEEDED libl4util.so NEEDED libl4sys.so
There are static library equivalents for all those. Sounds like setting the proper REQUIRES_LIBS in your Makefile should do the trick.
What error are you getting if you remove MODE=shared?
There are Library dependencies missing: libld-l4 lib4re-util libuc_c lib4re libl4util libl4sys.
Although, the .a files exist.
Nevertheless, i can't find any .pc file in obj/pc/ for this libs; opposite to the other REQUIRED_LIBS that the make-process does find. I don't know, why .pc files haven't been built.
Btw, i had to build libld-l4.a. By default, it only sets TARGET=libld-l4.so
LD_DEBUG is an environment variable, so specifying it at compile time in the Makefile is not useful. Instead, add it as an environment variable to your setup:
L4.default_loader.start( { caps ...}, "rom/myProgram", { LD_DEBUG=all } };
Again, I would go for the static linking route.
Have you tried this before? I don't get any output from LD_DEBUG.
Thanks again, ba_f