[PATCH] D20943: [LibFuzzer] [WIP] Declare and use sanitizer functions in ``fuzzer::ExternalFunctions``

Dan Liew via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 2 18:58:00 PDT 2016


delcypher added a comment.



> - There's still a linking issue on OSX. The `LLVMFuzzer-FourIndependentBranchesTest-TracePC` test (and probably other tests) fail to link due to having undefined reference to `_sanitizer_cov_trace_pc_indir`. I'm guessing LibFuzzer ought to provide an implementation but I'm surprised we don't hit this on Linux.


Actually I guess the difference here is the use of libcxx on OSX based on the error message from the linker

  [100%] Linking CXX executable ../LLVMFuzzer-FourIndependentBranchesTest-TracePC
  Undefined symbols for architecture x86_64:
    "___sanitizer_cov_trace_pc_indir", referenced from:
        std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits
  <char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in FourIndependentBranchesTest
  .cpp.o
        std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<ch
  ar> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_bas
  e&, char) in FourIndependentBranchesTest.cpp.o
  ld: symbol(s) not found for architecture x86_64


http://reviews.llvm.org/D20943





More information about the llvm-commits mailing list