Skip to content

Commit 703168d

Browse files
committed
Fix dbghelp for AArch64.
1 parent de17802 commit 703168d

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/unwind/unwind_with_dbghelp.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ namespace detail {
8686
frame.AddrFrame.Mode = AddrModeFlat;
8787
frame.AddrStack.Offset = context.Rsp;
8888
frame.AddrStack.Mode = AddrModeFlat;
89-
#elif defined(_M_IA64) || defined(__aarch64__)
89+
#elif defined(_M_IA64)
9090
machine_type = IMAGE_FILE_MACHINE_IA64;
9191
frame.AddrPC.Offset = context.StIIP;
9292
frame.AddrPC.Mode = AddrModeFlat;
@@ -96,6 +96,14 @@ namespace detail {
9696
frame.AddrBStore.Mode = AddrModeFlat;
9797
frame.AddrStack.Offset = context.IntSp;
9898
frame.AddrStack.Mode = AddrModeFlat;
99+
#elif defined(__aarch64__)
100+
machine_type = IMAGE_FILE_MACHINE_ARM64;
101+
frame.AddrPC.Offset = context.Pc;
102+
frame.AddrPC.Mode = AddrModeFlat;
103+
frame.AddrFrame.Offset = context.Fp;
104+
frame.AddrFrame.Mode = AddrModeFlat;
105+
frame.AddrStack.Offset = context.Sp;
106+
frame.AddrStack.Mode = AddrModeFlat;
99107
#else
100108
#error "Cpptrace: StackWalk64 not supported for this platform yet"
101109
#endif

0 commit comments

Comments
 (0)