This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Transactional memory in MinGW
2012/3/30 Ian Lance Taylor:
> libitm is not yet supported on MinGW. ÂIt is only supported on POSIX
> systems at present.
My host compiler:
> $ g++ -v
> Using built-in specs.
> COLLECT_GCC=e:\mingw32\bin\g++.exe
> COLLECT_LTO_WRAPPER=e:/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.7.0/lto-wrapper.exe
> Target: i686-w64-mingw32
> Configured with: ../../mingw-src/gcc-4.7.0/configure --host=i686-w64-mingw32
> --build=i686-w64-mingw32 --target=i686-w64-mingw32 --enable-targets=all
> --enable-multilib --prefix=/./mingw-x32 --with-sysroot=/./mingw-x32
> --with-tune=generic --enable-languages=c,c++,lto,fortran
> --enable-libstdcxx-time=yes --with-host-libstdcxx='-static -lstdc++'
> --enable-shared --enable-static --enable-threads=posix --enable-libgomp
> --enable-lto --enable-graphite --enable-cloog-backend=isl
> --enable-checking=release --enable-fully-dynamic-string
> --enable-version-specific-runtime-libs --enable-sjlj-exceptions
> --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-debug
> --disable-bootstrap --disable-rpath --disable-win32-registry --disable-nls
> --disable-werror --disable-symvers --with-libiconv --with-gmp=/./mingw-libs-x32
> --with-mpfr=/./mingw-libs-x32 --with-mpc=/./mingw-libs-x32
> --with-ppl=/./mingw-libs-x32 --with-cloog=/./mingw-libs-x32 CFLAGS='-O3 -pipe
> -fomit-frame-pointer -momit-leaf-frame-pointer -I/./mingw-libs-x32/include'
> CXXFLAGS='-O3 -pipe -fomit-frame-pointer -momit-leaf-frame-pointer' CPPFLAGS=
> LDFLAGS='-pipe -s -L/./mingw-libs-x32/lib'
> Thread model: posix
> gcc version 4.7.0
This means POSIX system?
Moreover, if I replace line 134 in file gccroot/libitm/configure.tgt [1] from:
> | *-*-darwin* | *-*-aix*)
to:
> | *-*-darwin* | *-*-aix* | *-w64-mingw32)
libitm configures and builds well. And the code that uses
Transactional Memory, also is compiled and linked successfully.
But when running, occurs segmentation fault.
I created the bug-report: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52787
I think there is still hope to make Transactional Memory work in MinGW.
[1] http://gcc.gnu.org/viewcvs/trunk/libitm/configure.tgt?view=markup
--
Regards,
 niXman