about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--llvm_mode/afl-clang-fast.c2
-rw-r--r--llvm_mode/cmplog-routines-pass.cc7
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<Value*> 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";
 
   }