[PATCH 2/2] ntdll: Fix nested exceptions on arm64
Martin Storsjo
martin at martin.st
Tue Oct 6 03:49:43 CDT 2020
This mirrors ae07938ba661dc0515673835878710a25c99eec8 (from x86_64)
to arm64.
Signed-off-by: Martin Storsjo <martin at martin.st>
---
With this in place, all tests from
https://github.com/microsoft/compiler-tests/tree/master/seh
pass on arm64.
---
dlls/ntdll/signal_arm64.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c
index cc620eb1b46..c31eb510382 100644
--- a/dlls/ntdll/signal_arm64.c
+++ b/dlls/ntdll/signal_arm64.c
@@ -315,10 +315,10 @@ static DWORD call_teb_unwind_handler( EXCEPTION_RECORD *rec, DISPATCHER_CONTEXT
static DWORD __cdecl nested_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECORD *frame,
CONTEXT *context, EXCEPTION_REGISTRATION_RECORD **dispatcher )
{
- if (rec->ExceptionFlags & (EH_UNWINDING | EH_EXIT_UNWIND)) return ExceptionContinueSearch;
+ if (!(rec->ExceptionFlags & (EH_UNWINDING | EH_EXIT_UNWIND)))
+ rec->ExceptionFlags |= EH_NESTED_CALL;
- /* FIXME */
- return ExceptionNestedException;
+ return ExceptionContinueSearch;
}
--
2.17.1
More information about the wine-devel
mailing list