AlexDenisov via llvm-dev
2015-Sep-09 07:57 UTC
[llvm-dev] LibFuzzer and platforms availability
Hi there. I’m trying to use LibFuzzer on OSX and face some issues: I checked out LibFuzzer documentation[1] and managed to proceed until the final step of the first example. Now I see linker errors related to dfsan, dfsan’s documentation[2] states explicitly “DataFlowSanitizer is a work in progress, currently under development for x86_64 Linux.”. Does it mean that LibFuzzer available only on Linux platform? Can somebody confirm or refute my conclusion? [1] http://llvm.org/docs/LibFuzzer.html [2] http://clang.llvm.org/docs/DataFlowSanitizer.html -- AlexDenisov Software Engineer, http://lowlevelbits.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 496 bytes Desc: Message signed with OpenPGP using GPGMail URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150909/d6531bec/attachment.sig>
Kostya Serebryany via llvm-dev
2015-Sep-09 16:41 UTC
[llvm-dev] LibFuzzer and platforms availability
On Wed, Sep 9, 2015 at 12:57 AM, AlexDenisov via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Hi there. > > I’m trying to use LibFuzzer on OSX and face some issues: > I checked out LibFuzzer documentation[1] and managed to proceed until the > final step of the first example. > Now I see linker errors related to dfsan, dfsan’s documentation[2] states > explicitly “DataFlowSanitizer is a work in progress, currently under > development for x86_64 Linux.”. >Yes, libFuzzer does not build on OSX today. Marshall (CC-ed) has managed to make it work with a couple of #ifdefs in FuzzerTraceState.cpp. I'll try to commit such patches later this week, but I don't have a Mac so it will be harder for me to test. If anyone wants it quicker -- patches are welcome. I would also appreciate if someone can set up a build bot for libFuzzer on Mac :) (similar to lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fuzzer)> > Does it mean that LibFuzzer available only on Linux platform? Can somebody > confirm or refute my conclusion? > > [1] http://llvm.org/docs/LibFuzzer.html > [2] http://clang.llvm.org/docs/DataFlowSanitizer.html > -- > AlexDenisov > Software Engineer, http://lowlevelbits.org > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150909/e87fec9b/attachment.html>
Kostya Serebryany via llvm-dev
2015-Sep-10 18:52 UTC
[llvm-dev] LibFuzzer and platforms availability
r247321 refactors the code so that it should build on Mac. I haven't actually tested it on Mac -- so please help me and send follow up patches if needed. check-fuzzer will still fail because some of the libFuzzer tests require dfsan. I'd use some help from someone with a Mac to modify lib/Fuzzer/test/CMakeLists.txt so that it does not run dfsan-dependent tests on Mac. Thanks, --kcc On Wed, Sep 9, 2015 at 9:41 AM, Kostya Serebryany <kcc at google.com> wrote:> > > On Wed, Sep 9, 2015 at 12:57 AM, AlexDenisov via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hi there. >> >> I’m trying to use LibFuzzer on OSX and face some issues: >> I checked out LibFuzzer documentation[1] and managed to proceed until the >> final step of the first example. >> Now I see linker errors related to dfsan, dfsan’s documentation[2] states >> explicitly “DataFlowSanitizer is a work in progress, currently under >> development for x86_64 Linux.”. >> > > Yes, libFuzzer does not build on OSX today. > Marshall (CC-ed) has managed to make it work with a couple of #ifdefs > in FuzzerTraceState.cpp. > > I'll try to commit such patches later this week, but I don't have a Mac so > it will be harder for me to test. > If anyone wants it quicker -- patches are welcome. > I would also appreciate if someone can set up a build bot for libFuzzer on > Mac :) > (similar to lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fuzzer) > > >> >> Does it mean that LibFuzzer available only on Linux platform? Can >> somebody confirm or refute my conclusion? >> >> [1] http://llvm.org/docs/LibFuzzer.html >> [2] http://clang.llvm.org/docs/DataFlowSanitizer.html >> -- >> AlexDenisov >> Software Engineer, http://lowlevelbits.org >> >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150910/811fed81/attachment.html>
Marshall Clow via llvm-dev
2015-Sep-14 18:07 UTC
[llvm-dev] LibFuzzer and platforms availability
On Wed, Sep 9, 2015 at 9:41 AM, Kostya Serebryany <kcc at google.com> wrote:> > On Wed, Sep 9, 2015 at 12:57 AM, AlexDenisov via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hi there. >> >> I’m trying to use LibFuzzer on OSX and face some issues: >> I checked out LibFuzzer documentation[1] and managed to proceed until the >> final step of the first example. >> Now I see linker errors related to dfsan, dfsan’s documentation[2] states >> explicitly “DataFlowSanitizer is a work in progress, currently under >> development for x86_64 Linux.”. >> > > Yes, libFuzzer does not build on OSX today. > Marshall (CC-ed) has managed to make it work with a couple of #ifdefs > in FuzzerTraceState.cpp. > >Actually, all I did was implement an empty DF sanitizer :-) extern "C" { typedef uint16_t dfsan_label; struct dfsan_label_info { // Fields for union labels, set to 0 for base labels. dfsan_label l1; dfsan_label l2; // Fields for base labels. const char *desc; void *userdata; }; dfsan_label dfsan_create_label(const char *desc, void *userdata) { return 0; } const struct dfsan_label_info *dfsan_get_label_info(dfsan_label label) { return NULL; } dfsan_label dfsan_read_label(const void *addr, size_t size) { return 0; } void dfsan_set_label(dfsan_label label, void *addr, size_t size) {} } extern "C" void LLVMFuzzerTestOneInput(const unsigned char *data, size_t size) {...} -- Marshall -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150914/41373764/attachment.html>