From: Kai T. <kti...@go...> - 2012-02-17 19:48:37
|
2012/2/17 niXman <i.n...@gm...>: > 2012/2/17 Ruben Van Boxem <van...@gm...>: >> 2012/2/17 niXman <i.n...@gm...> >>> >>> 2012/2/17 niXman <i.n...@gm...>: >>> > Hi Ruben! >>> > Thanks for your work. >>> > >>> > For dynamically linking C++11 std::thread, replace this line: >>> >> #if SUPPORTS_WEAK && GTHREAD_USE_WEAK >>> > with this one: >>> >> #if SUPPORTS_WEAK && GTHREAD_USE_WEAK && !defined(__MINGW32__) >>> >>> in gthr-posix.h >>> >>> > >>> > In my builds dynamic linking is used for a long time. >>> > >>> > Possibly, anyone could tell me why this bug isn`t fixed yet? >> >> >> Well, probably because no one (at least not me or Kai) knew about this. I >> presume libstdc++ or gcc/g++ configure is missing this step in the case of >> posix threading on Windows. Kai, could you look into this? Perhaps a similar >> issue could be causing the weird OpenMP crash we don't have a test case for? >> >> I have verified your build works fine indeed. Thanks niXman! Please don't >> leave the people who can actually fix this in the dark. > I was going to fix it by myself and send the patch. But, I could not > figure out at that time, and I postponed it because I wanted to figure > it out by myself =) > > >> Not a lot GCC devs >> care about Windows. I would hazard a guess Kai here writes ~30-50% of the >> Windows GCC patches ;-) >> >> Ruben >> >>> > >>> > >>> > >>> > 2012/2/17 Ruben Van Boxem <van...@gm...>: >>> >> Hi all, >>> >> >>> >> On request of Kai, I built a new MinGW-w64 toolchain including the >>> >> latest >>> >> trunk 4.7 GCC, and mingw-w64 trunk. A lot of work has gone into both >>> >> since >>> >> last time I sent one of these irritating mails no one reads about >>> >> toolchain >>> >> builds no one ever uses ;-) >>> >> >>> >> Nothing really fresh, except that Clang has even more trouble with >>> >> libstdc++ >>> >> (due to the recent GCC atomics support in that library). Cygwin and Mac >>> >> are >>> >> left out, the former due to a binutils bug I didn't bother looking >>> >> into, the >>> >> latter because it is placed after the Cygwin build, and probably >>> >> doesn't >>> >> work anyway in my setup. Sue me, I'm lazy. >>> >> >>> >> As always: if there are any problems, please let me know. Known issues >>> >> include, but are not limited to: >>> >> - OpenMP usage may crash on exit (really need a testcase for this, so >>> >> it >>> >> can be fixed in winpthreads, simple test programs do not reproduce >>> >> this) >>> >> - C++11 std::thread is only usable when linking with -static. >>> >> - probably some other stuff buried deep in my mind where I put it >>> >> months >>> >> ago. >>> >> >>> >> Enjoy, >>> >> >>> >> Ruben >>> >> >>> >> PS: links below (I'm uploading at the time of writing, allow >>> >> sourceforge to >>> >> catch up before you download) >>> >> >>> >> http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/4.7.0-2/ >>> >> >>> >> http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/4.7.0-2/ >>> >> >>> >> http://sourceforge.net/projects/mingw-w64/files/Toolchain%20sources/Personal%20Builds/rubenvb/ >>> >> >>> >> >>> >> ------------------------------------------------------------------------------ >>> >> Virtualization & Cloud Management Using Capacity Planning >>> >> Cloud computing makes use of virtualization - but cloud computing >>> >> also focuses on allowing computing to be delivered as a service. >>> >> http://www.accelacomm.com/jaw/sfnl/114/51521223/ >>> >> _______________________________________________ >>> >> Mingw-w64-public mailing list >>> >> Min...@li... >>> >> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public >>> >> >>> > >>> > >>> > >>> > -- >>> > Regards, niXman. >>> >>> >>> >>> -- >>> Regards, niXman. >>> >>> >>> ------------------------------------------------------------------------------ >>> Virtualization & Cloud Management Using Capacity Planning >>> Cloud computing makes use of virtualization - but cloud computing >>> also focuses on allowing computing to be delivered as a service. >>> http://www.accelacomm.com/jaw/sfnl/114/51521223/ >>> _______________________________________________ >>> Mingw-w64-public mailing list >>> Min...@li... >>> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public >> >> >> >> ------------------------------------------------------------------------------ >> Virtualization & Cloud Management Using Capacity Planning >> Cloud computing makes use of virtualization - but cloud computing >> also focuses on allowing computing to be delivered as a service. >> http://www.accelacomm.com/jaw/sfnl/114/51521223/ >> _______________________________________________ >> Mingw-w64-public mailing list >> Min...@li... >> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public >> > > > > -- > Regards, niXman. Well, to change gas might be a way. But as pointed out on this bug-report, it would have also other consequencies. This hole weak-stuff in binutils (I looked into that already many times now and always found other nits and bits there) is ... well ... "experimental" but not really operable ... So to disable weak (even if configure thinks it might be working) in gthreads seems to me a valid fix for that, too. Kai |