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:

http://tdm-gcc.tdragon.net/start

"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)

http://tdm-gcc.tdragon.net/download

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?

Cheers.
-- 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.