================
@@ -212,6 +212,11 @@ __libunwind_seh_personality(int version, _Unwind_Action
state,
ms_exc.ExceptionInformation[2] = state;
DISPATCHER_CONTEXT *disp_ctx =
__unw_seh_get_disp_ctx((unw_cursor_t *)context);
+#if defined(__aarch64__)
+ disp_ctx->NonVolatileRegisters = (PBYTE)&disp_ctx->ContextRecord->X19;
----------------
cjacek wrote:
I'm not very familiar with this, but from what I can tell based on reading the
Wine source (which itself isn't guaranteed to be entirely correct), that seems
roughly right. `DISPATCHER_CONTEXT_NONVOLREG_ARM64` is allocated on the stack
along with `DISPATCHER_CONTEXT` (which libunwind stores in the cursor). It's
populated from the context at the beginning of unwinding step.
https://github.com/llvm/llvm-project/pull/137951
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits