hello,
i want to profile an application that uses jolt (like
/function/examples/libjolt/) with a tool like valgrind. unfortunately,
when profiling starts the app segfaults during gc initialization. this
is why i want to disable the garbage collection used by jolt.
i tried the whole day to disable the garbage collection that jolt uses,
without success. there are some defines you can set to enable/disable
garbage collection (USE_GC, NO_GC, EMBEDDED). this can be done directly
in the sourcecode or in the Makefiles. i think editing the makefiles
does not make sense because they are generated/overriden during the
build process (i also tried this approach but had no success either).
however, changes in /object/boot/configure are not overriden during the
build. and this file seems to be used to generate the makefiles. so i
decided to edit this before calling make. i added the flags/defines
-DEMBEDDED -DNO_GC to the CFLAGS variable and started make.
unfortunately this does not work: it causes the generation of an idc1
file (used for building) that segfaults when it's executed (segfault
when calling GC_malloc). perhaps you cannot disable the garbage
collection of jolt completely?
however, i need compile the files in /function/examples/libjolt/ with
garbage collection disabled in order to be able to profile. for this i
need libid.o (and other .o) files compiled with -DNO_GC -DEMBEDDED,
because (if you look into the sourcecode of libid.c) with these defines
the whole GC_* api is not used.
i do not understand the complex build process of jolt. what else could i
try? why can't i build everything when i adjust the
/object/boot/configure file? is there another (better?) way do disable
the garbage collection? or is there another way to profile my
application that uses jolt?
regards,
ingo
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc