From 03c3a3e7c73b0a8aa336b72ae69e85d34a1af24d Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Fri, 15 May 2020 01:37:08 +0200 Subject: [PATCH] Select proper operand for LEA processing in AT&T mode. --- server/TracySourceView.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/TracySourceView.cpp b/server/TracySourceView.cpp index 8608d479..466aae04 100644 --- a/server/TracySourceView.cpp +++ b/server/TracySourceView.cpp @@ -685,8 +685,9 @@ bool SourceView::Disassemble( uint64_t symAddr, const Worker& worker ) if( ( m_cpuArch == CpuArchX64 || m_cpuArch == CpuArchX86 ) && op.id == X86_INS_LEA ) { assert( op.detail->x86.op_count == 2 ); - assert( op.detail->x86.operands[1].type == X86_OP_MEM ); - auto& mem = op.detail->x86.operands[1].mem; + const auto opidx = m_atnt ? 0 : 1; + assert( op.detail->x86.operands[opidx].type == X86_OP_MEM ); + auto& mem = op.detail->x86.operands[opidx].mem; if( mem.base == X86_REG_INVALID ) { if( mem.index == X86_REG_INVALID )