From 80fb15bafcfdc998dac981a04af54bc5d5f5839c Mon Sep 17 00:00:00 2001 From: Ivo Raisr Date: Tue, 8 Aug 2017 06:38:54 +0200 Subject: [PATCH] ir_inject.c now plays according to the new rules. --- VEX/priv/ir_inject.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/VEX/priv/ir_inject.c b/VEX/priv/ir_inject.c index c127acad2b..249ff305cc 100644 --- a/VEX/priv/ir_inject.c +++ b/VEX/priv/ir_inject.c @@ -43,7 +43,7 @@ #define binop(kind, a1, a2) IRExpr_Binop(kind, a1, a2) #define triop(kind, a1, a2, a3) IRExpr_Triop(kind, a1, a2, a3) #define qop(kind, a1, a2, a3, a4) IRExpr_Qop(kind, a1, a2, a3, a4) -#define stmt(irsb, st) addStmtToIRSB(irsb, st) +#define stmt(irsb, st) addStmtToIRStmtVec(irsb->stmts, st) /* The IR Injection Control Block. vex_inject_ir will query its contents @@ -188,7 +188,7 @@ store(IRSB *irsb, IREndness endian, HWord haddr, IRExpr *data) /* Inject IR stmts depending on the data provided in the control - block iricb. */ + block iricb. IR statements are injected into main IRStmtVec with ID #0. */ void vex_inject_ir(IRSB *irsb, IREndness endian) { @@ -310,11 +310,14 @@ vex_inject_ir(IRSB *irsb, IREndness endian) if (0) { vex_printf("BEGIN inject\n"); if (iricb.t_result == Ity_I1 || sizeofIRType(iricb.t_result) <= 8) { - ppIRStmt(irsb->stmts[irsb->stmts_used - 1]); + ppIRStmt(irsb->stmts->stmts[irsb->stmts->stmts_used - 1], + irsb->tyenv, 0); } else if (sizeofIRType(iricb.t_result) == 16) { - ppIRStmt(irsb->stmts[irsb->stmts_used - 2]); + ppIRStmt(irsb->stmts->stmts[irsb->stmts->stmts_used - 2], + irsb->tyenv, 0); vex_printf("\n"); - ppIRStmt(irsb->stmts[irsb->stmts_used - 1]); + ppIRStmt(irsb->stmts->stmts[irsb->stmts->stmts_used - 1], + irsb->tyenv, 0); } vex_printf("\nEND inject\n"); } -- 2.47.2