@@ -169,6 +169,23 @@ kern_return_t DNBArchMachARM64::GetGPRState(bool force) {
169169 (thread_state_t )&m_state.context.gpr, &count);
170170 if (DNBLogEnabledForAny(LOG_THREAD)) {
171171 uint64_t *x = &m_state.context .gpr .__x [0 ];
172+ DNBLogThreaded (" thread_get_state signed regs "
173+ " \n fp=%16.16llx"
174+ " \n lr=%16.16llx"
175+ " \n sp=%16.16llx"
176+ " \n pc=%16.16llx" ,
177+ #if __has_feature(ptrauth_calls) && defined(__LP64__)
178+ reinterpret_cast <uint64_t >(m_state.context .gpr .__opaque_fp ),
179+ reinterpret_cast <uint64_t >(m_state.context .gpr .__opaque_lr ),
180+ reinterpret_cast <uint64_t >(m_state.context .gpr .__opaque_sp ),
181+ reinterpret_cast <uint64_t >(m_state.context .gpr .__opaque_pc )
182+ #else
183+ m_state.context .gpr .__fp ,
184+ m_state.context .gpr .__lr ,
185+ m_state.context .gpr .__sp ,
186+ m_state.context .gpr .__pc
187+ #endif
188+ );
172189
173190#if __has_feature(ptrauth_calls) && defined(__LP64__)
174191 uint64_t log_fp = clear_pac_bits (
@@ -2169,8 +2186,7 @@ bool DNBArchMachARM64::GetRegisterValue(uint32_t set, uint32_t reg,
21692186 reinterpret_cast <uint64_t >(m_state.context .gpr .__opaque_pc ));
21702187 break ;
21712188 case gpr_lr:
2172- value->value .uint64 = clear_pac_bits (
2173- reinterpret_cast <uint64_t >(m_state.context .gpr .__opaque_lr ));
2189+ value->value .uint64 = arm_thread_state64_get_lr (m_state.context .gpr );
21742190 break ;
21752191 case gpr_sp:
21762192 value->value .uint64 = clear_pac_bits (
0 commit comments