about summary refs log tree commit diff
path: root/utils
diff options
context:
space:
mode:
authorChristian Holler (:decoder) <choller@mozilla.com>2024-01-30 15:30:18 +0100
committerGitHub <noreply@github.com>2024-01-30 14:30:18 +0000
commit644e0694509d4019e6f5075c4b900d412f29df32 (patch)
treef50a160ec5ff6c9282bf7aaa52bf27f8c6edea94 /utils
parent75af391408086ee0f1cd892dadb6df2fb16d05c3 (diff)
downloadafl++-644e0694509d4019e6f5075c4b900d412f29df32.tar.gz
Fixes to afl-cc and documentation (#1974)
* Always compile with -ldl when building for CODE_COVERAGE

When building with CODE_COVERAGE, the afl runtime contains code that
calls `dladdr` which requires -ldl. Under most circumstances, clang
already adds this (e.g. when building with pc-table), but there are some
circumstances where it isn't added automatically.

* Add visibility declaration to __afl_connected

When building with hidden visibility, the use of __AFL_LOOP inside such
code can cause linker errors due to __afl_connected being declared
"hidden".

* Update docs to clarify that CODE_COVERAGE=1 is required for dynamic_covfilter
Diffstat (limited to 'utils')
-rw-r--r--utils/dynamic_covfilter/README.md7
1 files changed, 6 insertions, 1 deletions
diff --git a/utils/dynamic_covfilter/README.md b/utils/dynamic_covfilter/README.md
index a64836f1..381e0855 100644
--- a/utils/dynamic_covfilter/README.md
+++ b/utils/dynamic_covfilter/README.md
@@ -7,7 +7,12 @@ where doing this dynamically without requiring a new build can be beneficial.
 Especially when dealing with larger builds, it is much more convenient to
 select the target code locations at runtime instead of doing so at build time.
 
-There are two ways of doing this in AFL++:
+There are two ways of doing this in AFL++. Both approaches require a build of
+AFL++ with `CODE_COVERAGE=1`, so make sure to build AFL++ first by invoking
+
+`CODE_COVERAGE=1 make`
+
+Once you have built AFL++, you can choose out of two approaches:
 
 ## Simple Selection with `AFL_PC_FILTER`