http://bugs.winehq.org/show_bug.cgi?id=33125
Felix Hädicke felixhaedicke@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |felixhaedicke@web.de
--- Comment #54 from Felix Hädicke felixhaedicke@web.de 2013-04-06 20:47:49 CDT --- For me, The freeze is gone in Wine 1.5.27 (Linux) after compiling with one of the following changes: * revert commit 4adfb787f4e8c36a37ce1d53a7e6df16d03ecd8a * unmodified 1.5.27 sources, but without optimizations: CFLAGS="-O0"
The latter could be an option to try on Mac OS X (I don't have a Mac, so I cannot try it myself), because reverting the commit is useless on Mac OS X. But it is of course not a real solution for this game, because missing optimization leads to a serious performance impact for particularly for DirectX software.
Another attemt was to compile Wine with the reverted commit 4adfb787f4e8c36a37ce1d53a7e6df16d03ecd8a and CFLAGS="-O2 -mstackrealign". I had expected that the deadlock would also occur, because from my understanding the compiler option "-mstackrealign" has the same effect for all functions as the function attribute "force_align_arg_pointer" (which the commit adds for __stdcall / __cdecl functions).
More information about stack alignment issues can be found in Wine Bug 22316 and the following GCC bug entry: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838. But I do not have the knowledge to judge if our bug is caused by a GCC bug or if it is a bug in Wine.