aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/Changelog.md27
-rw-r--r--docs/FAQ.md21
-rw-r--r--docs/env_variables.md4
3 files changed, 40 insertions, 12 deletions
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 6c851460..9f70535a 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -9,20 +9,29 @@ 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 ++3.14a (release)
- - Fix for llvm 13
- afl-fuzz:
- fix -F when a '/' was part of the parameter
+ - fixed a crash for cmplog for very slow inputs
- removed implied -D determinstic from -M main
- - if the target becomes unavailable check out out/default/error.txt for
- an indicator why
- - afl-cc
+ - if the target becomes unavailable check out out/default/error.txt
+ for an indicator why
+ - AFL_CAL_FAST was a dead env, now does the same as AFL_FAST_CAL
+ - afl-cc:
+ - Update to COMPCOV/laf-intel that speeds up the instrumentation
+ process a lot - thanks to Michael Rodler/f0rki for the PR!
+ - Fix to instrument global namespace functions in c++
+ - Fix for llvm 13
- support partial linking
- - We do support llvm versions from 3.8 again
- - afl_analyze
- - fix timeout handling and support forkserver
+ - We do support llvm versions from 3.8 to 5.0 again
+ - frida_mode:
+ - fix for cmplog
+ - remove need for AFL_FRIDA_PERSISTENT_RETADDR_OFFSET
+ - feature parity of aarch64 with intel now (persistent, cmplog,
+ in-memory testcases, asan)
+ - afl_analyze:
+ - fix timeout handling
+ - add forkserver support for better performance
- ensure afl-compiler-rt is built for gcc_module
- - afl-analyze now uses the forkserver for increased performance
-
### Version ++3.13c (release)
- Note: plot_data switched to relative time from unix time in 3.10
diff --git a/docs/FAQ.md b/docs/FAQ.md
index 714d50eb..ab0abe6c 100644
--- a/docs/FAQ.md
+++ b/docs/FAQ.md
@@ -3,6 +3,7 @@
## Contents
* [What is the difference between afl and afl++?](#what-is-the-difference-between-afl-and-afl)
+ * [I got a weird compile error from clang](#i-got-a-weird-compile-error-from-clang)
* [How to improve the fuzzing speed?](#how-to-improve-the-fuzzing-speed)
* [How do I fuzz a network service?](#how-do-i-fuzz-a-network-service)
* [How do I fuzz a GUI program?](#how-do-i-fuzz-a-gui-program)
@@ -35,6 +36,26 @@ flexible and feature rich guided fuzzer available as open source.
And in independent fuzzing benchmarks it is one of the best fuzzers available,
e.g. [Fuzzbench Report](https://www.fuzzbench.com/reports/2020-08-03/index.html)
+## I got a weird compile error from clang
+
+If you see this kind of error when trying to instrument a target with afl-cc/
+afl-clang-fast/afl-clang-lto:
+```
+/prg/tmp/llvm-project/build/bin/clang-13: symbol lookup error: /usr/local/bin/../lib/afl//cmplog-instructions-pass.so: undefined symbol: _ZNK4llvm8TypeSizecvmEv
+clang-13: error: unable to execute command: No such file or directory
+clang-13: error: clang frontend command failed due to signal (use -v to see invocation)
+clang version 13.0.0 (https://github.com/llvm/llvm-project 1d7cf550721c51030144f3cd295c5789d51c4aad)
+Target: x86_64-unknown-linux-gnu
+Thread model: posix
+InstalledDir: /prg/tmp/llvm-project/build/bin
+clang-13: note: diagnostic msg:
+********************
+```
+Then this means that your OS updated the clang installation from an upgrade
+package and because of that the afl++ llvm plugins do not match anymore.
+
+Solution: `git pull ; make clean install` of afl++
+
## How to improve the fuzzing speed?
1. Use [llvm_mode](docs/llvm_mode/README.md): afl-clang-lto (llvm >= 11) or afl-clang-fast (llvm >= 9 recommended)
diff --git a/docs/env_variables.md b/docs/env_variables.md
index 38a67bc7..e058f377 100644
--- a/docs/env_variables.md
+++ b/docs/env_variables.md
@@ -108,9 +108,6 @@ make fairly broad use of environmental variables instead:
- Setting `AFL_QUIET` will prevent afl-cc and afl-as banners from being
displayed during compilation, in case you find them distracting.
- - Setting `AFL_CAL_FAST` will speed up the initial calibration, if the
- application is very slow.
-
## 2) Settings for LLVM and LTO: afl-clang-fast / afl-clang-fast++ / afl-clang-lto / afl-clang-lto++
The native instrumentation helpers (instrumentation and gcc_plugin) accept a subset
@@ -386,6 +383,7 @@ checks or alter some of the more exotic semantics of the tool:
- `AFL_FAST_CAL` keeps the calibration stage about 2.5x faster (albeit less
precise), which can help when starting a session against a slow target.
+ `AFL_CAL_FAST` works too.
- The CPU widget shown at the bottom of the screen is fairly simplistic and
may complain of high load prematurely, especially on systems with low core