[LLVMdev] DataFlowSanitizer only for Linux

Kostya Serebryany kcc at google.com
Tue Jul 7 22:45:09 PDT 2015


+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
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__clang.llvm.org_docs_DataFlowSanitizer.html&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=DuYBrpgYwv8YGoYjC8o5HfU49LwQXqvyVTXIABWvtTE&s=K41EpstDp6NwFwwzmrjj5-HivCd-_5Gt8Jr-Zyc7nxQ&e=>
>
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150707/2646d7b4/attachment.html>


More information about the llvm-dev mailing list