I pulled down revisions 56 of l4re per the l4re download instructions on an x86 platform running Ubuntu 13.04. I'm cross compiling for an ARM 8 Beaglebone platform. I created a set of tool links pointing to gcc, g++, ar, ld, etc. from the current Genode toolchain. I then followed the l4 build instructions. The build proceeded normally until is started to link in libc static libraries at which point the following errors killed the build: ... make[5]: Entering directory `/home/bob/fiasco/builds/l4/pkg/loader/server/src/OBJ-arm_armv7a-l4f' ... Compiling main.o ... Compiling slab_alloc.o ... Compiling region.o ... Compiling app_task.o ... Compiling name_space.o ... Compiling log.o ... Compiling global.o ... Compiling sched_proxy.o ... Compiling alloc.o ==> Linking loader /home/bob/fiasco/builds/l4/lib/arm_armv7a/l4f/libuc_c.a(__exit_handler.o): In function `__new_exitfn': /home/bob/fiasco/builds/l4/pkg/uclibc/lib/uclibc/src/libc/stdlib/_atexit.c:259: undefined reference to `__emutls_v.__libc_errno' /home/bob/fiasco/builds/l4/lib/arm_armv7a/l4f/libuc_c.a(malloc.o): In function `malloc': /home/bob/fiasco/builds/l4/pkg/uclibc/lib/uclibc/src/libc/stdlib/malloc-standard/malloc.c:1018: undefined reference to `__emutls_v.__libc_errno' /home/bob/fiasco/builds/l4/lib/arm_armv7a/l4f/libuc_c.a(fwrite.__DO_UNLOCKED.o): In function `fwrite_unlocked': /home/bob/fiasco/builds/l4/pkg/uclibc/lib/uclibc/src/libc/stdio/fwrite.c:36: undefined reference to `__emutls_v.__libc_errno' /home/bob/fiasco/builds/l4/lib/arm_armv7a/l4f/libuc_c.a(__errno_location.o): In function `__errno_location': /home/bob/fiasco/builds/l4/pkg/uclibc/lib/uclibc/src/libc/misc/internals/__errno_location.c:16: undefined reference to `__emutls_v.__libc_errno' /home/bob/fiasco/builds/l4/pkg/uclibc/lib/uclibc/src/libc/misc/internals/__errno_location.c:16: undefined reference to `__emutls_v.__libc_errno' /home/bob/fiasco/builds/l4/lib/arm_armv7a/l4f/libuc_c.a(_trans2w.o):/home/bob/fiasco/builds/l4/pkg/uclibc/lib/uclibc/src/libc/stdio/_trans2w.c:67: more undefined references to `__emutls_v.__libc_errno' follow make[5]: *** [loader] Error 1
Is there some undocumented compiler flag related to TLS I should be setting somewhere to fix these library references?
Thanks you Bob Stewart