<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jan 21, 2016 at 10:47 AM, Nico Weber <span dir="ltr"><<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Oh, ok, let's not depend on lld then. So, we need to either determine if DIA SDK is available at compiler-rt configure time, or teach llvm-symbolizer.exe to tell us that (as we support standalone compiler-rt build)...</div></div></div></div></blockquote><div><br></div></span><div>Maybe the lit config file could compile a small program with clang-cl and then run it through llvm-symbolizer and see if a symbol is returned?</div></div></div></div></blockquote><div><br></div><div>I'd rather duplicate this check in compiler-rt than add auto-conf style tests to check-asan startup:</div><div>  # See if the DIA SDK is available and usable.</div><div>  set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK")</div><div>  if (IS_DIRECTORY ${MSVC_DIA_SDK_DIR})</div><div>    set(HAVE_DIA_SDK 1)</div><div>  else()</div><div>    set(HAVE_DIA_SDK 0)</div><div>  endif()</div><div><br></div><div>It is also possible to change LLVMSymbolizer::SymbolizePC to return false when llvm-symbolizer returns no useful information. This will cause the sanitizers to try calling into dbghelp, which will probably work. It doesn't return PDB column info or work with dwarf, which is why we try llvm-symbolizer first. I think I made this change at one point, but I was asked to revert it or there were minor issues that didn't seem worth fixing.</div></div></div></div>