* 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>
|
2014-04-08 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* cygwin.sc.in: (Temporarily?) workaround serious ld bug which
|
* cygwin.sc.in: (Temporarily?) workaround serious ld bug which
|
||||||
|
|
|
@ -555,7 +555,20 @@ exception::myfault_handle (LPEXCEPTION_POINTERS ep)
|
||||||
_cygtls& me = _my_tls;
|
_cygtls& me = _my_tls;
|
||||||
|
|
||||||
if (me.andreas)
|
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;
|
return EXCEPTION_CONTINUE_SEARCH;
|
||||||
}
|
}
|
||||||
#endif /* __x86_64 */
|
#endif /* __x86_64 */
|
||||||
|
|
Loading…
Reference in New Issue