summaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorBrandon Miller <brandon@vector35.com>2025-04-07 15:38:22 -0400
committerBrandon Miller <brandon@vector35.com>2025-04-08 07:50:59 -0400
commit9eba1bb003e65a664367c9bf2b6ed03d418aa3c2 (patch)
treee2afc9c24a438c36282cc7a69932341f30e6adff /arch/x86
parent73e7d21d029a1d3d1160cf6a7bc4a4faf41fe221 (diff)
Omit the branch when lifting xabort
When not in RTM, the xabort intrinsic instruction is a NOP. When in RTM, the only way to resolve the branch destination is to resolve the fallback address computed by a seperate xbegin instruction
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/arch_x86.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/arch_x86.cpp b/arch/x86/arch_x86.cpp
index eb1b710d..4fb81c11 100644
--- a/arch/x86/arch_x86.cpp
+++ b/arch/x86/arch_x86.cpp
@@ -464,7 +464,7 @@ void X86CommonArchitecture::SetInstructionInfoForInstruction(uint64_t addr, Inst
case XED_CATEGORY_UNCOND_BR:
if (xed_operand_name(xed_inst_operand(xed_decoded_inst_inst(xedd), 0)) == XED_OPERAND_RELBR)
result.AddBranch(UnconditionalBranch, abs_br);
- else
+ else if (xedd_iClass != XED_ICLASS_XABORT)
result.AddBranch(UnresolvedBranch);
break;