diff options
| author | van Hauser <vh@thc.org> | 2020-09-08 17:15:32 +0200 |
|---|---|---|
| committer | van Hauser <vh@thc.org> | 2020-09-08 17:15:32 +0200 |
| commit | 2802245da77062cdadb7d4ceb09d3d083761cf56 (patch) | |
| tree | 483a883cfe60dfff09e01c7ff5db36170226690e /instrumentation | |
| parent | c091340a85694c5de1125a93366f2733959487f5 (diff) | |
| download | afl++-2802245da77062cdadb7d4ceb09d3d083761cf56.tar.gz | |
update instrumenation/README.instrument_file.md for gcc_plugin
Diffstat (limited to 'instrumentation')
| -rw-r--r-- | instrumentation/README.instrument_list.md | 15 |
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. |
