[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Lua executable compiled with TDM-GCC 4.6.1 has issues
- From: Dimiter 'malkia' Stanev <malkia@...>
- Date: Thu, 29 Sep 2011 18:28:41 -0700
There seems to be new exception handling SJLJ (setjmp, longjmp), but the
old dwarf2 (dw2) exception handling is there (but only for 32-bit)
"SJLJ or DW2?
The MinGW/TDM edition of TDM-GCC additionally offers two different
methods of exception handling for your programs: SJLJ (setjmp/longjmp)
and DW2 (Dwarf-2). As a general rule, you should choose the default SJLJ
packages, unless you know you need faster exception handling and can
guarantee you'll never need to unwind through non-DW2-compiled stack
frames (such as a Windows callback). If you choose the DW2 packages,
consider removing the "-dw2" suffix from the program names. See "SJLJ
unwinding vs. DW2 unwinding" in the README for further notes on this topic.
The MinGW-w64/TDM64 edition currently only supports SJLJ unwinding."
On this page - you can see SJLJ version and DW2 version (32-bit only)
I myself have given up on mingw, and I'm staying with Windows WDK for
now - it's a bit behind certain C++ things, but only two libraries so
far I've been using are C++ and was able to patch them. This way I can
run on systems since Windows 2000 - both 32-bit and 64-bit.
On 9/28/2011 11:36 PM, Lorenzo Donati wrote:
I just updated my GCC installation from TDM-GCC 4.5.2 to 4.6.1 and to
test it I compiled Lua 5.1.4 and 5.2 beta.
The resulting executables cause problems, because whenever an exception
is raised, instead of getting the usual unhandled exception text, I get
a general system error dialog from Windows (WinXP SP2) and the
interpreter crashes (according to the details from that dialog the cause
is in msvcrt.dll).
Anyone has had the same problem?
P.S.: I've not time to investigate it further, so it could be something
from my side - but I followed the same exact steps I used with GCC
4.5.2. For now I switched back to GCC 4.5.2.