aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/qtapplicationmanager/stack-walker-arm64.patch
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/qtapplicationmanager/stack-walker-arm64.patch')
-rw-r--r--vcpkg/ports/qtapplicationmanager/stack-walker-arm64.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/vcpkg/ports/qtapplicationmanager/stack-walker-arm64.patch b/vcpkg/ports/qtapplicationmanager/stack-walker-arm64.patch
new file mode 100644
index 0000000..4dd674e
--- /dev/null
+++ b/vcpkg/ports/qtapplicationmanager/stack-walker-arm64.patch
@@ -0,0 +1,19 @@
+diff --git a/src/3rdparty/stackwalker/stackwalker.cpp b/src/3rdparty/stackwalker/stackwalker.cpp
+index 7008ac6..cfa0d0e 100644
+--- a/src/3rdparty/stackwalker/stackwalker.cpp
++++ b/src/3rdparty/stackwalker/stackwalker.cpp
+@@ -1121,6 +1121,14 @@ BOOL StackWalker::ShowCallstack(HANDLE hThread,
+ s.AddrBStore.Mode = AddrModeFlat;
+ s.AddrStack.Offset = c.IntSp;
+ s.AddrStack.Mode = AddrModeFlat;
++#elif _M_ARM64
++ imageType = IMAGE_FILE_MACHINE_ARM64;
++ s.AddrPC.Offset = c.Pc;
++ s.AddrPC.Mode = AddrModeFlat;
++ s.AddrFrame.Offset = c.Fp;
++ s.AddrFrame.Mode = AddrModeFlat;
++ s.AddrStack.Offset = c.Sp;
++ s.AddrStack.Mode = AddrModeFlat;
+ #else
+ #error "Platform not supported!"
+ #endif