* exceptions.cc (exception::myfault_handle): Only handle the minimum
amount of exceptions the myfault handler was designed for.
This commit is contained in:
parent
236f226893
commit
09a7cdcc4b
|
@ -1,3 +1,8 @@
|
|||
2014-04-09 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* exceptions.cc (exception::myfault_handle): Only handle the minimum
|
||||
amount of exceptions the myfault handler was designed for.
|
||||
|
||||
2014-04-08 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* cygwin.sc.in: (Temporarily?) workaround serious ld bug which
|
||||
|
|
|
@ -555,7 +555,20 @@ exception::myfault_handle (LPEXCEPTION_POINTERS ep)
|
|||
_cygtls& me = _my_tls;
|
||||
|
||||
if (me.andreas)
|
||||
me.andreas->leave (); /* Return from a "san" caught fault */
|
||||
{
|
||||
/* Only handle the minimum amount of exceptions the myfault handler
|
||||
was designed for. */
|
||||
switch (ep->ExceptionRecord->ExceptionCode)
|
||||
{
|
||||
case STATUS_ACCESS_VIOLATION:
|
||||
case STATUS_DATATYPE_MISALIGNMENT:
|
||||
case STATUS_STACK_OVERFLOW:
|
||||
case STATUS_ARRAY_BOUNDS_EXCEEDED:
|
||||
me.andreas->leave (); /* Return from a "san" caught fault */
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return EXCEPTION_CONTINUE_SEARCH;
|
||||
}
|
||||
#endif /* __x86_64 */
|
||||
|
|
Loading…
Reference in New Issue