<div dir="ltr">I've reverted both of these changes in r355250. The sanitizer build fails on Linux and I have other failures to investigate. (For what it's worth Volodymyr, I took a brief look and it was unclear to me if either were correct. The Linux build was failing before and after your change.)</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 1, 2019 at 4:07 PM Volodymyr Sapsai via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Martin, I’ve made a small fix in r355244. See inline for more details<br>
<br>
> On Mar 1, 2019, at 14:30, Martin Storsjo via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
> <br>
> Author: mstorsjo<br>
> Date: Fri Mar  1 14:30:14 2019<br>
> New Revision: 355236<br>
> <br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=355236&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=355236&view=rev</a><br>
> Log:<br>
> [sanitizers] Don't use Windows Trace Logging on MinGW<br>
> <br>
> mingw-w64 currently is lacking the headers for this feature.<br>
> <br>
> Make the include lowercase at the same time. We consistently<br>
> use lowercase for windows header includes, as windows itself is<br>
> case insensitive, the SDK headers (in general, not necessarily<br>
> considering this particular header) aren't consistent among themselves<br>
> about what the proper canonical capitalization for headers are,<br>
> and MinGW uses all lowercase names for the headers (as it is often<br>
> used on case sensitive filesystems).<br>
> <br>
> In case mingw-w64 later gets this header, we can revert this<br>
> (but keep the include lowercased).<br>
> <br>
> Differential Revision: <a href="https://reviews.llvm.org/D58765" rel="noreferrer" target="_blank">https://reviews.llvm.org/D58765</a><br>
> <br>
> Modified:<br>
>    compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h<br>
>    compiler-rt/trunk/lib/sanitizer_common/sanitizer_win.cc<br>
> <br>
> Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h?rev=355236&r1=355235&r2=355236&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h?rev=355236&r1=355235&r2=355236&view=diff</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h (original)<br>
> +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h Fri Mar  1 14:30:14 2019<br>
> @@ -804,7 +804,13 @@ enum AndroidApiLevel {<br>
> <br>
> void WriteToSyslog(const char *buffer);<br>
> <br>
> -#if SANITIZER_MAC || SANITIZER_WINDOWS<br>
> +#if defined(SANITIZER_WINDOWS) && defined(_MSC_VER)<br>
> +#define SANITIZER_WIN_TRACE 1<br>
> +#else<br>
> +#define SANITIZER_WIN_TRACE 0<br>
> +#endif<br>
> +<br>
> +#if SANITIZER_LINUX || SANITIZER_WIN_TRACE<br>
I think changing SANITIZER_MAC to SANITIZER_LINUX was a mistake and was copy-pasted from the part of the file below. But I can be wrong and maybe we need #if SANITIZER_MAC || SANITIZER_LINUX || SANITIZER_WIN_TRACE<br>
<br>
> void LogFullErrorReport(const char *buffer);<br>
> #else<br>
> INLINE void LogFullErrorReport(const char *buffer) {}<br>
> @@ -818,7 +824,7 @@ INLINE void WriteOneLineToSyslog(const c<br>
> INLINE void LogMessageOnPrintf(const char *str) {}<br>
> #endif<br>
> <br>
> -#if SANITIZER_LINUX || SANITIZER_WINDOWS<br>
> +#if SANITIZER_LINUX || SANITIZER_WIN_TRACE<br>
> // Initialize Android logging. Any writes before this are silently lost.<br>
> void AndroidLogInit();<br>
> void SetAbortMessage(const char *);<br>
> <br>
> Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_win.cc<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_win.cc?rev=355236&r1=355235&r2=355236&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_win.cc?rev=355236&r1=355235&r2=355236&view=diff</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_win.cc (original)<br>
> +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_win.cc Fri Mar  1 14:30:14 2019<br>
> @@ -20,7 +20,6 @@<br>
> #include <io.h><br>
> #include <psapi.h><br>
> #include <stdlib.h><br>
> -#include <TraceLoggingProvider.h><br>
> <br>
> #include "sanitizer_common.h"<br>
> #include "sanitizer_file.h"<br>
> @@ -32,6 +31,8 @@<br>
> #if defined(PSAPI_VERSION) && PSAPI_VERSION == 1<br>
> #pragma comment(lib, "psapi")<br>
> #endif<br>
> +#if SANITIZER_WIN_TRACE<br>
> +#include <traceloggingprovider.h><br>
> //  Windows trace logging provider init<br>
> #pragma comment(lib, "advapi32.lib")<br>
> TRACELOGGING_DECLARE_PROVIDER(g_asan_provider);<br>
> @@ -39,6 +40,9 @@ TRACELOGGING_DECLARE_PROVIDER(g_asan_pro<br>
> TRACELOGGING_DEFINE_PROVIDER(g_asan_provider, "AddressSanitizerLoggingProvider",<br>
>                              (0x6c6c766d, 0x3846, 0x4e6a, 0xa4, 0xfb, 0x5b,<br>
>                               0x53, 0x0b, 0xd0, 0xf3, 0xfa));<br>
> +#else<br>
> +#define TraceLoggingUnregister(x)<br>
> +#endif<br>
> <br>
> // A macro to tell the compiler that this part of the code cannot be reached,<br>
> // if the compiler supports this feature. Since we're using this in<br>
> @@ -1080,6 +1084,7 @@ u32 GetNumberOfCPUs() {<br>
>   return sysinfo.dwNumberOfProcessors;<br>
> }<br>
> <br>
> +#if SANITIZER_WIN_TRACE<br>
> // TODO(mcgov): Rename this project-wide to PlatformLogInit<br>
> void AndroidLogInit(void) {<br>
>   HRESULT hr = TraceLoggingRegister(g_asan_provider);<br>
> @@ -1103,6 +1108,7 @@ void LogFullErrorReport(const char *buff<br>
>                       TraceLoggingValue(buffer, "AsanReportContents"));<br>
>   }<br>
> }<br>
> +#endif // SANITIZER_WIN_TRACE<br>
> <br>
> }  // namespace __sanitizer<br>
> <br>
> <br>
> <br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>