diff --git a/lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp b/lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp index bdecae81d31a7..e02ef6353640a 100644 --- a/lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp +++ b/lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp @@ -169,6 +169,23 @@ kern_return_t DNBArchMachARM64::GetGPRState(bool force) { (thread_state_t)&m_state.context.gpr, &count); if (DNBLogEnabledForAny(LOG_THREAD)) { uint64_t *x = &m_state.context.gpr.__x[0]; + DNBLogThreaded("thread_get_state signed regs " + "\n fp=%16.16llx" + "\n lr=%16.16llx" + "\n sp=%16.16llx" + "\n pc=%16.16llx", +#if __has_feature(ptrauth_calls) && defined(__LP64__) + reinterpret_cast(m_state.context.gpr.__opaque_fp), + reinterpret_cast(m_state.context.gpr.__opaque_lr), + reinterpret_cast(m_state.context.gpr.__opaque_sp), + reinterpret_cast(m_state.context.gpr.__opaque_pc) +#else + m_state.context.gpr.__fp, + m_state.context.gpr.__lr, + m_state.context.gpr.__sp, + m_state.context.gpr.__pc +#endif + ); #if __has_feature(ptrauth_calls) && defined(__LP64__) uint64_t log_fp = clear_pac_bits( @@ -2173,8 +2190,7 @@ bool DNBArchMachARM64::GetRegisterValue(uint32_t set, uint32_t reg, reinterpret_cast(m_state.context.gpr.__opaque_pc)); break; case gpr_lr: - value->value.uint64 = clear_pac_bits( - reinterpret_cast(m_state.context.gpr.__opaque_lr)); + value->value.uint64 = arm_thread_state64_get_lr(m_state.context.gpr); break; case gpr_sp: value->value.uint64 = clear_pac_bits(