Debugger: Adapt x86_64 disassembler to newer udis API.

This commit is contained in:
Rene Gollent
2014-11-12 21:53:48 -05:00
parent dc257d1603
commit 55ae46933b
@@ -164,9 +164,10 @@ DisassemblerX8664::GetNextInstructionInfo(InstructionInfo& _info,
instruction_type type = INSTRUCTION_TYPE_OTHER; instruction_type type = INSTRUCTION_TYPE_OTHER;
target_addr_t targetAddress = 0; target_addr_t targetAddress = 0;
if (fUdisData->mnemonic == UD_Icall) ud_mnemonic_code mnemonic = ud_insn_mnemonic(fUdisData);
if (mnemonic == UD_Icall)
type = INSTRUCTION_TYPE_SUBROUTINE_CALL; type = INSTRUCTION_TYPE_SUBROUTINE_CALL;
else if (fUdisData->mnemonic == UD_Ijmp) else if (mnemonic == UD_Ijmp)
type = INSTRUCTION_TYPE_JUMP; type = INSTRUCTION_TYPE_JUMP;
if (state != NULL) if (state != NULL)
targetAddress = GetInstructionTargetAddress(state); targetAddress = GetInstructionTargetAddress(state);
@@ -186,7 +187,8 @@ DisassemblerX8664::GetNextInstructionInfo(InstructionInfo& _info,
target_addr_t target_addr_t
DisassemblerX8664::GetInstructionTargetAddress(CpuState* state) const DisassemblerX8664::GetInstructionTargetAddress(CpuState* state) const
{ {
if (fUdisData->mnemonic != UD_Icall && fUdisData->mnemonic != UD_Ijmp) ud_mnemonic_code mnemonic = ud_insn_mnemonic(fUdisData);
if (mnemonic != UD_Icall && mnemonic != UD_Ijmp)
return 0; return 0;
CpuStateX8664* x64State = dynamic_cast<CpuStateX8664*>(state); CpuStateX8664* x64State = dynamic_cast<CpuStateX8664*>(state);