summaryrefslogtreecommitdiff
path: root/src/debug/createdump/threadinfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/debug/createdump/threadinfo.cpp')
-rw-r--r--src/debug/createdump/threadinfo.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/debug/createdump/threadinfo.cpp b/src/debug/createdump/threadinfo.cpp
index 685f9e64c0..55d1df947e 100644
--- a/src/debug/createdump/threadinfo.cpp
+++ b/src/debug/createdump/threadinfo.cpp
@@ -322,6 +322,12 @@ void ThreadInfo::SetRegisters(elf_prstatus *prstatus)
m_gpRegisters.ARM_r10 = u_reg->uregs[10];
m_gpRegisters.ARM_fp = u_reg->uregs[REG_FP];
m_gpRegisters.ARM_ip = u_reg->uregs[REG_IP];
+#elif defined(__aarch64__)
+ struct user_regs_struct *u_reg = (struct user_regs_struct *)&prstatus->pr_reg;
+ memcpy(m_gpRegisters.regs, u_reg, sizeof(m_gpRegisters.regs));
+ m_gpRegisters.sp = u_reg->sp;
+ m_gpRegisters.pc = u_reg->pc;
+ m_gpRegisters.pstate = u_reg->pstate;
#endif
}