From 5441d5c0f5a31ba4b909701dc66d403c4d4cc51f Mon Sep 17 00:00:00 2001 From: Per Mildner Date: Fri, 25 Mar 2016 17:07:39 +0100 Subject: [PATCH] Do not truncate branch target address to 32 bit --- arch/PowerPC/PPCInstPrinter.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/PowerPC/PPCInstPrinter.c b/arch/PowerPC/PPCInstPrinter.c index e19a6cdc..a9fd936e 100644 --- a/arch/PowerPC/PPCInstPrinter.c +++ b/arch/PowerPC/PPCInstPrinter.c @@ -564,20 +564,20 @@ static void printBranchOperand(MCInst *MI, unsigned OpNo, SStream *O) static void printAbsBranchOperand(MCInst *MI, unsigned OpNo, SStream *O) { - int imm; + int64_t imm; if (!MCOperand_isImm(MCInst_getOperand(MI, OpNo))) { printOperand(MI, OpNo, O); return; } - imm = ((int)MCOperand_getImm(MCInst_getOperand(MI, OpNo)) << 2); + imm = MCOperand_getImm(MCInst_getOperand(MI, OpNo)) << 2; if (!PPC_abs_branch(MI->csh, MCInst_getOpcode(MI))) { - imm = (int)MI->address + imm; + imm = MI->address + imm; } - SStream_concat(O, "0x%x", imm); + SStream_concat(O, "0x%"PRIx64, imm); if (MI->csh->detail) { MI->flat_insn->detail->ppc.operands[MI->flat_insn->detail->ppc.op_count].type = PPC_OP_IMM;