http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50895
Nicholas Wourms <nwourms at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nwourms at gmail dot com --- Comment #6 from Nicholas Wourms <nwourms at gmail dot com> 2013-01-03 03:03:13 UTC --- (In reply to comment #4) > A question about this build-failure. Were you using posix-threading model for > 4.6 ? I can't speak for Ruben, but now that thread models have been inextricably entwined into the core compiler, libjava really should be updated to handle mingw64's posix thread support. It shouldn't be too difficult, but does require some unraveling of the various Posix/Win32 native functions. I think the main problem is the lack of any decent signal handling in win32. As such, files such as: libjava/java/lang/natWin32Process.cc libjava/gnu/java/nio/natVMSelectorWin32.cc seem to involve event handling that is linked to Win32 threading model, specifically using the _Jv_Win32GetInterruptEvent() function. It appears that libjava/win32-threads.cc also has some similarities to the underlying pthread_cond* implementation in mingw-w64's pthreads library, so in theory it could just be a matter of porting the interrupt event handlers to posix-threads.cc to provide ifdef'd alternates to the signal handlers. Alternatively, Kai and friends at mingw-w64 could implement improved signal handling in librt, but that may be defeating the purpose of mingw.