<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Adding Jim Grosbach to the thread to OK moving Apple’s contributions.<div class=""><br class=""></div><div class="">As of now, we have gotten OK from all non-Apple and non-Google contributors.</div><div class=""><br class=""></div><div class="">George</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jul 12, 2017, at 3:26 PM, Kostya Serebryany <<a href="mailto:kcc@google.com" class="">kcc@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><br class="Apple-interchange-newline"><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; -webkit-text-stroke-width: 0px;" class=""><div class="gmail_quote" 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; -webkit-text-stroke-width: 0px;">On Wed, Jul 12, 2017 at 3:07 PM, Johan Engelen via llvm-dev<span class="Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>></span>wrote:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div dir="ltr" class="">I'd like to add another perspective: LDC (LLVM D Compiler) can use libFuzzer and AddressSanitizer from compiler-rt, and it'd be great if building them would not require a fresh-built clang. I believe the only reason libFuzzer needs a fresh-built clang is because of the dependence on the sanitizer interface?</div></blockquote><div class=""><br class=""></div><div class="">Not really. libFuzzer depends on the coverage instrumentation applied to the target code.</div><div class="">I.e we can build libFuzzer with any compiler (even some old GCC) but we have to use a recent clang to build the target code (including libFuzzer's own tests). </div><div class=""> </div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div dir="ltr" class=""><div class="">compiler-rt can already be built without using clang, libFuzzer is a little more tricky: libFuzzer depends on <sanitizer/coverage_<wbr class="">interface.h>,<span class="Apple-converted-space"> </span></div></div></blockquote><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Not any more, removed in r307858.</div><div class="">It loosely depends on sanitizer/lsan_interface.h though </div><div class=""> </div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div dir="ltr" class=""><div class="">note the angle brackets, meaning that you have to install compiler-rt's include files to have libFuzzer be in version-sync with the sanitizers.<div class=""><div class="">My hope is that moving libFuzzer to compiler-rt will make it possible to build it together with the sanitizers, so that it is a little easier to build it for non-clang use cases.</div><div class=""><br class=""></div><div class="">Kind regards,</div><div class=""> <span class="Apple-converted-space"> </span>Johan</div><div class=""><br class=""></div></div></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote"><div class=""><div class="gmail-h5">On Tue, May 2, 2017 at 9:26 PM, George Karpenkov via llvm-dev<span class="Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>></span><span class="Apple-converted-space"> </span>wrote:<br class=""></div></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div class=""><div class="gmail-h5">Hi All,<br class=""><br class="">Currently libfuzzer depends on (often freshly built) clang, yet the dependency is not explicitly specified<br class="">in cmake.<br class="">That leads to various issues: for instance, it’s not possible to check out LLVM repo and run libfuzzer<br class="">tests: one would often need to compile fresh clang first, and then create a separate build directory,<br class="">where libfuzzer could be tested.<br class="">For the buildbot this problem is approached by grabbing a freshly built binary from another buildbot<br class="">and using that for testing.<br class=""><br class="">Needless to say, that could be quite annoying.<br class="">Additionally, my recent changes start using libfuzzer from Clang driver: and finding the actual archive file<br class="">requires some hardcoding of directory paths, as one would need to go up the tree from the Clang binary<br class="">(in swift, for example, the situation is even worse, as the path to Clang is a symlink, and getting an archive file<br class="">from the LLVM tree would require going quite a few levels up).<br class=""><br class="">From my understanding, all these problems can be solved entirely<br class="">by moving libfuzzer to compiler-rt, where (other) sanitizers already reside.<br class=""><br class="">Any thoughts on the suggestion?<br class=""><br class="">It would be still possible to compile just libfuzzer with no dependencies, by simply making a partial checkout from SVN,<br class="">and only the repo path would change.<br class=""><br class="">George<br class=""></div></div><span class="gmail-">______________________________<wbr class="">_________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-dev</a><br class=""></span></blockquote></div><br class=""></div><br class="">______________________________<wbr class="">_________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-dev</a></blockquote></div></div></blockquote></div><br class=""></div></body></html>