diff options
author | chunseoklee <chunseoklee@naver.com> | 2016-07-13 06:28:26 +0900 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2016-07-12 23:28:26 +0200 |
commit | adb2188ed70751f70a1b9e06aa497bc027cdf8a8 (patch) | |
tree | 6d38b1d46f3a21b56643f634cfd2f66ff1f7c197 /src | |
parent | 39703ca1b330bd3857d351fc5e69fe90c01c9901 (diff) | |
download | coreclr-adb2188ed70751f70a1b9e06aa497bc027cdf8a8.tar.gz coreclr-adb2188ed70751f70a1b9e06aa497bc027cdf8a8.tar.bz2 coreclr-adb2188ed70751f70a1b9e06aa497bc027cdf8a8.zip |
active exception regression fix (#6117)
This patch fixes regression caused by 597e160 commit.
Previous PAL_VirtualUnwind does not set CONTEXT_UNWOUND_TO_CALL
properly. In this patch, the flag is added for non-signaled exception.
Diffstat (limited to 'src')
-rw-r--r-- | src/pal/src/exception/seh-unwind.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/pal/src/exception/seh-unwind.cpp b/src/pal/src/exception/seh-unwind.cpp index 763306b15d..c8710de1da 100644 --- a/src/pal/src/exception/seh-unwind.cpp +++ b/src/pal/src/exception/seh-unwind.cpp @@ -289,10 +289,16 @@ BOOL PAL_VirtualUnwind(CONTEXT *context, KNONVOLATILE_CONTEXT_POINTERS *contextP if (unw_is_signal_frame(&cursor) > 0) { context->ContextFlags |= CONTEXT_EXCEPTION_ACTIVE; +#if defined(_ARM_) || defined(_ARM64_) + context->ContextFlags &= ~CONTEXT_UNWOUND_TO_CALL; +#endif // _ARM_ || _ARM64_ } else { context->ContextFlags &= ~CONTEXT_EXCEPTION_ACTIVE; +#if defined(_ARM_) || defined(_ARM64_) + context->ContextFlags |= CONTEXT_UNWOUND_TO_CALL; +#endif // _ARM_ || _ARM64_ } // Update the passed in windows context to reflect the unwind |