http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49230

           Summary: please provide workaround for setjmp/longjmp in
                    mingw32
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: jojel...@gmail.com
              Host: i686-pc-cygwin
            Target: i686-pc-mingw32
             Build: i686-pc-cygwin


in mingw32, there is setjmp/longjmp which its implementation is specific to
msvc.
and, in latest gcc trunk ebp register doesn't have to have its caller's frame
address.(
unfortunately, this could cause mingw32 application which use setjmp/longjmp to
SIGSEGV. because in msvcrt, __NLG_Notify dereferences ebp+8 which is
*(((void*)jmp_buf[0])+2) which msvcrt assumes it's correct address(maybe first
parameter of caller function), and which it assumes is wrong for now.

Reply via email to