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

Reply via email to