summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2015-10-23 18:37:58 +0000
committerKostya Serebryany <kcc@google.com>2015-10-23 18:37:58 +0000
commit94660b3c36798acdb0014f6abe4ca9c1071b91bd (patch)
tree98cd6fb88066103fc3cfb18fd20e8f021ebaf85b /llvm/lib
parent382557ec72958959a0503a0ef0cb332cac934917 (diff)
downloadbcm5719-llvm-94660b3c36798acdb0014f6abe4ca9c1071b91bd.tar.gz
bcm5719-llvm-94660b3c36798acdb0014f6abe4ca9c1071b91bd.zip
[libFuzzer] remove some old code; also make __sanitizer_get_total_unique_caller_callee_pairs weak so that newer libFuzzer works with older asan
llvm-svn: 251133
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Fuzzer/FuzzerInterface.cpp3
-rw-r--r--llvm/lib/Fuzzer/FuzzerInterface.h3
-rw-r--r--llvm/lib/Fuzzer/FuzzerInternal.h8
-rw-r--r--llvm/lib/Fuzzer/FuzzerLoop.cpp3
4 files changed, 4 insertions, 13 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerInterface.cpp b/llvm/lib/Fuzzer/FuzzerInterface.cpp
index 231e757c8b2..79cb0e40f0e 100644
--- a/llvm/lib/Fuzzer/FuzzerInterface.cpp
+++ b/llvm/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/llvm/lib/Fuzzer/FuzzerInterface.h b/llvm/lib/Fuzzer/FuzzerInterface.h
index de5084222ef..c96343404f4 100644
--- a/llvm/lib/Fuzzer/FuzzerInterface.h
+++ b/llvm/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/llvm/lib/Fuzzer/FuzzerInternal.h b/llvm/lib/Fuzzer/FuzzerInternal.h
index 7a90ce1ac65..2dc44f98def 100644
--- a/llvm/lib/Fuzzer/FuzzerInternal.h
+++ b/llvm/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/llvm/lib/Fuzzer/FuzzerLoop.cpp b/llvm/lib/Fuzzer/FuzzerLoop.cpp
index 4f0d9988131..268989f103a 100644
--- a/llvm/lib/Fuzzer/FuzzerLoop.cpp
+++ b/llvm/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();
}
OpenPOWER on IntegriCloud