Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerOptions.h
35262 views
1
//
2
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
3
// See https://llvm.org/LICENSE.txt for license information.
4
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5
//
6
//===----------------------------------------------------------------------===//
7
// fuzzer::FuzzingOptions
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLVM_FUZZER_OPTIONS_H
11
#define LLVM_FUZZER_OPTIONS_H
12
13
#include "FuzzerDefs.h"
14
15
namespace fuzzer {
16
17
struct FuzzingOptions {
18
int Verbosity = 1;
19
size_t MaxLen = 0;
20
size_t LenControl = 1000;
21
bool KeepSeed = false;
22
int UnitTimeoutSec = 300;
23
int TimeoutExitCode = 70;
24
int OOMExitCode = 71;
25
int InterruptExitCode = 72;
26
int ErrorExitCode = 77;
27
bool IgnoreTimeouts = true;
28
bool IgnoreOOMs = true;
29
bool IgnoreCrashes = false;
30
int MaxTotalTimeSec = 0;
31
int RssLimitMb = 0;
32
int MallocLimitMb = 0;
33
bool DoCrossOver = true;
34
bool CrossOverUniformDist = false;
35
int MutateDepth = 5;
36
bool ReduceDepth = false;
37
bool UseCounters = false;
38
bool UseMemmem = true;
39
bool UseCmp = false;
40
int UseValueProfile = false;
41
bool Shrink = false;
42
bool ReduceInputs = false;
43
int ReloadIntervalSec = 1;
44
bool ShuffleAtStartUp = true;
45
bool PreferSmall = true;
46
size_t MaxNumberOfRuns = -1L;
47
int ReportSlowUnits = 10;
48
bool OnlyASCII = false;
49
bool Entropic = true;
50
bool ForkCorpusGroups = false;
51
size_t EntropicFeatureFrequencyThreshold = 0xFF;
52
size_t EntropicNumberOfRarestFeatures = 100;
53
bool EntropicScalePerExecTime = false;
54
std::string OutputCorpus;
55
std::string ArtifactPrefix = "./";
56
std::string ExactArtifactPath;
57
std::string ExitOnSrcPos;
58
std::string ExitOnItem;
59
std::string FocusFunction;
60
std::string DataFlowTrace;
61
std::string CollectDataFlow;
62
std::string FeaturesDir;
63
std::string MutationGraphFile;
64
std::string StopFile;
65
bool SaveArtifacts = true;
66
bool PrintNEW = true; // Print a status line when new units are found;
67
bool PrintNewCovPcs = false;
68
int PrintNewCovFuncs = 0;
69
bool PrintFinalStats = false;
70
bool PrintCorpusStats = false;
71
bool PrintCoverage = false;
72
bool PrintFullCoverage = false;
73
bool DumpCoverage = false;
74
bool DetectLeaks = true;
75
int PurgeAllocatorIntervalSec = 1;
76
int TraceMalloc = 0;
77
bool HandleAbrt = false;
78
bool HandleAlrm = false;
79
bool HandleBus = false;
80
bool HandleFpe = false;
81
bool HandleIll = false;
82
bool HandleInt = false;
83
bool HandleSegv = false;
84
bool HandleTerm = false;
85
bool HandleXfsz = false;
86
bool HandleUsr1 = false;
87
bool HandleUsr2 = false;
88
bool HandleWinExcept = false;
89
};
90
91
} // namespace fuzzer
92
93
#endif // LLVM_FUZZER_OPTIONS_H
94
95