<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 9, 2014 at 4:12 AM, Kostya Serebryany <span dir="ltr"><<a href="mailto:kcc@google.com" target="_blank">kcc@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Hard to tell. </div><div>The standalone lsan exists and is tested in llvm (check-lsan).<br></div><div>On the one hand, we are not planing to use standalone lsan anywhere any time soon.</div>
<div>We are quite satisfied with the performance of asan+lsan and we don't want to have a separate build with standalone lsan for things like LLVM or Chromium.</div>
<div>On the other hand, there are already users of standalone lsan (outside of llvm community) and they find standalone lsan worth using because they can't pay the price of asan slowdown. </div><div><br></div><div>If we guard this code with something, I'd prefer it to be a regular macro (e.g. LEAK_SANITIZER) rather than __has_feature:</div>

<div>  1. __has_feature is not supported by GCC (lsan is)</div></blockquote><div><br></div><div>I don't understand. GCC can just as easily make '__has_feature(...)' expand to 1 as any other macro. Unless someone is planning to use LSan with a GCC host on an LLVM internal binary, this seems like a weak argument.</div>
<div><br></div><div>We also guard ASan stuff with __has_feature and GCC has ASan...</div><div><br></div><div>If __has_feature is the right way to do this, we should use that. If it isn't, I suspect the reasons should not have anything to do with GCC.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>  2. in case someone wants to have a standalone lsan via LD_PRELOAD </div></blockquote></div><br>So, we're not talking about disabling all of LSan. Just the ability to turn LSan off for a single program using a global. I don't really see a problem with LD_PRELOAD not necessarily working with this one feature -- you could always just not preload LSan when running that binary?</div>
</div>