diff options
Diffstat (limited to 'src/pal/src/exception/seh-unwind.cpp')
-rw-r--r-- | src/pal/src/exception/seh-unwind.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/pal/src/exception/seh-unwind.cpp b/src/pal/src/exception/seh-unwind.cpp index 181244fb6f..dbe80b12cc 100644 --- a/src/pal/src/exception/seh-unwind.cpp +++ b/src/pal/src/exception/seh-unwind.cpp @@ -85,7 +85,7 @@ static void WinContextToUnwindContext(CONTEXT *winContext, unw_context_t *unwCon #undef ASSIGN_REG } #else -static void UpdateUnwindContextWithWinContext(CONTEXT *winContext, unw_context_t *unwContext) +static void WinContextToUnwindContext(CONTEXT *winContext, unw_context_t *unwContext) { #if defined(_ARM_) // Assuming that unw_set_reg() on cursor will point the cursor to the @@ -245,18 +245,16 @@ BOOL PAL_VirtualUnwind(CONTEXT *context, KNONVOLATILE_CONTEXT_POINTERS *contextP CONTEXTSetPC(context, CONTEXTGetPC(context) + 1); } -#if UNWIND_CONTEXT_IS_UCONTEXT_T - WinContextToUnwindContext(context, &unwContext); -#else +#if !UNWIND_CONTEXT_IS_UCONTEXT_T st = unw_getcontext(&unwContext); if (st < 0) { return FALSE; } - - UpdateUnwindContextWithWinContext(context, &unwContext); #endif + WinContextToUnwindContext(context, &unwContext); + st = unw_init_local(&cursor, &unwContext); if (st < 0) { |