2016-09-21 04:05:39 +02:00
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// fuzzer::FuzzingOptions
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#ifndef LLVM_FUZZER_OPTIONS_H
|
|
|
|
#define LLVM_FUZZER_OPTIONS_H
|
|
|
|
|
|
|
|
#include "FuzzerDefs.h"
|
|
|
|
|
|
|
|
namespace fuzzer {
|
|
|
|
|
|
|
|
struct FuzzingOptions {
|
|
|
|
int Verbosity = 1;
|
|
|
|
size_t MaxLen = 0;
|
2016-12-28 00:24:55 +01:00
|
|
|
bool ExperimentalLenControl = false;
|
2016-09-21 04:05:39 +02:00
|
|
|
int UnitTimeoutSec = 300;
|
|
|
|
int TimeoutExitCode = 77;
|
|
|
|
int ErrorExitCode = 77;
|
|
|
|
int MaxTotalTimeSec = 0;
|
|
|
|
int RssLimitMb = 0;
|
|
|
|
bool DoCrossOver = true;
|
|
|
|
int MutateDepth = 5;
|
|
|
|
bool UseCounters = false;
|
|
|
|
bool UseIndirCalls = true;
|
|
|
|
bool UseMemmem = true;
|
2016-10-14 22:20:33 +02:00
|
|
|
bool UseCmp = false;
|
2016-09-23 02:46:18 +02:00
|
|
|
bool UseValueProfile = false;
|
2016-10-01 03:04:29 +02:00
|
|
|
bool Shrink = false;
|
2017-07-13 00:20:04 +02:00
|
|
|
bool ReduceInputs = false;
|
2016-10-09 00:12:14 +02:00
|
|
|
int ReloadIntervalSec = 1;
|
2016-09-21 04:05:39 +02:00
|
|
|
bool ShuffleAtStartUp = true;
|
|
|
|
bool PreferSmall = true;
|
|
|
|
size_t MaxNumberOfRuns = -1L;
|
|
|
|
int ReportSlowUnits = 10;
|
|
|
|
bool OnlyASCII = false;
|
|
|
|
std::string OutputCorpus;
|
|
|
|
std::string ArtifactPrefix = "./";
|
|
|
|
std::string ExactArtifactPath;
|
2016-09-27 02:10:20 +02:00
|
|
|
std::string ExitOnSrcPos;
|
2016-10-01 03:04:29 +02:00
|
|
|
std::string ExitOnItem;
|
2016-09-21 04:05:39 +02:00
|
|
|
bool SaveArtifacts = true;
|
|
|
|
bool PrintNEW = true; // Print a status line when new units are found;
|
|
|
|
bool PrintNewCovPcs = false;
|
|
|
|
bool PrintFinalStats = false;
|
2016-09-22 00:42:17 +02:00
|
|
|
bool PrintCorpusStats = false;
|
2016-09-21 04:05:39 +02:00
|
|
|
bool PrintCoverage = false;
|
2016-12-19 23:18:08 +01:00
|
|
|
bool DumpCoverage = false;
|
2016-09-21 04:05:39 +02:00
|
|
|
bool DetectLeaks = true;
|
2016-10-13 21:06:46 +02:00
|
|
|
int TraceMalloc = 0;
|
2016-12-13 18:45:20 +01:00
|
|
|
bool HandleAbrt = false;
|
|
|
|
bool HandleBus = false;
|
|
|
|
bool HandleFpe = false;
|
|
|
|
bool HandleIll = false;
|
|
|
|
bool HandleInt = false;
|
|
|
|
bool HandleSegv = false;
|
|
|
|
bool HandleTerm = false;
|
2017-01-05 23:05:47 +01:00
|
|
|
bool HandleXfsz = false;
|
2016-09-21 04:05:39 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace fuzzer
|
|
|
|
|
|
|
|
#endif // LLVM_FUZZER_OPTIONS_H
|