Transactional memory in MinGW
niXman
i.nixman@gmail.com
Thu Mar 29 22:59:00 GMT 2012
Hello list!
I've built MinGW using gcc-4.7.0-release:
ftp://ftp.gnu.org/gnu/gcc/gcc-4.7.0/gcc-4.7.0.tar.bz2
When trying to compile the code using the Transactional memory, I get
the following message:
> $ g++ tmtest.cpp -otmtest -fgnu-tm
> $ error: libitm.spec: No such file or directory
I've read http://gcc.gnu.org/wiki/TransactionalMemory
But there is no mention of any flags that need to be specified when
configuring GCC.
The first question: is it necessary to specify any flags to activate TM?
The second question: what kind of file 'libitm.spec' is? where can I
get it? what program / script it is created by?
I created a file with such a name in the directory with the code example.
After that, when trying to compile the code, I get the following errors:
> ccQU8ooA.o:tmtest.cpp:(.text+0x85): undefined reference to `__ITM_beginTransaction'
> ccQU8ooA.o:tmtest.cpp:(.text+0x96): undefined reference to `__ITM_commitTransaction'
> ccQU8ooA.o:tmtest.cpp:(.text+0xad): undefined reference to `__ITM_commitTransactionEH'
> ccQU8ooA.o:tmtest.cpp:(.text+0x1a4): undefined reference to `__ITM_RU4'
> ccQU8ooA.o:tmtest.cpp:(.text+0x1b3): undefined reference to `__ITM_WU4'
> ccQU8ooA.o:tmtest.cpp:(.text+0x1bd): undefined reference to `__ITM_RU4'
> ccQU8ooA.o:tmtest.cpp:(.text+0x1cd): undefined reference to `__ITM_cxa_allocate_exception'
> ccQU8ooA.o:tmtest.cpp:(.text+0x1dd): undefined reference to `__ITM_WU4'
> ccQU8ooA.o:tmtest.cpp:(.text+0x1f5): undefined reference to `__ITM_cxa_throw'
> e:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.7.0/../../../../i686-w64-mingw32/bin/ld.exe: ccQU8ooA.o: bad reloc address 0x0 in section `.tm_clone_table'
> collect2.exe: error: ld returned 1 exit status
I googled that the symbols above are implemented in the libitm.
When trying to build it (gccroot/libitm/configure), I get the following error:
> configure: error: Configuration i686-w64-mingw32 is unsupported.
TM is unsupported by MinGW?
Thanks!
--
Regards,
niXman
More information about the Gcc-help
mailing list