From: Kostya Serebryany Date: Fri, 23 Oct 2015 18:37:58 +0000 (+0000) Subject: [libFuzzer] remove some old code; also make __sanitizer_get_total_unique_caller_calle... X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=b33343ddb146ee040be98831c527d1664b00d86e;p=oota-llvm.git [libFuzzer] remove some old code; also make __sanitizer_get_total_unique_caller_callee_pairs weak so that newer libFuzzer works with older asan git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251133 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Fuzzer/FuzzerInterface.cpp b/lib/Fuzzer/FuzzerInterface.cpp index 231e757c8b2..79cb0e40f0e 100644 --- a/lib/Fuzzer/FuzzerInterface.cpp +++ b/lib/Fuzzer/FuzzerInterface.cpp @@ -19,9 +19,6 @@ void FuzzerRandomLibc::ResetSeed(int seed) { srand(seed); } size_t FuzzerRandomLibc::Rand() { return rand(); } -UserSuppliedFuzzer::UserSuppliedFuzzer() - : OwnRand(true), Rand(new FuzzerRandomLibc(0)), MD(*Rand) {} - UserSuppliedFuzzer::UserSuppliedFuzzer(FuzzerRandomBase *Rand) : Rand(Rand), MD(*Rand) {} diff --git a/lib/Fuzzer/FuzzerInterface.h b/lib/Fuzzer/FuzzerInterface.h index de5084222ef..c96343404f4 100644 --- a/lib/Fuzzer/FuzzerInterface.h +++ b/lib/Fuzzer/FuzzerInterface.h @@ -23,7 +23,6 @@ namespace fuzzer { -typedef void (*DeprecatedUserCallback)(const uint8_t *Data, size_t Size); /// Returns an int 0. Values other than zero are reserved for future. typedef int (*UserCallback)(const uint8_t *Data, size_t Size); /** Simple C-like interface with a single user-supplied callback. @@ -46,7 +45,6 @@ int main(int argc, char **argv) { #\endcode */ int FuzzerDriver(int argc, char **argv, UserCallback Callback); -int FuzzerDriver(int argc, char **argv, DeprecatedUserCallback Callback); class FuzzerRandomBase { public: @@ -137,7 +135,6 @@ int main(int argc, char **argv) { */ class UserSuppliedFuzzer { public: - UserSuppliedFuzzer(); // Deprecated, don't use. UserSuppliedFuzzer(FuzzerRandomBase *Rand); /// Executes the target function on 'Size' bytes of 'Data'. virtual int TargetFunction(const uint8_t *Data, size_t Size) = 0; diff --git a/lib/Fuzzer/FuzzerInternal.h b/lib/Fuzzer/FuzzerInternal.h index 7a90ce1ac65..2dc44f98def 100644 --- a/lib/Fuzzer/FuzzerInternal.h +++ b/lib/Fuzzer/FuzzerInternal.h @@ -186,17 +186,11 @@ class SimpleUserSuppliedFuzzer: public UserSuppliedFuzzer { SimpleUserSuppliedFuzzer(FuzzerRandomBase *Rand, UserCallback Callback) : UserSuppliedFuzzer(Rand), Callback(Callback) {} - SimpleUserSuppliedFuzzer(FuzzerRandomBase *Rand, DeprecatedUserCallback Callback) - : UserSuppliedFuzzer(Rand), DeprecatedCallback(Callback) {} - virtual int TargetFunction(const uint8_t *Data, size_t Size) override { - if (Callback) return Callback(Data, Size); - DeprecatedCallback(Data, Size); - return 0; + return Callback(Data, Size); } private: - DeprecatedUserCallback DeprecatedCallback = nullptr; UserCallback Callback = nullptr; }; diff --git a/lib/Fuzzer/FuzzerLoop.cpp b/lib/Fuzzer/FuzzerLoop.cpp index 4f0d9988131..268989f103a 100644 --- a/lib/Fuzzer/FuzzerLoop.cpp +++ b/lib/Fuzzer/FuzzerLoop.cpp @@ -15,6 +15,7 @@ extern "C" { __attribute__((weak)) void __sanitizer_print_stack_trace(); +__attribute__((weak)) size_t __sanitizer_get_total_unique_caller_callee_pairs(); } namespace fuzzer { @@ -207,6 +208,8 @@ size_t Fuzzer::RecordBlockCoverage() { size_t Fuzzer::RecordCallerCalleeCoverage() { if (!Options.UseIndirCalls) return 0; + if (!__sanitizer_get_total_unique_caller_callee_pairs) + return 0; return LastRecordedCallerCalleeCoverage = __sanitizer_get_total_unique_caller_callee_pairs(); }