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

Reply via email to