fix cmplog for llvm 11-dev
MODIFY
docs/Changelog.md
docs/Changelog.md
@@ -23,6 +23,7 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
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

MODIFY
llvm_mode/afl-llvm-rt.o.c
llvm_mode/afl-llvm-rt.o.c
@@ -892,7 +892,7 @@ static int area_is_mapped(void *ptr, size_t len) {
}
-void __cmplog_rtn_hook(void *ptr1, void *ptr2) {
+void __cmplog_rtn_hook(u8 *ptr1, u8 *ptr2) {
if (!__afl_cmp_map) return;

MODIFY
llvm_mode/cmplog-routines-pass.cc
llvm_mode/cmplog-routines-pass.cc
@@ -94,15 +94,16 @@ bool CmpLogRoutines::hookRtns(Module &M) {
LLVMContext & C = M.getContext();
Type *VoidTy = Type::getVoidTy(C);
- PointerType *VoidPtrTy = PointerType::get(VoidTy, 0);
+ // 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

fix cmplog for llvm 11-dev