[llvm] r263787 - [Fuzzer] Guard no_sanitize_memory attributes behind __has_feature.
Benjamin Kramer via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 18 07:19:19 PDT 2016
Author: d0k
Date: Fri Mar 18 09:19:19 2016
New Revision: 263787
URL: http://llvm.org/viewvc/llvm-project?rev=263787&view=rev
Log:
[Fuzzer] Guard no_sanitize_memory attributes behind __has_feature.
Otherwise GCC fails to build it because it doesn't know the attribute.
Modified:
llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp
Modified: llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp?rev=263787&r1=263786&r2=263787&view=diff
==============================================================================
--- llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp (original)
+++ llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp Fri Mar 18 09:19:19 2016
@@ -20,6 +20,14 @@
#endif
#endif
+#define NO_SANITIZE_MEMORY
+#if defined(__has_feature)
+#if __has_feature(memory_sanitizer)
+#undef NO_SANITIZE_MEMORY
+#define NO_SANITIZE_MEMORY __attribute__((no_sanitize_memory))
+#endif
+#endif
+
extern "C" {
// Re-declare some of the sanitizer functions as "weak" so that
// libFuzzer can be linked w/o the sanitizers and sanitizer-coverage
@@ -92,7 +100,7 @@ void Fuzzer::DumpCurrentUnit(const char
{CurrentUnitData, CurrentUnitData + CurrentUnitSize}, Prefix);
}
-__attribute__((no_sanitize_memory))
+NO_SANITIZE_MEMORY
void Fuzzer::DeathCallback() {
if (!CurrentUnitSize) return;
Printf("DEATH:\n");
@@ -134,7 +142,7 @@ void Fuzzer::InterruptCallback() {
_Exit(0); // Stop right now, don't perform any at-exit actions.
}
-__attribute__((no_sanitize_memory))
+NO_SANITIZE_MEMORY
void Fuzzer::AlarmCallback() {
assert(Options.UnitTimeoutSec > 0);
if (!CurrentUnitSize)
More information about the llvm-commits
mailing list