Commit 1fb4ce83 authored by Martin Storsjö's avatar Martin Storsjö Committed by Alexandre Julliard

ntdll: Subtract an offset from pc if dispatch->ControlPcIsUnwound on arm.

This fixes unwinding from functions ending with a call to a function that won't return. This matches what is done on the PE side in the call to lookup_function_info. Signed-off-by: 's avatarMartin Storsjö <martin@martin.st> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent d00c8977
......@@ -229,7 +229,7 @@ extern void raise_func_trampoline( EXCEPTION_RECORD *rec, CONTEXT *context, void
NTSTATUS CDECL unwind_builtin_dll( ULONG type, struct _DISPATCHER_CONTEXT *dispatch, CONTEXT *context )
{
#ifdef HAVE_LIBUNWIND
DWORD ip = context->Pc;
DWORD ip = context->Pc - (dispatch->ControlPcIsUnwound ? 2 : 0);
unw_context_t unw_context;
unw_cursor_t cursor;
unw_proc_info_t info;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment