refer to llvm 12 for partial instrumentation for PCGUARD
MODIFY
docs/FAQ.md
docs/FAQ.md
@@ -117,7 +117,8 @@ afl-clang-fast PCGUARD and afl-clang-lto LTO instrumentation!
remove from instrumentation.
Simply follow this document on how to do this: [llvm_mode/README.instrument_file.md](llvm_mode/README.instrument_file.md)
- If PCGUARD is used, then you need to follow this guide: [http://clang.llvm.org/docs/SanitizerCoverage.html#partially-disabling-instrumentation](http://clang.llvm.org/docs/SanitizerCoverage.html#partially-disabling-instrumentation)
+ If PCGUARD is used, then you need to follow this guide (needs llvm 12+!):
+ [http://clang.llvm.org/docs/SanitizerCoverage.html#partially-disabling-instrumentation](http://clang.llvm.org/docs/SanitizerCoverage.html#partially-disabling-instrumentation)
4. Fourth step: recompile the target

MODIFY
llvm_mode/README.instrument_file.md
llvm_mode/README.instrument_file.md
@@ -18,6 +18,8 @@ For this purpose, I have added a "partial instrumentation" support to the LLVM
mode of AFLFuzz that allows you to specify on a source file level which files
should be compiled with or without instrumentation.
+Note: When using PCGUARD mode - and have llvm 12+ - you can use this instead:
+https://clang.llvm.org/docs/SanitizerCoverage.html#partially-disabling-instrumentation
## 2) Building the LLVM module

MODIFY
llvm_mode/afl-clang-fast.c
llvm_mode/afl-clang-fast.c
@@ -776,7 +776,7 @@ int main(int argc, char **argv, char **envp) {
"switching to classic instrumentation because "
"AFL_LLVM_INSTRUMENT_FILE does not work with PCGUARD. Use "
"-fsanitize-coverage-allowlist=allowlist.txt if you want to use "
- "PCGUARD. See "
+ "PCGUARD. Requires llvm 12+. See "
"https://clang.llvm.org/docs/"
"SanitizerCoverage.html#partially-disabling-instrumentation");
@@ -832,7 +832,8 @@ int main(int argc, char **argv, char **envp) {
FATAL(
"Instrumentation type PCGUARD does not support "
"AFL_LLVM_INSTRUMENT_FILE! Use "
- "-fsanitize-coverage-allowlist=allowlist.txt instead, see "
+ "-fsanitize-coverage-allowlist=allowlist.txt instead (requires llvm "
+ "12+), see "
"https://clang.llvm.org/docs/"
"SanitizerCoverage.html#partially-disabling-instrumentation");

refer to llvm 12 for partial instrumentation for PCGUARD