Index: lib/fuzzer/afl/afl_driver.cpp =================================================================== --- lib/fuzzer/afl/afl_driver.cpp +++ lib/fuzzer/afl/afl_driver.cpp @@ -111,10 +111,12 @@ extern "C" int __afl_persistent_loop(unsigned int); static volatile char suppress_warning2 = AFL_PERSISTENT[0]; -// Notify AFL about deferred forkserver. -static volatile char AFL_DEFER_FORKSVR[] = "##SIG_AFL_DEFER_FORKSRV##"; +// Notify AFL about deferred forkserver unless told not to. +#ifndef DONT_DEFER_FORKSRV +static volatile char AFL_DEFER_FORKSRV[] = "##SIG_AFL_DEFER_FORKSRV##"; extern "C" void __afl_manual_init(); -static volatile char suppress_warning1 = AFL_DEFER_FORKSVR[0]; +static volatile char suppress_warning1 = AFL_DEFER_FORKSRV[0]; +#endif // Input buffer. static const size_t kMaxAflInputSize = 1 << 20; @@ -304,7 +306,10 @@ maybe_duplicate_stderr(); maybe_initialize_extra_stats(); + // We must manually init when using defered forkserver. +#ifndef DONT_DEFER_FORKSRV __afl_manual_init(); +#endif int N = 1000; if (argc == 2 && argv[1][0] == '-')