[LLVMdev] DataFlowSanitizer only for Linux

Alexander Potapenko glider at google.com
Wed Jul 8 06:42:50 PDT 2015


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




More information about the llvm-dev mailing list