From e1d158a04fb1ebce2cc64c317415003b7440ddea Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 7 Jul 2014 19:58:16 +0000 Subject: [PATCH] * exceptions.cc (exception::myfault_handle): Disable handling STATUS_STACK_OVERFLOW. Explain why. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/exceptions.cc | 3 +++ winsup/cygwin/release/1.7.31 | 2 ++ 3 files changed, 10 insertions(+) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 121f3e601..6dede5698 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2014-07-07 Corinna Vinschen + + * exceptions.cc (exception::myfault_handle): Disable handling + STATUS_STACK_OVERFLOW. Explain why. + 2014-07-07 Corinna Vinschen * fhandler_socket.cc (fhandler_socket::send_internal): Improve loop to diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 7e707013e..ebfc97572 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -563,7 +563,10 @@ exception::myfault_handle (LPEXCEPTION_POINTERS ep) { case STATUS_ACCESS_VIOLATION: case STATUS_DATATYPE_MISALIGNMENT: +#if 0 + /* Short-circuting STATUS_STACK_OVERFLOW disables stack commits. */ case STATUS_STACK_OVERFLOW: +#endif case STATUS_ARRAY_BOUNDS_EXCEEDED: me.andreas->leave (); /* Return from a "san" caught fault */ default: diff --git a/winsup/cygwin/release/1.7.31 b/winsup/cygwin/release/1.7.31 index 400216469..cdd1ca458 100644 --- a/winsup/cygwin/release/1.7.31 +++ b/winsup/cygwin/release/1.7.31 @@ -13,3 +13,5 @@ What changed: Bug Fixes --------- +- Don't catch STATUS_STACK_OVERFLOW preliminary on 64 bit. + Fixes: https://cygwin.com/ml/cygwin/2014-07/msg00046.html