------- Comment #8 from pluto at agmk dot net 2009-03-22 15:44 ------- (In reply to comment #7) > haa! i've found the core problem. > on my winxp64 i have DEP (data execution prevention) turned on > for all programs and this is why the testcase (longjmp?) fails. > this looks weird beacuse longjmp on x86-64 with NX-bit enabled > works fine.
please ignore this comment, i've just ran wrong .exe after changing DEP settings :) but i've found new details with testcase reduced to setjmp/longjmp comparing gcc-4.4.0 and gcc-4.3.3(tdm-dragon-build). D:\src\mingw-unwind>u-433-dw2-tdm-dragon.exe longjmp alive! D:\src\mingw-unwind>u-440-dw2.exe longjmp Program received signal SIGSEGV, Segmentation fault. 0x00405460 in fctMsvcrtLongJmp () (gdb) bt #0 0x00405460 in fctMsvcrtLongJmp () #1 0x004017ae in main () at u.c:12 (gdb) disassemble Dump of assembler code for function fctMsvcrtLongJmp: 0x00405460 <fctMsvcrtLongJmp+0>: sbb %bh,-0x44(%esi) 0x00405463 <fctMsvcrtLongJmp+3>: ja 0x405466 <initialized+2> the u-440-dw2.exe doesn't import longjmp symbol from msvcrt.dll while u-433-dw2-tdm-dragon.exe imports longjmp and _setjmp. Kai, could you check mingw-w64-crt? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39291