From 7672a370da60bdfa714d55e7de36117e6336ace7 Mon Sep 17 00:00:00 2001 From: Tuldok Date: Sun, 9 Jun 2024 01:24:20 +0800 Subject: [PATCH] engine: Crashhandler support for Windows-on-ARM (arm/arm64) --- engine/common/crashhandler.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/engine/common/crashhandler.c b/engine/common/crashhandler.c index b4ce9bb6..d4877c79 100644 --- a/engine/common/crashhandler.c +++ b/engine/common/crashhandler.c @@ -129,6 +129,22 @@ static void Sys_StackTrace( PEXCEPTION_POINTERS pInfo ) stackframe.AddrBStore.Mode = AddrModeFlat; stackframe.AddrStack.Offset = context.IntSp; stackframe.AddrStack.Mode = AddrModeFlat; +#elif _M_ARM + image = IMAGE_FILE_MACHINE_ARMNT; + stackframe.AddrPC.Offset = context.Pc; + stackframe.AddrPC.Mode = AddrModeFlat; + stackframe.AddrFrame.Offset = context.R11; + stackframe.AddrFrame.Mode = AddrModeFlat; + stackframe.AddrStack.Offset = context.Sp; + stackframe.AddrStack.Mode = AddrModeFlat; +#elif _M_ARM64 + image = IMAGE_FILE_MACHINE_ARM64; + stackframe.AddrPC.Offset = context.Pc; + stackframe.AddrPC.Mode = AddrModeFlat; + stackframe.AddrFrame.Offset = context.Fp; + stackframe.AddrFrame.Mode = AddrModeFlat; + stackframe.AddrStack.Offset = context.Sp; + stackframe.AddrStack.Mode = AddrModeFlat; #elif #error #endif