Tiago Jorge wrote:
Well, you could try to "port" all the dietlibc backends to be used with another libc, *maybe* a recompile with the other libc is sufficient (currently they are all compiled with against the dietlibc).
Hello... Following your advice, i think i'm gonna lose two or three days trying to port the dietlibc backends. I went to the dir l4/pkg/l4vfs/lib/libc_backends/ and tried to recompile it with the l4env_freebsd mode. It all went well with file_table and select. In file_table and select i've changed the Makefile to l4env_freebsd and changed these line to: CFLAGS = -ffunction-sections -I/home/tiago/l4/include.
First thing: i'm don't no if i'm doing this right and what do you mean when you say "port" to another libc, because i don't know what are the specific parts that use the dielibc.
Well, by "port" I mean fixing problems like the ones below ... There should not be much dietlibc specific stuff, but constants like O_RDONLY make trouble sometimes as they should be the same everywhere (clients and servers) and oskit has an own idea about this sometimes ...
if you could give me some guidelines, i would be very thankfull.
Please do not expect to much here as this is currently no main project here.
Basically you should check all the libs in l4vfs and libc_backends_l4vfs.
In the other hand, when i try to do similar procedure in io and socket_io it gives me some problems, for example, when i add the l4env_freebsd mode and the path to libgen.h it give me the following:
... Compiling operations.o LD_PRELOAD=/home/tiago/l4/tool/gendep/libgendep.so GENDEP_TARGET=operations.o GENDEP_BINARY=cc1 gcc -c -DRAM_BASE=0x0 -DSYSTEM_x86_586_l4v2 -DARCH_x86 -DCPUTYPE_586 -DL4API_l4v2 -I../../../../idl/OBJ-x86-l4v2 -I../../../../../../include/x86/l4v2 -I/home/tiago/drops/include/x86/l4v2 -I../../../../../../include/l4v2 -I/home/tiago/drops/include/l4v2 -I../../../../../../include/x86 -I/home/tiago/drops/include/x86 -I../../../../../../include -I/home/tiago/drops/include -nostdinc -DOSKIT -I../../../../../../../oskit10/freebsd/libc/include -I../../../../../../../oskit10/freebsd/3.x/src/include -I../../../../../../../oskit10/freebsd/3.x/src/sys -I../../../../../../../oskit10 -I../../../../../../include/c++/3.3 -I../../../../../../include/c++/3.3/drops -I/home/tiago/drops/include/oskit10 -I/home/tiago/drops/include/oskit10/oskit/freebsd -I/home/tiago/drops/include/c++/3.3 -I/home/tiago/drops/include/c++/3.3/drops -I/usr/lib/gcc-lib/i486-linux/3.3.4/include -ffunction-sections -I../../../../../../include/dietlibc -gstabs+ -g -O2
Looks like you mixed oskit and dietlibc headers, probably not such a good idea. Stick to one libc or "know what you are doing".
Greets, Martin