[LLVMdev] DataFlowSanitizer only for Linux

Juan Ceasar juan.d.ceasar at gmail.com
Wed Jul 8 08:42:26 PDT 2015


Thanks!  I'll give it a shot and see what I can do to give some patches
back.

On Wed, Jul 8, 2015 at 9:42 AM, Alexander Potapenko <glider at google.com>
wrote:

> FWIW see also
> http://lists.cs.uiuc.edu/pipermail/cfe-dev/2015-June/043301.html
> As far as I understand DFSan functionality isn't required for
> libFuzzer to work, so it should be safe to disable DFSan support on
> Mac.
>
> On Wed, Jul 8, 2015 at 7:45 AM, Kostya Serebryany <kcc at google.com> wrote:
> > +pcc , glider
> >
> > On Mon, Jul 6, 2015 at 12:59 PM, Juan Ceasar <juan.d.ceasar at gmail.com>
> > wrote:
> >>
> >> Afternoon,
> >>
> >> I had an issue with trying to link a program with the DataFlowSanitizer
> >> functionality, this is from the libFuzzer project, and I was seeing:
> >>
> >> clang++ -fsanitize=address -fsanitize-coverage=edge test_fuzzer.cc
> >> Fuzzer*.o
> >>
> >> Undefined symbols for architecture x86_64:
> >>
> >>   "_dfsan_create_label", referenced from:
> >>
> >>       fuzzer::TraceState::DFSanCmpCallback(unsigned long, unsigned long,
> >> unsigned long, unsigned long long, unsigned long long, unsigned short,
> >> unsigned short) in FuzzerTraceState.o
> >>
> >>       fuzzer::Fuzzer::InitializeTraceState() in FuzzerTraceState.o
> >>
> >>   "_dfsan_get_label_info", referenced from:
> >>
> >>       fuzzer::TraceState::GetLabelRange(unsigned short) in
> >> FuzzerTraceState.o
> >>
> >>   .....
> >>
> >> But then looking at the docs:
> >> http://clang.llvm.org/docs/DataFlowSanitizer.html
> >>
> >> It appears that this is only supported under Linux?  Is that right?
> >>
> >
> > Correct. AFAICT, DFSan was only tested on Linux.
> > It is quite hard to make it work on Mac because there are too many closed
> > source libraries there.
> > Nothing impossible though -- it's just that nobody has worked on it.
> >
> > libFuzzer was also never tested on Mac, but I think it should be trivial
> to
> > make it work there.
> > I suspect that the errors you see are caused by the weak function
> > declarations which don't (???) work on Mac.
> > You'll need to #ifdef the weak functions on Mac somehow. Patches and Mac
> > buildbots are welcome :)
> >
> > --kcc
> >
> >>
> >>
> >>
> >> _______________________________________________
> >> LLVM Developers mailing list
> >> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>
> >
>
>
>
> --
> Alexander Potapenko
> Software Engineer
>
> Google Germany GmbH
> Dienerstraße 12
> 80331 München
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150708/973bcca5/attachment.html>


More information about the llvm-dev mailing list