diff options
author | Kostya Serebryany <kcc@google.com> | 2019-02-08 22:02:37 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2019-02-08 22:02:37 +0000 |
commit | 4c775333c188cc37182c72eb2a7261f7eaeb32a5 (patch) | |
tree | 81ab34c39d718db86d7665770cc12d94e218f5b3 /lib | |
parent | 4bdfbe8883e81de78f806e2539c0718af49c02c7 (diff) | |
download | compiler-rt-4c775333c188cc37182c72eb2a7261f7eaeb32a5.tar.gz |
[libFuzzer] remove two unused experimental flags
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@353573 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/fuzzer/FuzzerDriver.cpp | 7 | ||||
-rw-r--r-- | lib/fuzzer/FuzzerFlags.def | 7 | ||||
-rw-r--r-- | lib/fuzzer/FuzzerMerge.cpp | 45 | ||||
-rw-r--r-- | lib/fuzzer/FuzzerMerge.h | 6 | ||||
-rw-r--r-- | lib/fuzzer/tests/FuzzerUnittest.cpp | 3 |
5 files changed, 4 insertions, 64 deletions
diff --git a/lib/fuzzer/FuzzerDriver.cpp b/lib/fuzzer/FuzzerDriver.cpp index 418bebb93..a0c9f185f 100644 --- a/lib/fuzzer/FuzzerDriver.cpp +++ b/lib/fuzzer/FuzzerDriver.cpp @@ -478,8 +478,7 @@ void FuzzWithFork(const FuzzingOptions &Options, auto CFPath = TempPath(".fork"); Printf("INFO: -fork=1: doing fuzzing in a separate process in order to " "be more resistant to crashes, timeouts, and OOMs\n"); - auto Files = - CrashResistantMerge(Args, Corpora, CFPath, nullptr, nullptr); + auto Files = CrashResistantMerge(Args, Corpora, CFPath); Printf("INFO: -fork=1: seed corpus analyzed, %zd seeds chosen, starting to " "fuzz in separate processes\n", Files.size()); @@ -738,9 +737,7 @@ int FuzzerDriver(int *argc, char ***argv, UserCallback Callback) { } std::string CFPath = Flags.merge_control_file ? Flags.merge_control_file : TempPath(".txt"); - auto Files = - CrashResistantMerge(Args, *Inputs, CFPath, Flags.load_coverage_summary, - Flags.save_coverage_summary); + auto Files = CrashResistantMerge(Args, *Inputs, CFPath); for (auto &Path : Files) F->WriteToOutputCorpus(FileToVector(Path, Options.MaxLen)); // We are done, delete the control file if it was a temporary one. diff --git a/lib/fuzzer/FuzzerFlags.def b/lib/fuzzer/FuzzerFlags.def index d59ee01ff..32965511d 100644 --- a/lib/fuzzer/FuzzerFlags.def +++ b/lib/fuzzer/FuzzerFlags.def @@ -52,13 +52,6 @@ FUZZER_FLAG_STRING(merge_control_file, "If a merge process gets killed it tries to leave this file " "in a state suitable for resuming the merge. " "By default a temporary file will be used.") -FUZZER_FLAG_STRING(save_coverage_summary, "Experimental:" - " save coverage summary to a given file." - " Used with -merge=1") -FUZZER_FLAG_STRING(load_coverage_summary, "Experimental:" - " load coverage summary from a given file." - " Treat this coverage as belonging to the first corpus. " - " Used with -merge=1") FUZZER_FLAG_INT(minimize_crash, 0, "If 1, minimizes the provided" " crash input. Use with -runs=N or -max_total_time=N to limit " "the number attempts." diff --git a/lib/fuzzer/FuzzerMerge.cpp b/lib/fuzzer/FuzzerMerge.cpp index b4f05e3b8..0d4971af0 100644 --- a/lib/fuzzer/FuzzerMerge.cpp +++ b/lib/fuzzer/FuzzerMerge.cpp @@ -168,16 +168,6 @@ size_t Merger::Merge(const Set<uint32_t> &InitialFeatures, return AllFeatures.size() - InitialNumFeatures; } -void Merger::PrintSummary(std::ostream &OS) { - for (auto &File : Files) { - OS << std::hex; - OS << File.Name << " size: " << File.Size << " features: "; - for (auto Feature : File.Features) - OS << " " << Feature; - OS << "\n"; - } -} - Set<uint32_t> Merger::AllFeatures() const { Set<uint32_t> S; for (auto &File : Files) @@ -185,25 +175,6 @@ Set<uint32_t> Merger::AllFeatures() const { return S; } -Set<uint32_t> Merger::ParseSummary(std::istream &IS) { - std::string Line, Tmp; - Set<uint32_t> Res; - while (std::getline(IS, Line, '\n')) { - size_t N; - std::istringstream ISS1(Line); - ISS1 >> Tmp; // Name - ISS1 >> Tmp; // size: - assert(Tmp == "size:" && "Corrupt summary file"); - ISS1 >> std::hex; - ISS1 >> N; // File Size - ISS1 >> Tmp; // features: - assert(Tmp == "features:" && "Corrupt summary file"); - while (ISS1 >> std::hex >> N) - Res.insert(N); - } - return Res; -} - // Inner process. May crash if the target crashes. void Fuzzer::CrashResistantMergeInternalStep(const std::string &CFPath) { Printf("MERGE-INNER: using the control file '%s'\n", CFPath.c_str()); @@ -278,9 +249,7 @@ static void WriteNewControlFile(const std::string &CFPath, Vector<std::string> CrashResistantMerge(const Vector<std::string> &Args, const Vector<std::string> &Corpora, - const std::string &CFPath, - const char *CoverageSummaryInputPathOrNull, - const char *CoverageSummaryOutputPathOrNull) { + const std::string &CFPath) { size_t NumAttempts = 0; if (FileSize(CFPath)) { Printf("MERGE-OUTER: non-empty control file provided: '%s'\n", @@ -354,19 +323,7 @@ CrashResistantMerge(const Vector<std::string> &Args, IF.close(); Printf("MERGE-OUTER: consumed %zdMb (%zdMb rss) to parse the control file\n", M.ApproximateMemoryConsumption() >> 20, GetPeakRSSMb()); - if (CoverageSummaryOutputPathOrNull) { - Printf("MERGE-OUTER: writing coverage summary for %zd files to %s\n", - M.Files.size(), CoverageSummaryOutputPathOrNull); - std::ofstream SummaryOut(CoverageSummaryOutputPathOrNull); - M.PrintSummary(SummaryOut); - } Set<uint32_t> InitialFeatures; - if (CoverageSummaryInputPathOrNull) { - std::ifstream SummaryIn(CoverageSummaryInputPathOrNull); - InitialFeatures = M.ParseSummary(SummaryIn); - Printf("MERGE-OUTER: coverage summary loaded from %s, %zd features found\n", - CoverageSummaryInputPathOrNull, InitialFeatures.size()); - } Vector<std::string> NewFiles; size_t NumNewFeatures = M.Merge(InitialFeatures, &NewFiles); Printf("MERGE-OUTER: %zd new files with %zd new features added\n", diff --git a/lib/fuzzer/FuzzerMerge.h b/lib/fuzzer/FuzzerMerge.h index 917108e3f..273f486b2 100644 --- a/lib/fuzzer/FuzzerMerge.h +++ b/lib/fuzzer/FuzzerMerge.h @@ -63,8 +63,6 @@ struct Merger { bool Parse(std::istream &IS, bool ParseCoverage); bool Parse(const std::string &Str, bool ParseCoverage); void ParseOrExit(std::istream &IS, bool ParseCoverage); - void PrintSummary(std::ostream &OS); - Set<uint32_t> ParseSummary(std::istream &IS); size_t Merge(const Set<uint32_t> &InitialFeatures, Vector<std::string> *NewFiles); size_t ApproximateMemoryConsumption() const; @@ -74,9 +72,7 @@ struct Merger { Vector<std::string> CrashResistantMerge(const Vector<std::string> &Args, const Vector<std::string> &Corpora, - const std::string &CFPath, - const char *CoverageSummaryInputPathOrNull, - const char *CoverageSummaryOutputPathOrNull); + const std::string &CFPath); } // namespace fuzzer diff --git a/lib/fuzzer/tests/FuzzerUnittest.cpp b/lib/fuzzer/tests/FuzzerUnittest.cpp index 861eaeda6..eec7d9461 100644 --- a/lib/fuzzer/tests/FuzzerUnittest.cpp +++ b/lib/fuzzer/tests/FuzzerUnittest.cpp @@ -645,10 +645,7 @@ static void Merge(const std::string &Input, Merger M; Vector<std::string> NewFiles; EXPECT_TRUE(M.Parse(Input, true)); - std::stringstream SS; - M.PrintSummary(SS); EXPECT_EQ(NumNewFeatures, M.Merge({}, &NewFiles)); - EXPECT_EQ(M.AllFeatures(), M.ParseSummary(SS)); EQ(NewFiles, Result); } |