about summary refs log tree commit diff
path: root/instrumentation
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-09-08 17:15:32 +0200
committervan Hauser <vh@thc.org>2020-09-08 17:15:32 +0200
commit2802245da77062cdadb7d4ceb09d3d083761cf56 (patch)
tree483a883cfe60dfff09e01c7ff5db36170226690e /instrumentation
parentc091340a85694c5de1125a93366f2733959487f5 (diff)
downloadafl++-2802245da77062cdadb7d4ceb09d3d083761cf56.tar.gz
update instrumenation/README.instrument_file.md for gcc_plugin
Diffstat (limited to 'instrumentation')
-rw-r--r--instrumentation/README.instrument_list.md15
1 files changed, 12 insertions, 3 deletions
diff --git a/instrumentation/README.instrument_list.md b/instrumentation/README.instrument_list.md
index 60474ec6..122be2b6 100644
--- a/instrumentation/README.instrument_list.md
+++ b/instrumentation/README.instrument_list.md
@@ -1,8 +1,8 @@
 # Using afl++ with partial instrumentation
 
   This file describes how to selectively instrument only source files
-  or functions that are of interest to you using the LLVM instrumentation
-  provided by afl++.
+  or functions that are of interest to you using the LLVM and GCC_PLUGIN
+  instrumentation provided by afl++.
 
 ## 1) Description and purpose
 
@@ -22,11 +22,17 @@ https://clang.llvm.org/docs/SanitizerCoverage.html#partially-disabling-instrumen
 The llvm sancov list format is fully supported by afl++, however afl++ has
 more flexibility.
 
-## 2) Building the LLVM module
+## 2a) Building the LLVM module
 
 The new code is part of the existing afl++ LLVM module in the instrumentation/
 subdirectory. There is nothing specifically to do for the build :)
 
+## 2b) Building the GCC module
+
+The new code is part of the existing afl++ GCC_PLUGIN module in the
+instrumentation/ subdirectory. There is nothing specifically to do for
+the build :)
+
 ## 3) How to use the partial instrumentation mode
 
 In order to build with partial instrumentation, you need to build with
@@ -37,6 +43,9 @@ AFL_LLVM_ALLOWLIST or AFL_LLVM_DENYLIST set with a filename.
 That file should contain the file names or functions that are to be instrumented
 (AFL_LLVM_ALLOWLIST) or are specifically NOT to be instrumented (AFL_LLVM_DENYLIST).
 
+GCC_PLUGIN: you can use either AFL_LLVM_ALLOWLIST or AFL_GCC_ALLOWLIST (or the
+same for _DENYLIST), both work.
+
 For matching to succeed, the function/file name that is being compiled must end in the
 function/file name entry contained in this instrument file list. That is to avoid
 breaking the match when absolute paths are used during compilation.