Reviewers: danno,
Description:
Introduce DISABLE_ASAN macro to disable AddressSanitizer instrumentation for
given functions.
Disable AddressSanitizer instrumentation for StackTracer::Trace.
[email protected]
BUG=chromium:134722
Please review this at https://chromiumcodereview.appspot.com/10834430/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/globals.h
M src/log.cc
Index: src/globals.h
diff --git a/src/globals.h b/src/globals.h
index
97b033f8489ce4259286beec06fa39c776a65078..bee280c4ffa3693c8c92e5e5f24ca4f86cc056b0
100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -354,12 +354,26 @@ F FUNCTION_CAST(Address addr) {
#endif
+// Define DISABLE_ASAN macros.
#if defined(__GNUC__) && __GNUC__ >= 4
#define MUST_USE_RESULT __attribute__ ((warn_unused_result))
#else
#define MUST_USE_RESULT
#endif
+
+#if defined(__has_feature)
+#if __has_feature(address_sanitizer)
+#define DISABLE_ASAN __attribute__((no_address_safety_analysis))
+#endif
+#endif
+
+
+#ifndef DISABLE_ASAN
+#define DISABLE_ASAN
+#endif
+
+
//
-----------------------------------------------------------------------------
// Forward declarations for frequently used classes
// (sorted alphabetically)
Index: src/log.cc
diff --git a/src/log.cc b/src/log.cc
index
d93a9d82b117022e629f9f84530578e15efed611..6c07758ef7b634fdd026c8bbe8ba1486248b9143
100644
--- a/src/log.cc
+++ b/src/log.cc
@@ -145,7 +145,7 @@ class Profiler: public Thread {
//
// StackTracer implementation
//
-void StackTracer::Trace(Isolate* isolate, TickSample* sample) {
+DISABLE_ASAN void StackTracer::Trace(Isolate* isolate, TickSample* sample)
{
ASSERT(isolate->IsInitialized());
// Avoid collecting traces while doing GC.
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev