From d95a9bab2f45af921a1c6c922ff2c6360a4b614d Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Mon, 12 Mar 2007 00:43:59 +0000 Subject: [PATCH] Support 'INT $3' instruction on amd64 (counterpart to vx1736). git-svn-id: svn://svn.valgrind.org/vex/trunk@1741 --- VEX/priv/guest-amd64/toIR.c | 6 ++++++ VEX/priv/host-amd64/hdefs.c | 3 +++ 2 files changed, 9 insertions(+) diff --git a/VEX/priv/guest-amd64/toIR.c b/VEX/priv/guest-amd64/toIR.c index b18d947661..523ef6fa08 100644 --- a/VEX/priv/guest-amd64/toIR.c +++ b/VEX/priv/guest-amd64/toIR.c @@ -12405,6 +12405,12 @@ DisResult disInstr_AMD64_WRK ( /* ------------------------ INT ------------------------ */ + case 0xCC: /* INT 3 */ + jmp_lit(Ijk_Trap, guest_RIP_bbstart + delta); + dres.whatNext = Dis_StopHere; + DIP("int $0x3\n"); + break; + case 0xCD: { /* INT imm8 */ IRJumpKind jk = Ijk_Boring; if (have66orF2orF3(pfx)) goto decode_failure; diff --git a/VEX/priv/host-amd64/hdefs.c b/VEX/priv/host-amd64/hdefs.c index 2e1b8246df..080eafe4f0 100644 --- a/VEX/priv/host-amd64/hdefs.c +++ b/VEX/priv/host-amd64/hdefs.c @@ -2640,6 +2640,9 @@ Int emit_AMD64Instr ( UChar* buf, Int nbuf, AMD64Instr* i, case Ijk_NoRedir: *p++ = 0xBD; p = emit32(p, VEX_TRC_JMP_NOREDIR); break; + case Ijk_Trap: + *p++ = 0xBD; + p = emit32(p, VEX_TRC_JMP_TRAP); break; case Ijk_Ret: case Ijk_Call: case Ijk_Boring: -- 2.47.2