lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

There seems to be new exception handling SJLJ (setjmp, longjmp), but the old dwarf2 (dw2) exception handling is there (but only for 32-bit)

some info:

"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:
Hi all!

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?

-- Lorenzo

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.