<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Dec 5, 2013 at 12:15 AM, Sean Silva <span dir="ltr"><<a href="mailto:silvas@purdue.edu" target="_blank">silvas@purdue.edu</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"><br><div class="gmail_extra"><br><br><div class="gmail_quote">
<div><div class="h5">On Tue, Dec 3, 2013 at 11:03 PM, 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: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"><br><div class="gmail_extra"><br><br><div class="gmail_quote">
<div>On Tue, Dec 3, 2013 at 10:00 PM, Sean Silva <span dir="ltr"><<a href="mailto:silvas@purdue.edu" target="_blank">silvas@purdue.edu</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"><br><div class="gmail_extra"><br><br><div class="gmail_quote">
<div>On Mon, Dec 2, 2013 at 12:16 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: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"><br><div class="gmail_extra"><br><br><div class="gmail_quote">
<div>On Sun, Dec 1, 2013 at 4:03 PM, Sergey Matveev <span dir="ltr"><<a href="mailto:earthdok@google.com" target="_blank">earthdok@google.com</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">All sanitizer docs are hosted externally. I'm not really sure why, perhaps Kostya can say more about that.</div>




</blockquote><div><br></div></div><div>the sanitizer run-time is shared between clang and other compiler(s) -- </div><div>today that's GCC, but we want to encourage other compilers to use our run-time too.</div><div>



So, we prefer to keep the docs in a single external place. </div>
<div>We do have some user documentation in docs/ though, don't we? </div><div><a href="http://clang.llvm.org/docs/AddressSanitizer.html" target="_blank">clang.llvm.org/docs/AddressSanitizer.html</a><br></div><div><a href="http://clang.llvm.org/docs/MemorySanitizer.html" target="_blank">clang.llvm.org/docs/MemorySanitizer.html</a><br>




</div><div><a href="http://clang.llvm.org/docs/ThreadSanitize.html" target="_blank">clang.llvm.org/docs/ThreadSanitize.html</a><br></div><div><a href="http://clang.llvm.org/docs/LeakSanitizer.html" target="_blank">clang.llvm.org/docs/LeakSanitizer.html</a></div>



</div></div></div></blockquote><div><br></div></div><div>That's what I find strange. Shouldn't they be in one place? Why are there both external portions and internal portions?</div></div></div></div></blockquote>


</div><div>What would you suggest?  </div></div></div></div></blockquote><div><br></div></div></div><div>I'm not sure. How much is there in docs/ that is not covered on the <a href="http://code.google.com" target="_blank">code.google.com</a> wiki?</div>
</div></div></div></blockquote><div>I hope none.</div><div> </div><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> or vice versa? It seems at least that the blacklist/specialcaselist format is documented in docs/ but not in the wiki,</div></div></div></div></blockquote>
<div><br></div><div>It is described at <a href="https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer#Turning_off_instrumentation">https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer#Turning_off_instrumentation</a></div>
<div>Since it is clang-specific (gcc does not support it yet) the situation makes some sense. </div><div>We also tend to not promote it widely -- most of the cases we've seen users applying it -- they were wrong (suppressed real bugs thinking they were false positives). </div>
<div><br></div><div><br></div><div><br></div><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> and there appears to be a ton of stuff in the wiki that is not in docs/. </div></div></div></div></blockquote><div><br></div><div>Correct. </div><div> </div><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>Also the various sanitizer documentation appears to be strewn about 3 different <a href="http://code.google.com" target="_blank">code.google.com</a> projects. </div>
</div></div></div></blockquote><div><br></div><div>Well, the tools *are* different. </div><div> </div><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>Maybe compiler-rt can grow its own docs/ to keep this all in one place? </div></div></div></div></blockquote><div><br></div><div>But we still need some compiler-neutral place to keep the docs and this will be the primary place we maintain. </div>
<div><br></div><div> </div><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>It's pretty easy to set up Sphinx (I did this for clang-tools-extra, for example); I'd be happy to help set that up for compiler-rt.</div>
<div><br></div><div>I guess it ultimately boils down to where users should find the documentation. As a user of this feature, I would like to find complete user-level documentation for this feature (not "for more details, see...") among my compiler's docs. Sphinx's output is flexible enough that it should be able to integrate with other documentation systems if necessary (e.g. it has texinfo output which IIRC is what GCC's docs are written in).</div>

<div><br></div><div>What was the rationale for introducing the duplication in the first place? (maybe it was me complaining about the lack of docs in-tree?).</div></div></div></div></blockquote><div><br></div><div>We needed some minimal documentation in clang, but we don't want to duplicate it completely (one copy will always be stale)</div>
<div>and we can not (nor want to) completely migrate to the clang docs.</div><div><br></div><div>I admit, the situation is not ideal.</div><div><br></div><div>--kcc </div><div> </div><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=""><font color="#888888"><div><br></div><div>-- Sean Silva </div></font></span></div><br></div></div>
</blockquote></div><br></div></div>