diff --git a/compiler-rt/lib/fuzzer/FuzzerDefs.h b/compiler-rt/lib/fuzzer/FuzzerDefs.h --- a/compiler-rt/lib/fuzzer/FuzzerDefs.h +++ b/compiler-rt/lib/fuzzer/FuzzerDefs.h @@ -20,8 +20,6 @@ #include #include -#include "FuzzerPlatform.h" - namespace fuzzer { template T Min(T a, T b) { return a < b ? a : b; } @@ -63,7 +61,7 @@ typedef Vector UnitVector; typedef int (*UserCallback)(const uint8_t *Data, size_t Size); -ATTRIBUTE_INTERFACE int FuzzerDriver(int *argc, char ***argv, UserCallback Callback); +int FuzzerDriver(int *argc, char ***argv, UserCallback Callback); uint8_t *ExtraCountersBegin(); uint8_t *ExtraCountersEnd(); diff --git a/compiler-rt/lib/fuzzer/FuzzerDriver.cpp b/compiler-rt/lib/fuzzer/FuzzerDriver.cpp --- a/compiler-rt/lib/fuzzer/FuzzerDriver.cpp +++ b/compiler-rt/lib/fuzzer/FuzzerDriver.cpp @@ -858,6 +858,12 @@ exit(0); // Don't let F destroy itself. } +extern "C" ATTRIBUTE_INTERFACE int +LLVMRunFuzzerDriver(int *argc, char ***argv, + int (*UserCb)(const uint8_t *Data, size_t Size)) { + return FuzzerDriver(argc, argv, UserCb); +} + // Storage for global ExternalFunctions object. ExternalFunctions *EF = nullptr;