about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makefile9
-rw-r--r--README.md18
-rw-r--r--TODO5
-rw-r--r--docs/ChangeLog14
-rw-r--r--gcc_plugin/README.gcc.md4
-rw-r--r--gcc_plugin/README.whitelist.md3
-rw-r--r--include/config.h2
7 files changed, 28 insertions, 27 deletions
diff --git a/Makefile b/Makefile
index cfcd0890..87c7cdef 100644
--- a/Makefile
+++ b/Makefile
@@ -104,6 +104,13 @@ man:    $(MANPAGES)
 tests:	source-only
 	@cd test ; ./test.sh
 
+performance-tests:	performance-test
+test-performance:	performance-test
+
+performance-test:	source-only
+	@cd test ; ./test-performance.sh
+
+
 help:
 	@echo "HELP --- the following make targets exist:"
 	@echo "=========================================="
@@ -307,7 +314,7 @@ install: all $(MANPAGES)
 	install -m 755 $(PROGS) $(SH_PROGS) $${DESTDIR}$(BIN_PATH)
 	rm -f $${DESTDIR}$(BIN_PATH)/afl-as
 	if [ -f afl-qemu-trace ]; then install -m 755 afl-qemu-trace $${DESTDIR}$(BIN_PATH); fi
-	#if [ -f afl-gcc-fast ]; then set e; install -m 755 afl-gcc-fast $${DESTDIR}$(BIN_PATH); ln -sf afl-gcc-fast $${DESTDIR}$(BIN_PATH)/afl-g++-fast; install -m 755 afl-gcc-pass.so afl-gcc-rt.o $${DESTDIR}$(HELPER_PATH); fi
+	if [ -f afl-gcc-fast ]; then set e; install -m 755 afl-gcc-fast $${DESTDIR}$(BIN_PATH); ln -sf afl-gcc-fast $${DESTDIR}$(BIN_PATH)/afl-g++-fast; install -m 755 afl-gcc-pass.so afl-gcc-rt.o $${DESTDIR}$(HELPER_PATH); fi
 ifndef AFL_TRACE_PC
 	if [ -f afl-clang-fast -a -f libLLVMInsTrim.so -a -f afl-llvm-rt.o ]; then set -e; install -m 755 afl-clang-fast $${DESTDIR}$(BIN_PATH); ln -sf afl-clang-fast $${DESTDIR}$(BIN_PATH)/afl-clang-fast++; install -m 755 libLLVMInsTrim.so afl-llvm-pass.so afl-llvm-rt.o $${DESTDIR}$(HELPER_PATH); fi
 else
diff --git a/README.md b/README.md
index f0e6faef..4b9537d2 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
 # american fuzzy lop plus plus (afl++)
 
-  Release Version: 2.57c 
+  Release Version: 2.58c 
 
-  Github Version: 2.57d
+  Github Version: 2.58d
 
   includes all necessary/interesting changes from Google's afl 2.56b
 
@@ -52,13 +52,13 @@
 
   A more thorough list is available in the PATCHES file.
 
-  | Feature/Instrumentation | LLVM | GCC | QEMU | Unicorn |
-  | ----------------------- |:----:|:---:|:----:| -------:|
-  | laf-intel / CompCov     |  x   |     |  x   |    x    |
-  | NeverZero               |  x(1)|  x  |  x   |    x    |
-  | Persistent mode         |  x   |     |  x   |         |
-  | Whitelist               |  x   |     |      |         |
-  | InsTrim                 |  x   |     |      |         |
+  | Feature/Instrumentation | AFL-GCC | LLVM_MODE | GCC_PLUGIN | QEMU_MODE | Unicorn |
+  | ----------------------- |:-------:|:---------:|:----------:|:---------:|:-------:|
+  | laf-intel / CompCov     |         |     x     |            |     x     |    x    |
+  | NeverZero               |    X    |     x(1)  |            |     x     |    x    |
+  | Persistent mode         |         |     x     |     X      |     x     |         |
+  | Whitelist               |         |     x     |     X      |           |         |
+  | InsTrim                 |         |     x     |            |           |         |
 
   (1) only in LLVM >= 9.0 due to a bug in llvm in previous versions
 
diff --git a/TODO b/TODO
index 3ca13d6e..f2642b1a 100644
--- a/TODO
+++ b/TODO
@@ -7,11 +7,8 @@ afl-fuzz:
  - test the libmutator actually works and does not run infinite (need an example though)
 
 gcc_plugin:
- - needs to be rewritten
- - whitelist support
- - skip over uninteresting blocks
- - laf-intel
  - neverZero
+ - laf-intel
 
 qemu_mode:
  - update to 4.x (probably this will be skipped :( )
diff --git a/docs/ChangeLog b/docs/ChangeLog
index 46b9e330..c2d46e4d 100644
--- a/docs/ChangeLog
+++ b/docs/ChangeLog
@@ -13,14 +13,16 @@ Want to stay in the loop on major new features? Join our mailing list by
 sending a mail to <afl-users+subscribe@googlegroups.com>.
 
 
-----------------------
-Version ++2.57d (dev):
-----------------------
+--------------------------
+Version ++2.58c (release):
+--------------------------
 
-  - reverted patch to not unlink and recreate the input file, it resulted in performance loss
+  - reverted patch to not unlink and recreate the input file, it resulted in
+    performance loss of ~10%
   - added test/test-performance.sh script
-  - (re)added gcc_plugin, fast inline instrumentation is not yet finished
-  - added gcc_plugin tests
+  - (re)added gcc_plugin, fast inline instrumentation is not yet finished,
+    however it includes the whitelisting and persistance feature! by hexcoder-
+  - gcc_plugin tests added to testing framework
 
 
 --------------------------------
diff --git a/gcc_plugin/README.gcc.md b/gcc_plugin/README.gcc.md
index 2e19e911..676ef427 100644
--- a/gcc_plugin/README.gcc.md
+++ b/gcc_plugin/README.gcc.md
@@ -156,7 +156,3 @@ depending on whether the input loop is being entered for the first time or
 executed again. To avoid spurious warnings, the feature implies
 AFL_NO_VAR_CHECK and hides the "variable path" warnings in the UI.
 
-PS. Because there are task switches still involved, the mode isn't as fast as
-"pure" in-process fuzzing offered, say, by LLVM's LibFuzzer; but it is a lot
-faster than the normal fork() model, and compared to in-process fuzzing,
-should be a lot more robust.
diff --git a/gcc_plugin/README.whitelist.md b/gcc_plugin/README.whitelist.md
index bcc02693..8ad2068d 100644
--- a/gcc_plugin/README.whitelist.md
+++ b/gcc_plugin/README.whitelist.md
@@ -6,8 +6,7 @@ Using afl++ with partial instrumentation
   that are interesting to you using the gcc instrumentation provided by
   afl++.
 
-  Originally developed by Christian Holler (:decoder) <choller@mozilla.com>, 
-  adapted to gcc plugin by hexcoder-.
+  Plugin by hexcoder-.
 
 
 ## 1) Description and purpose
diff --git a/include/config.h b/include/config.h
index 2e993a42..f121025d 100644
--- a/include/config.h
+++ b/include/config.h
@@ -26,7 +26,7 @@
 
 /* Version string: */
 
-#define VERSION "++2.57d"  // c = release, d = volatile github dev
+#define VERSION "++2.58c"  // c = release, d = volatile github dev
 
 /******************************************************
  *                                                    *