fix cmplog for llvm 11-dev
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 8393a69..7173891 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -23,6 +23,7 @@
feature is used.
- lowered minimum required llvm version to 3.4 (except LLVMInsTrim,
which needs 3.8.0)
+ - small change to cmplog to make it work with current llvm 11-dev
- fixed afl-gcc/afl-as that could break on fast systems reusing pids in
the same second
- added lots of dictionaries from oss-fuzz, go-fuzz and Jakub Wilk
diff --git a/llvm_mode/afl-llvm-rt.o.c b/llvm_mode/afl-llvm-rt.o.c
index c0d1569..0583cb5 100644
--- a/llvm_mode/afl-llvm-rt.o.c
+++ b/llvm_mode/afl-llvm-rt.o.c
@@ -892,7 +892,7 @@
}
-void __cmplog_rtn_hook(void *ptr1, void *ptr2) {
+void __cmplog_rtn_hook(u8 *ptr1, u8 *ptr2) {
if (!__afl_cmp_map) return;
diff --git a/llvm_mode/cmplog-routines-pass.cc b/llvm_mode/cmplog-routines-pass.cc
index bb78273..623388b 100644
--- a/llvm_mode/cmplog-routines-pass.cc
+++ b/llvm_mode/cmplog-routines-pass.cc
@@ -93,16 +93,17 @@
std::vector<CallInst *> calls;
LLVMContext & C = M.getContext();
- Type * VoidTy = Type::getVoidTy(C);
- PointerType *VoidPtrTy = PointerType::get(VoidTy, 0);
+ Type *VoidTy = Type::getVoidTy(C);
+ // PointerType *VoidPtrTy = PointerType::get(VoidTy, 0);
+ IntegerType *Int8Ty = IntegerType::getInt8Ty(C);
+ PointerType *i8PtrTy = PointerType::get(Int8Ty, 0);
#if LLVM_VERSION_MAJOR < 9
Constant *
#else
FunctionCallee
#endif
- c = M.getOrInsertFunction("__cmplog_rtn_hook", VoidTy, VoidPtrTy,
- VoidPtrTy
+ c = M.getOrInsertFunction("__cmplog_rtn_hook", VoidTy, i8PtrTy, i8PtrTy
#if LLVM_VERSION_MAJOR < 5
,
NULL