diff options
author | van Hauser <vh@thc.org> | 2020-10-31 14:18:58 +0100 |
---|---|---|
committer | van Hauser <vh@thc.org> | 2020-10-31 14:18:58 +0100 |
commit | f810639ab188bf3bbd27fe58fb0b0bb2fe4fbdf0 (patch) | |
tree | 83bbbfe5bd094acfe17d6c6b77afc6b6aee8d9a4 /src | |
parent | dfb847a51bb3dbcbe6237e92fa385b8c6c6c417c (diff) | |
download | afl++-f810639ab188bf3bbd27fe58fb0b0bb2fe4fbdf0.tar.gz |
add our own inline trace-pc-guard
Diffstat (limited to 'src')
-rw-r--r-- | src/afl-cc.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/afl-cc.c b/src/afl-cc.c index c516dc4c..1a7a837f 100644 --- a/src/afl-cc.c +++ b/src/afl-cc.c @@ -501,11 +501,22 @@ static void edit_params(u32 argc, char **argv, char **envp) { if (instrument_mode == INSTRUMENT_PCGUARD) { -#if LLVM_MAJOR >= 4 +#if LLVM_MAJOR >= 10 + cc_params[cc_par_cnt++] = "-Xclang"; + cc_params[cc_par_cnt++] = "-load"; + cc_params[cc_par_cnt++] = "-Xclang"; cc_params[cc_par_cnt++] = - "-fsanitize-coverage=trace-pc-guard"; // edge coverage by default + alloc_printf("%s/SanitizerCoveragePCGUARD.so", obj_path); #else + #if LLVM_MAJOR >= 4 + if (!be_quiet) + SAYF( + "Using unoptimized trace-pc-guard, upgrade to llvm 10+ for " + "enhanced version.\n"); + cc_params[cc_par_cnt++] = "-fsanitize-coverage=trace-pc-guard"; + #else FATAL("pcguard instrumentation requires llvm 4.0.1+"); + #endif #endif } else { |