diff --git a/src/atomicops_internals_x86_gcc.cc b/src/atomicops_internals_x86_gcc.cc index 950b423f41..a119cd2ab2 100644 --- a/src/atomicops_internals_x86_gcc.cc +++ b/src/atomicops_internals_x86_gcc.cc @@ -77,10 +77,10 @@ namespace { void AtomicOps_Internalx86CPUFeaturesInit() { using v8::internal::AtomicOps_Internalx86CPUFeatures; - uint32_t eax; - uint32_t ebx; - uint32_t ecx; - uint32_t edx; + uint32_t eax = 0; + uint32_t ebx = 0; + uint32_t ecx = 0; + uint32_t edx = 0; // Get vendor string (issue CPUID with eax = 0) cpuid(eax, ebx, ecx, edx, 0); diff --git a/src/platform-posix.cc b/src/platform-posix.cc index 5ca12522c1..20c25338be 100644 --- a/src/platform-posix.cc +++ b/src/platform-posix.cc @@ -213,6 +213,11 @@ void* OS::GetRandomMmapAddr() { // smarter about using mmap address hints. // See http://code.google.com/p/nativeclient/issues/3341 return NULL; +#endif +#if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \ + defined(THREAD_SANITIZER) + // Dynamic tools do not support custom mmap addresses. + return NULL; #endif Isolate* isolate = Isolate::UncheckedCurrent(); // Note that the current isolate isn't set up in a call path via diff --git a/src/v8utils.h b/src/v8utils.h index 058b153a7e..32c5c2e5d3 100644 --- a/src/v8utils.h +++ b/src/v8utils.h @@ -215,6 +215,11 @@ inline void MemsetPointer(T** dest, U* value, int counter) { #undef STOS #endif +#if defined(MEMORY_SANITIZER) + // MemorySanitizer does not understand inline assembly. +#undef STOS +#endif + #if defined(__GNUC__) && defined(STOS) asm volatile( "cld;"