When compiling a transactional program, the compiler doesn't recognize "__sync_add_and_fetch_8", it shows the following error message :
libitm.so: undefined reference to `__sync_add_and_fetch_8' I suppose that this is an interinsic function and doesn't need a linker, is it a bug ? To configure GCC, I use : ./configure --disable-bootstrap --prefix=GCC_PREFIX_FOLDER --disable-multilib --enable-languages=c,c++ --enable-shared --enable-threads is there any need for a special flag for TM when configuring gcc, or to specify machine architecture ? One note, there was an error when compiling : ../../../gcc_tm_src/gcc_tm/libitm/libitm_i.h:35:19: fatal error: cassert: No such file or directory compilation terminated. make[4]: *** [aatree.lo] Error 1 make[4]: Leaving directory `/media/SHARED/bin/gcc/gcc_tm_build/i686-pc-linux-gnu/libitm' when I replace the line #include <cassert> by #include "assert.h" in "libitm_i.h" it compiles successfully, perhaps this is the problem ! This svn version was the gcc_stm revision: 155942, (2010-01-14) Best regards, -- Riyadh