12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===----------------------------------------------------------------------===//
- // 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;
- size_t LenControl = 1000;
- bool KeepSeed = false;
- int UnitTimeoutSec = 300;
- int TimeoutExitCode = 70;
- int OOMExitCode = 71;
- int InterruptExitCode = 72;
- int ErrorExitCode = 77;
- bool DumpInterrupted = false;
- bool IgnoreTimeouts = true;
- bool IgnoreOOMs = true;
- bool IgnoreCrashes = false;
- int MaxTotalTimeSec = 0;
- int RssLimitMb = 0;
- int MallocLimitMb = 0;
- bool DoCrossOver = true;
- bool CrossOverUniformDist = false;
- int MutateDepth = 5;
- bool ReduceDepth = false;
- bool UseCounters = false;
- bool UseMemmem = true;
- bool UseCmp = false;
- int UseValueProfile = false;
- bool Shrink = false;
- bool ReduceInputs = false;
- int ReloadIntervalSec = 1;
- bool ShuffleAtStartUp = true;
- bool PreferSmall = true;
- size_t MaxNumberOfRuns = -1L;
- int ReportSlowUnits = 10;
- bool OnlyASCII = false;
- bool Entropic = true;
- bool ForkCorpusGroups = false;
- size_t EntropicFeatureFrequencyThreshold = 0xFF;
- size_t EntropicNumberOfRarestFeatures = 100;
- bool EntropicScalePerExecTime = false;
- std::string OutputCorpus;
- std::string ArtifactPrefix = "./";
- std::string ExactArtifactPath;
- std::string ExitOnSrcPos;
- std::string ExitOnItem;
- std::string FocusFunction;
- std::string DataFlowTrace;
- std::string CollectDataFlow;
- std::string FeaturesDir;
- std::string MutationGraphFile;
- std::string StopFile;
- bool SaveArtifacts = true;
- bool PrintNEW = true; // Print a status line when new units are found;
- bool PrintNewCovPcs = false;
- int PrintNewCovFuncs = 0;
- bool PrintFinalStats = false;
- bool PrintCorpusStats = false;
- bool PrintCoverage = false;
- bool PrintFullCoverage = false;
- bool DumpCoverage = false;
- bool DetectLeaks = true;
- int PurgeAllocatorIntervalSec = 1;
- int TraceMalloc = 0;
- bool HandleAbrt = false;
- bool HandleAlrm = false;
- bool HandleBus = false;
- bool HandleFpe = false;
- bool HandleIll = false;
- bool HandleInt = false;
- bool HandleSegv = false;
- bool HandleTerm = false;
- bool HandleXfsz = false;
- bool HandleUsr1 = false;
- bool HandleUsr2 = false;
- bool HandleWinExcept = false;
- };
- } // namespace fuzzer
- #endif // LLVM_FUZZER_OPTIONS_H
|