summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2016-01-12 16:50:18 +0000
committerKostya Serebryany <kcc@google.com>2016-01-12 16:50:18 +0000
commit4b83a4f6fe8f8d921e8a94f8d46a972348ddc415 (patch)
tree1bda2f72542a67eb18296e2f7321f2c2db8ec252
parent71e550fefbf0e5200ebfc201a9accd4d0ca78d3d (diff)
downloadbcm5719-llvm-4b83a4f6fe8f8d921e8a94f8d46a972348ddc415.tar.gz
bcm5719-llvm-4b83a4f6fe8f8d921e8a94f8d46a972348ddc415.zip
[libFuzzer] add a macro LLVM_FUZZER_DEFINES_SANITIZER_WEAK_HOOOKS
llvm-svn: 257482
-rw-r--r--llvm/lib/Fuzzer/FuzzerTraceState.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerTraceState.cpp b/llvm/lib/Fuzzer/FuzzerTraceState.cpp
index 00f1ebd0619..b2006fa3aa4 100644
--- a/llvm/lib/Fuzzer/FuzzerTraceState.cpp
+++ b/llvm/lib/Fuzzer/FuzzerTraceState.cpp
@@ -542,6 +542,12 @@ void dfsan_weak_hook_strcmp(void *caller_pc, const char *s1, const char *s2,
reinterpret_cast<const uint8_t *>(s2), L1, L2);
}
+// We may need to avoid defining weak hooks to stay compatible with older clang.
+#ifndef LLVM_FUZZER_DEFINES_SANITIZER_WEAK_HOOOKS
+# define LLVM_FUZZER_DEFINES_SANITIZER_WEAK_HOOOKS 1
+#endif
+
+#if LLVM_FUZZER_DEFINES_SANITIZER_WEAK_HOOOKS
void __sanitizer_weak_hook_memcmp(void *caller_pc, const void *s1,
const void *s2, size_t n, int result) {
if (!TS) return;
@@ -576,6 +582,8 @@ void __sanitizer_weak_hook_strcmp(void *caller_pc, const char *s1,
reinterpret_cast<const uint8_t *>(s2));
}
+#endif // LLVM_FUZZER_DEFINES_SANITIZER_WEAK_HOOOKS
+
__attribute__((visibility("default")))
void __sanitizer_cov_trace_cmp(uint64_t SizeAndType, uint64_t Arg1,
uint64_t Arg2) {
OpenPOWER on IntegriCloud