[PATCH] D58765: [sanitizers] Don't use Windows Trace Logging on MinGW
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 1 14:29:50 PST 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rCRT355236: [sanitizers] Don't use Windows Trace Logging on MinGW (authored by mstorsjo, committed by ).
Repository:
rCRT Compiler Runtime
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58765/new/
https://reviews.llvm.org/D58765
Files:
lib/sanitizer_common/sanitizer_common.h
lib/sanitizer_common/sanitizer_win.cc
Index: lib/sanitizer_common/sanitizer_win.cc
===================================================================
--- lib/sanitizer_common/sanitizer_win.cc
+++ lib/sanitizer_common/sanitizer_win.cc
@@ -20,7 +20,6 @@
#include <io.h>
#include <psapi.h>
#include <stdlib.h>
-#include <TraceLoggingProvider.h>
#include "sanitizer_common.h"
#include "sanitizer_file.h"
@@ -32,6 +31,8 @@
#if defined(PSAPI_VERSION) && PSAPI_VERSION == 1
#pragma comment(lib, "psapi")
#endif
+#if SANITIZER_WIN_TRACE
+#include <traceloggingprovider.h>
// Windows trace logging provider init
#pragma comment(lib, "advapi32.lib")
TRACELOGGING_DECLARE_PROVIDER(g_asan_provider);
@@ -39,6 +40,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 +1084,7 @@
return sysinfo.dwNumberOfProcessors;
}
+#if SANITIZER_WIN_TRACE
// TODO(mcgov): Rename this project-wide to PlatformLogInit
void AndroidLogInit(void) {
HRESULT hr = TraceLoggingRegister(g_asan_provider);
@@ -1103,6 +1108,7 @@
TraceLoggingValue(buffer, "AsanReportContents"));
}
}
+#endif // SANITIZER_WIN_TRACE
} // namespace __sanitizer
Index: lib/sanitizer_common/sanitizer_common.h
===================================================================
--- lib/sanitizer_common/sanitizer_common.h
+++ lib/sanitizer_common/sanitizer_common.h
@@ -804,7 +804,13 @@
void WriteToSyslog(const char *buffer);
-#if SANITIZER_MAC || SANITIZER_WINDOWS
+#if defined(SANITIZER_WINDOWS) && defined(_MSC_VER)
+#define SANITIZER_WIN_TRACE 1
+#else
+#define SANITIZER_WIN_TRACE 0
+#endif
+
+#if SANITIZER_LINUX || SANITIZER_WIN_TRACE
void LogFullErrorReport(const char *buffer);
#else
INLINE void LogFullErrorReport(const char *buffer) {}
@@ -818,7 +824,7 @@
INLINE void LogMessageOnPrintf(const char *str) {}
#endif
-#if SANITIZER_LINUX || SANITIZER_WINDOWS
+#if SANITIZER_LINUX || SANITIZER_WIN_TRACE
// Initialize Android logging. Any writes before this are silently lost.
void AndroidLogInit();
void SetAbortMessage(const char *);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58765.188977.patch
Type: text/x-patch
Size: 2405 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190301/a901a63c/attachment-0001.bin>
More information about the llvm-commits
mailing list