diff options
-rw-r--r-- | src/debug/createdump/threadinfo.cpp | 6 |
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 } |