<div dir="ltr">As I've just replied in another thread: <div><br></div><div><div style="font-size:12.8000001907349px"><span class="">libFuzzer</span> was also never tested on Mac, but I think it should be trivial to make it work there. </div><div style="font-size:12.8000001907349px">I suspect that the errors you see are caused by the weak function declarations which don't (???) work on Mac. </div><div style="font-size:12.8000001907349px">You'll need to #ifdef the weak functions on Mac somehow. Patches and Mac buildbots are welcome :) </div></div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">--kcc </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 1, 2015 at 8:52 AM, Jack Howarth <span dir="ltr"><<a href="mailto:howarth.mailing.lists@gmail.com" target="_blank">howarth.mailing.lists@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Marshall,<br>
      From cmake/config-ix.cmake in compiler-rt. it appears that the<br>
Fuzzer support may be Linux only at the moment...<br>
<br>
if (COMPILER_RT_HAS_SANITIZER_COMMON AND DFSAN_SUPPORTED_ARCH AND<br>
    OS_NAME MATCHES "Linux")<br>
  set(COMPILER_RT_HAS_DFSAN TRUE)<br>
else()<br>
  set(COMPILER_RT_HAS_DFSAN FALSE)<br>
endif()<br>
<br>
          Jack<br>
<div><div class="h5"><br>
On Mon, Jun 1, 2015 at 11:36 AM, Marshall Clow <<a href="mailto:mclow.lists@gmail.com">mclow.lists@gmail.com</a>> wrote:<br>
> I'm trying to use LibFuzzer on my Mac - following the directions here:<br>
> <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_docs_LibFuzzer.html&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=CnzuN65ENJ1H9py9XLiRvC_UQz6u3oG6GUNn7_wosSM&m=5Y6cw42j7Yqy0bqG_T8-dhcmshXsnE13msU1NsDb6n8&s=OcKJYRT6MJsSK2tG_s7vZ8LkMs19wQWDXsFc-2WlemE&e=" rel="noreferrer" target="_blank">http://llvm.org/docs/LibFuzzer.html</a>.<br>
><br>
> But when I try to link my program and the Fuzzer object code, I get errors.<br>
><br>
> They appear to be symbols from compiler-rt that are missing.<br>
> Do I need a better (i.e, more recent) compiler-rt than the one that Apple<br>
> ships?<br>
><br>
><br>
> Notes:<br>
> "totclang" --> freshly built clang.<br>
><br>
> $ export FUZZER=$LLVM/llvm/lib/Fuzzer<br>
><br>
> $ cd ~/fuzz<br>
> $ cat regex_fuzz.cpp<br>
> #include <regex><br>
><br>
> extern "C" void LLVMFuzzerTestOneInput(const unsigned char *data, size_t<br>
> size) {<br>
>   if (size > 0) {<br>
>   std::regex re(std::string((const char *)data, size));<br>
>   }<br>
> }<br>
><br>
> $ totclang -c -g -O2 -std=c++11 -I $FUZZER $FUZZER/*.cpp<br>
> $ totclang -g -fsanitize=address<br>
> -fsanitize-coverage=edge,indirect-calls,8bit-counters -c -std=c++11<br>
> regex_fuzz.cpp<br>
> $ totclang -g -fsanitize=address Fuzzer*.o regex_fuzz.o -Wl<br>
><br>
> Undefined symbols for architecture x86_64:<br>
>   "_dfsan_create_label", referenced from:<br>
>       fuzzer::TraceState::DFSanCmpCallback(unsigned long, unsigned long,<br>
> unsigned long, unsigned long long, unsigned long long, unsigned short,<br>
> unsigned short) in FuzzerTraceState.o<br>
>       fuzzer::Fuzzer::InitializeTraceState() in FuzzerTraceState.o<br>
>   "_dfsan_get_label_info", referenced from:<br>
>       fuzzer::TraceState::GetLabelRange(unsigned short) in<br>
> FuzzerTraceState.o<br>
>   "_dfsan_read_label", referenced from:<br>
>       _dfsan_weak_hook_memcmp in FuzzerTraceState.o<br>
>   "_dfsan_set_label", referenced from:<br>
>       fuzzer::Fuzzer::InitializeTraceState() in FuzzerTraceState.o<br>
> ld: symbol(s) not found for architecture x86_64<br>
> clang-3.7: error: linker command failed with exit code 1 (use -v to see<br>
> invocation)<br>
><br>
> -- Marshall<br>
><br>
><br>
</div></div>> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
><br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div>