This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/39291] _Unwind_Backtrace fails.



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]