diff --git a/Makefile b/Makefile index b628b9f1..ee62a4ec 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ # PROGNAME = afl -VERSION = 1.91b +VERSION = 1.92b PREFIX ?= /usr/local BIN_PATH = $(PREFIX)/bin diff --git a/docs/ChangeLog b/docs/ChangeLog index 9588b25f..3414cfa2 100644 --- a/docs/ChangeLog +++ b/docs/ChangeLog @@ -13,9 +13,15 @@ Want to stay in the loop on major new features? Join our mailing list by sending a mail to . Not sure if you should upgrade? The lowest currently recommended version -is 1.90b. If you're stuck on an earlier release, it's strongly advisable +is 1.92b. If you're stuck on an earlier release, it's strongly advisable to get on with the times. +-------------- +Version 1.91b: +-------------- + + - Yet another C++ fix (namespaces). Reported by Daniel Lockyer. + -------------- Version 1.91b: -------------- diff --git a/llvm_mode/README.llvm b/llvm_mode/README.llvm index fc29922f..8006a064 100644 --- a/llvm_mode/README.llvm +++ b/llvm_mode/README.llvm @@ -61,10 +61,7 @@ operating mode of AFL, e.g.: CC=/path/to/afl/afl-clang-fast ./configure [...options...] make -...or: - - CXX=/path/to/afl/afl-clang-fast++ ./configure [...options...] - make +Be sure to also include CXX set to afl-clang-fast++ for C++ code. The tool honors roughly the same environmental variables as afl-gcc (see ../docs/env_variables.txt). This includes AFL_INST_RATIO, AFL_USE_ASAN, diff --git a/llvm_mode/afl-clang-fast.c b/llvm_mode/afl-clang-fast.c index 06c23940..786791ea 100644 --- a/llvm_mode/afl-clang-fast.c +++ b/llvm_mode/afl-clang-fast.c @@ -181,14 +181,14 @@ static void edit_params(u32 argc, char** argv) { cc_params[cc_par_cnt++] = "-D__AFL_LOOP(_A)=" "({ static volatile char *_B __attribute__((used)); " " _B = (char*)\"" PERSIST_SIG "\"; " - "int __afl_persistent_loop(unsigned int); " - "__afl_persistent_loop(_A); })"; + "int _L(unsigned int) __asm__(\"__afl_persistent_loop\"); " + "_L(_A); })"; cc_params[cc_par_cnt++] = "-D__AFL_INIT()=" "do { static volatile char *_A __attribute__((used)); " " _A = (char*)\"" DEFER_SIG "\"; " - "void __afl_manual_init(void); " - "__afl_manual_init(); } while (0)"; + "void _I(void) __asm__(\"__afl_manual_init\"); " + "_I(); } while (0)"; if (maybe_linking) { diff --git a/llvm_mode/afl-llvm-pass.so.cc b/llvm_mode/afl-llvm-pass.so.cc index f2213d00..771b4d87 100644 --- a/llvm_mode/afl-llvm-pass.so.cc +++ b/llvm_mode/afl-llvm-pass.so.cc @@ -82,7 +82,7 @@ bool AFLCoverage::runOnModule(Module &M) { /* Decide instrumentation ratio */ char* inst_ratio_str = getenv("AFL_INST_RATIO"); - int inst_ratio = 100; + unsigned int inst_ratio = 100; if (inst_ratio_str) {