http://bugs.winehq.org/show_bug.cgi?id=5874
Summary: Programs compiled with MinGW's gcj crash because the stack is not executable Product: Wine Version: CVS Platform: PC URL: http://www.mingw.org/download.shtml OS/Version: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: wine-kernel AssignedTo: wine-bugs@winehq.org ReportedBy: hallo@michael-kaufmann.ch
With Wine 0.9.18 and MinGW's gcj 3.4.5, all compiled programs crash immediately with this message:
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x2bbf64
This is a regression caused by the patch: "Don't require execute permission for thread stacks", http://www.winehq.org/pipermail/wine-cvs/2005-June/016307.html
This bug disappears after reverting the patch. It's quite strange, because my PC can't detect write accesses to non-executable stack pages: The CPU is too old to support that (a Pentium III) and my kernel doesn't contain additional patches like PaX ( http://en.wikipedia.org/wiki/PaX ).
To test this, you may download a test executable compiled with gcj: http://www.michael-kaufmann.ch/Wine/GCJ.zip
To compile a test program with gcj yourself, download these MinGW packages at http://www.mingw.org/download.shtml and extract them in the same directory: gcc-core, gcc-java, binutils, MinGW Runtime. The command line is "gcj --main=Test Test.java -o Test.exe".