[PATCH] D54027: [compiler-rt] Support for passing through linker flags to libc++ build

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 2 00:51:55 PDT 2018


MaskRay added a comment.

Feel free to ignore me.. but would be glad if you happen to know the cause. `ninja -C ~/llvm/Release TFuzzer-x86_64-Test` appears to be broken to me due to some cmake change landed yesterday

  ld.lld: error: undefined symbol: fuzzer::ParseOneDictionaryEntry(std::__Fuzzer::basic_string<char, std::__Fuzzer::char_traits<char>, std::__Fuzzer::allocator<char> > const&, std::__Fuzzer::vector<unsigned char, fuzzer::fuzzer_allocator<unsigned char> >*)
  >>> referenced by FuzzerUnittest.cpp
  >>>               FuzzerTestObjects.FuzzerUnittest.cpp.x86_64.o:(FuzzerDictionary_ParseOneDictionaryEntry_Test::TestBody())

The issue is that `projects/compiler-rt/lib/fuzzer/CMakeFiles/RTfuzzer.x86_64.dir/FuzzerUtil.cpp.o` has (incorrect) hidden symbols.

  64: 0000000000000000  2175 FUNC    GLOBAL HIDDEN    19 fuzzer::ParseOneDictionaryEntry(std::Fuzzer::basic_string<char, std::Fuzzer::char_traits<char>, std::Fuzzer::allocator<char> > const&, std::Fuzzer::vector<unsigned char, fuzzer::fuzzer_allocator<unsigned char> >*)

A quick (and improper) fix is to delete `-fvisibility=hidden` on `compiler-rt/lib/fuzzer/CMakeLists.txt#L128`.


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D54027





More information about the llvm-commits mailing list