Changes to automatically disable optimization when AFL_FRIDA_INST_TRACE is set (#1003)

Co-authored-by: Your Name <you@example.com>
This commit is contained in:
WorksButNotTested 2021-07-05 10:28:39 +01:00 committed by GitHub
parent 886e2ba770
commit dcf450ecba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 3 deletions

View File

@ -160,7 +160,7 @@ instrumentation (the default where available). Required to use
report instrumented blocks back to the parent so that it can also instrument
them and they be inherited by the next child on fork.
* `AFL_FRIDA_INST_TRACE` - Log to stdout the address of executed blocks,
requires `AFL_FRIDA_INST_NO_OPTIMIZE`.
implies `AFL_FRIDA_INST_NO_OPTIMIZE`.
* `AFL_FRIDA_INST_TRACE_UNIQUE` - As per `AFL_FRIDA_INST_TRACE`, but each edge
is logged only once, requires `AFL_FRIDA_INST_NO_OPTIMIZE`.
* `AFL_FRIDA_OUTPUT_STDOUT` - Redirect the standard output of the target

View File

@ -214,13 +214,15 @@ void instrument_init(void) {
if (instrument_tracing && instrument_optimize) {
FATAL("AFL_FRIDA_INST_TRACE requires AFL_FRIDA_INST_NO_OPTIMIZE");
WARNF("AFL_FRIDA_INST_TRACE implies AFL_FRIDA_INST_NO_OPTIMIZE");
instrument_optimize = FALSE;
}
if (instrument_unique && instrument_optimize) {
FATAL("AFL_FRIDA_INST_TRACE_UNIQUE requires AFL_FRIDA_INST_NO_OPTIMIZE");
WARNF("AFL_FRIDA_INST_TRACE_UNIQUE implies AFL_FRIDA_INST_NO_OPTIMIZE");
instrument_optimize = FALSE;
}