Index: lib/sanitizer_common/sanitizer_common.h =================================================================== --- lib/sanitizer_common/sanitizer_common.h +++ lib/sanitizer_common/sanitizer_common.h @@ -804,7 +804,7 @@ void WriteToSyslog(const char *buffer); -#if SANITIZER_MAC || SANITIZER_WINDOWS +#if SANITIZER_LINUX || (SANITIZER_WINDOWS && !defined(__MINGW32__)) void LogFullErrorReport(const char *buffer); #else INLINE void LogFullErrorReport(const char *buffer) {} @@ -818,7 +818,7 @@ INLINE void LogMessageOnPrintf(const char *str) {} #endif -#if SANITIZER_LINUX || SANITIZER_WINDOWS +#if SANITIZER_LINUX || (SANITIZER_WINDOWS && !defined(__MINGW32__)) // Initialize Android logging. Any writes before this are silently lost. void AndroidLogInit(); void SetAbortMessage(const char *); Index: lib/sanitizer_common/sanitizer_win.cc =================================================================== --- lib/sanitizer_common/sanitizer_win.cc +++ lib/sanitizer_common/sanitizer_win.cc @@ -20,7 +20,9 @@ #include #include #include -#include +#ifndef __MINGW32__ +#include +#endif #include "sanitizer_common.h" #include "sanitizer_file.h" @@ -32,6 +34,7 @@ #if defined(PSAPI_VERSION) && PSAPI_VERSION == 1 #pragma comment(lib, "psapi") #endif +#ifndef __MINGW32__ // Windows trace logging provider init #pragma comment(lib, "advapi32.lib") TRACELOGGING_DECLARE_PROVIDER(g_asan_provider); @@ -39,6 +42,9 @@ TRACELOGGING_DEFINE_PROVIDER(g_asan_provider, "AddressSanitizerLoggingProvider", (0x6c6c766d, 0x3846, 0x4e6a, 0xa4, 0xfb, 0x5b, 0x53, 0x0b, 0xd0, 0xf3, 0xfa)); +#else +#define TraceLoggingUnregister(x) +#endif // A macro to tell the compiler that this part of the code cannot be reached, // if the compiler supports this feature. Since we're using this in @@ -1080,6 +1086,7 @@ return sysinfo.dwNumberOfProcessors; } +#ifndef __MINGW32__ // TODO(mcgov): Rename this project-wide to PlatformLogInit void AndroidLogInit(void) { HRESULT hr = TraceLoggingRegister(g_asan_provider); @@ -1103,6 +1110,7 @@ TraceLoggingValue(buffer, "AsanReportContents")); } } +#endif } // namespace __sanitizer