diff options
| author | Brandon Miller <brandon@vector35.com> | 2025-04-07 15:38:22 -0400 |
|---|---|---|
| committer | Brandon Miller <brandon@vector35.com> | 2025-04-08 07:50:59 -0400 |
| commit | 9eba1bb003e65a664367c9bf2b6ed03d418aa3c2 (patch) | |
| tree | e2afc9c24a438c36282cc7a69932341f30e6adff /arch | |
| parent | 73e7d21d029a1d3d1160cf6a7bc4a4faf41fe221 (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')
| -rw-r--r-- | arch/x86/arch_x86.cpp | 2 |
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; |
