<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 9, 2017 at 1:56 PM, George Karpenkov <span dir="ltr"><<a href="mailto:ekarpenkov@apple.com" target="_blank">ekarpenkov@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Again, after offline conversation with Chris Bieneman:</div><div><br></div><div> - move to compiler-rt would be too complicated due to change in licenses</div><div> - it would make much more sense to move to “tools” folder instead, for the following reasons:</div><div>    * conceptually, it’s a tool, not a library</div><div>    * all other projects in “lib” depend on LLVM and can not build without LLVM, libFuzzer does not</div><div>    * practically speaking, CMake has no way of knowing whether Clang is being built when</div><div>      “lib” is compiled, yet it does know for projects in tools.</div><div><br></div><div>Using a freshly built clang for projects in “tools” is embarrassingly easy and only requires a couple of lines</div><div>of configuration change.</div><div><br></div><div>Kostya, what about moving to “tools” then?</div></div></blockquote><div><br></div><div>Well, ok, this sounds cool. </div><div>But can we make one more step and try to preserve the code where it is, for the sake of compatibility? </div><div>E.g. can we have the CMake in tools while still keeping the code in lib? </div><div>Or a link of some kind?</div><div><br></div><div>My worry is that there are already quite a few places that know where libFuzzer code is, </div><div>and I don't control all of them. </div><div><br></div><div>And, finally, I really don't get why we can do something in tools and can't do the same in lib. </div><div>Or we simply don't want to do it to keep things simple? </div><div><br></div><div>--kcc </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div class="h5"><br><div><blockquote type="cite"><div>On May 9, 2017, at 11:07 AM, Dan Liew <<a href="mailto:dan@su-root.co.uk" target="_blank">dan@su-root.co.uk</a>> wrote:</div><br class="m_877734713401612435Apple-interchange-newline"><div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">On 9 May 2017 at 18:55, Kostya Serebryany <</span><a href="mailto:kcc@google.com" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">kcc@google.com</a><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">> wrote:</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br><br>On Tue, May 9, 2017 at 10:23 AM, Dan Liew <<a href="mailto:dan@su-root.co.uk" target="_blank">dan@su-root.co.uk</a>> wrote:<br><blockquote type="cite"><br><blockquote type="cite">Does anyone see good reasons why libFuzzer should remain in llvm repo<br>(as<br>opposed to moving it to compiler-rt)?<br></blockquote><br>Does moving LibFuzzer to compiler-rt imply that it is compiled as part<br>of compiler-rt and shipped with it?<br><br>How does that fit with LibFuzzer's model of allowing the user to<br>provide their own `main()`.<br></blockquote><br><br>libFuzzer doesn't allow users to use their own main (not any more).<br>Although I am not sure how that's related to moving libFuzzer somewhere.<br></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">Oops. That shows how long it's been since I looked at the source code.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">It was related in that if LibFuzzer was shipped as part of compiler-rt</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">I presumed we would need to supply both libraries to end users.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">Given that this feature was removed it is a non-issue.</span></div></blockquote></div><br></div></div></div></blockquote></div><br></div></div>