From a83691d6626a4a3b4881534d5680153a5df2e951 Mon Sep 17 00:00:00 2001 From: Andrea Fioraldi Date: Tue, 18 Feb 2020 15:27:35 +0100 Subject: fix insertion of __cmplog_rtn_hook --- llvm_mode/afl-clang-fast.c | 2 ++ llvm_mode/cmplog-routines-pass.cc | 7 +++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/llvm_mode/afl-clang-fast.c b/llvm_mode/afl-clang-fast.c index d9e2cd95..6e277c7e 100644 --- a/llvm_mode/afl-clang-fast.c +++ b/llvm_mode/afl-clang-fast.c @@ -208,6 +208,8 @@ static void edit_params(u32 argc, char** argv) { cc_params[cc_par_cnt++] = "-Xclang"; cc_params[cc_par_cnt++] = alloc_printf("%s/cmplog-routines-pass.so", obj_path); + + cc_params[cc_par_cnt++] = "-fno-inline"; } else { diff --git a/llvm_mode/cmplog-routines-pass.cc b/llvm_mode/cmplog-routines-pass.cc index 309ea65e..7e3acae2 100644 --- a/llvm_mode/cmplog-routines-pass.cc +++ b/llvm_mode/cmplog-routines-pass.cc @@ -280,9 +280,8 @@ bool CmpLogRoutines::hookRtns(Module &M) { Value *v1P = callInst->getArgOperand(0), *v2P = callInst->getArgOperand(1); - BasicBlock *bb = callInst->getParent(); - BasicBlock::iterator IP = bb->getFirstInsertionPt(); - IRBuilder<> IRB(&*IP); + IRBuilder<> IRB(callInst->getParent()); + IRB.SetInsertPoint(callInst); std::vector args; args.push_back(v1P); @@ -290,7 +289,7 @@ bool CmpLogRoutines::hookRtns(Module &M) { IRB.CreateCall(cmplogHookFn, args, "tmp"); - errs() << callInst->getCalledFunction()->getName() << "\n"; + // errs() << callInst->getCalledFunction()->getName() << "\n"; } -- cgit 1.4.1