mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-18 04:38:08 +00:00
switching llvm_mode default to pcguard
This commit is contained in:
@ -17,6 +17,10 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
|
|||||||
- If no master is present at a sync one slave automatically becomes
|
- If no master is present at a sync one slave automatically becomes
|
||||||
a temporary master until a real master shows up
|
a temporary master until a real master shows up
|
||||||
- llvm_mode:
|
- llvm_mode:
|
||||||
|
- the default instrumentation is now PCGUARD, as it is faster and provides
|
||||||
|
better coverage. The original afl instrumentation can be set via
|
||||||
|
AFL_LLVM_INSTRUMENT=AFL. This is automatically done when the WHITELIST
|
||||||
|
feature is used.
|
||||||
- lowered minimum required llvm version to 3.4 (except LLVMInsTrim,
|
- lowered minimum required llvm version to 3.4 (except LLVMInsTrim,
|
||||||
which needs 3.8.0)
|
which needs 3.8.0)
|
||||||
- fixed afl-gcc/afl-as that could break on fast systems reusing pids in
|
- fixed afl-gcc/afl-as that could break on fast systems reusing pids in
|
||||||
|
@ -584,9 +584,12 @@ int main(int argc, char **argv, char **envp) {
|
|||||||
|
|
||||||
be_quiet = 1;
|
be_quiet = 1;
|
||||||
|
|
||||||
#ifdef USE_TRACE_PC
|
#ifndef USE_TRACE_PC
|
||||||
instrument_mode = INSTRUMENT_PCGUARD;
|
if (getenv("AFL_LLVM_WHITELIST"))
|
||||||
|
instrument_mode = INSTRUMENT_AFL;
|
||||||
|
else
|
||||||
#endif
|
#endif
|
||||||
|
instrument_mode = INSTRUMENT_PCGUARD;
|
||||||
|
|
||||||
if (getenv("USE_TRACE_PC") || getenv("AFL_USE_TRACE_PC") ||
|
if (getenv("USE_TRACE_PC") || getenv("AFL_USE_TRACE_PC") ||
|
||||||
getenv("AFL_LLVM_USE_TRACE_PC") || getenv("AFL_TRACE_PC")) {
|
getenv("AFL_LLVM_USE_TRACE_PC") || getenv("AFL_TRACE_PC")) {
|
||||||
@ -780,6 +783,9 @@ int main(int argc, char **argv, char **envp) {
|
|||||||
"AFL_LLVM_NOT_ZERO and AFL_LLVM_SKIP_NEVERZERO can not be set "
|
"AFL_LLVM_NOT_ZERO and AFL_LLVM_SKIP_NEVERZERO can not be set "
|
||||||
"together");
|
"together");
|
||||||
|
|
||||||
|
if (instrument_mode == INSTRUMENT_PCGUARD && getenv("AFL_LLVM_WHITELIST"))
|
||||||
|
WARNF("Instrumentation type PCGUARD does not support AFL_LLVM_WHITELIST!");
|
||||||
|
|
||||||
if (argc < 2 || strcmp(argv[1], "-h") == 0) {
|
if (argc < 2 || strcmp(argv[1], "-h") == 0) {
|
||||||
|
|
||||||
if (!lto_mode)
|
if (!lto_mode)
|
||||||
@ -843,12 +849,13 @@ int main(int argc, char **argv, char **envp) {
|
|||||||
SAYF(
|
SAYF(
|
||||||
"\nafl-clang-fast specific environment variables:\n"
|
"\nafl-clang-fast specific environment variables:\n"
|
||||||
"AFL_LLVM_CMPLOG: log operands of comparisons (RedQueen mutator)\n"
|
"AFL_LLVM_CMPLOG: log operands of comparisons (RedQueen mutator)\n"
|
||||||
"AFL_LLVM_INSTRUMENT: set instrumentation mode: DEFAULT, CFG "
|
"AFL_LLVM_INSTRUMENT: set instrumentation mode: AFL, CFG "
|
||||||
"(INSTRIM), PCGUARD, LTO, CTX, NGRAM-2 ... NGRAM-16\n"
|
"(INSTRIM), PCGUARD [DEFAULT], LTO, CTX, NGRAM-2 ... NGRAM-16\n"
|
||||||
" You can also use the old environment variables instead:"
|
" You can also use the old environment variables instead:\n"
|
||||||
" AFL_LLVM_USE_TRACE_PC: use LLVM trace-pc-guard instrumentation\n"
|
" AFL_LLVM_USE_TRACE_PC: use LLVM trace-pc-guard instrumentation "
|
||||||
|
"[DEFAULT]\n"
|
||||||
" AFL_LLVM_INSTRIM: use light weight instrumentation InsTrim\n"
|
" AFL_LLVM_INSTRIM: use light weight instrumentation InsTrim\n"
|
||||||
" AFL_LLVM_INSTRIM_LOOPHEAD: optimize loop tracing for speed (sub "
|
" AFL_LLVM_INSTRIM_LOOPHEAD: optimize loop tracing for speed ("
|
||||||
"option to INSTRIM)\n"
|
"option to INSTRIM)\n"
|
||||||
" AFL_LLVM_CTX: use context sensitive coverage\n"
|
" AFL_LLVM_CTX: use context sensitive coverage\n"
|
||||||
" AFL_LLVM_NGRAM_SIZE: use ngram prev_loc count coverage\n");
|
" AFL_LLVM_NGRAM_SIZE: use ngram prev_loc count coverage\n");
|
||||||
|
Reference in New Issue
Block a user