diff options
author | Petr Hosek <phosek@chromium.org> | 2018-06-06 22:59:14 +0000 |
---|---|---|
committer | Petr Hosek <phosek@chromium.org> | 2018-06-06 22:59:14 +0000 |
commit | 3a32b41024cc71b212124d7be4bf1a591fa6065b (patch) | |
tree | dc807549698301b472494d1903fadc05db7f695d | |
parent | e9fa53a09bda61cefbaaad5c51e37e6fb35f731c (diff) | |
download | bcm5719-llvm-3a32b41024cc71b212124d7be4bf1a591fa6065b.tar.gz bcm5719-llvm-3a32b41024cc71b212124d7be4bf1a591fa6065b.zip |
[Fuzzer] Use private libc++ even for Fuchsia
On Fuchsia, we use libc++ compiled with ASan for our ASan built
executable which means we cannot use the same libc++ for libFuzzer when
building fuzz targets, instead we'll link a custom internal libc++ into
Fuchsia's build of libFuzzer like we already do on Linux.
Differential Revision: https://reviews.llvm.org/D47835
llvm-svn: 334144
-rw-r--r-- | compiler-rt/lib/fuzzer/CMakeLists.txt | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/compiler-rt/lib/fuzzer/CMakeLists.txt b/compiler-rt/lib/fuzzer/CMakeLists.txt index 2183dce4797..085a981b387 100644 --- a/compiler-rt/lib/fuzzer/CMakeLists.txt +++ b/compiler-rt/lib/fuzzer/CMakeLists.txt @@ -34,7 +34,7 @@ CHECK_CXX_SOURCE_COMPILES(" set(LIBFUZZER_CFLAGS ${SANITIZER_COMMON_CFLAGS}) -if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND COMPILER_RT_LIBCXX_PATH) +if(OS_NAME MATCHES "Linux|Fuchsia" AND COMPILER_RT_LIBCXX_PATH) list(APPEND LIBFUZZER_CFLAGS -nostdinc++ -D_LIBCPP_ABI_VERSION=Fuzzer) # Remove -stdlib= which is unused when passing -nostdinc++. string(REGEX REPLACE "-stdlib=[a-zA-Z+]*" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) @@ -82,7 +82,7 @@ add_compiler_rt_runtime(clang_rt.fuzzer_no_main CFLAGS ${LIBFUZZER_CFLAGS} PARENT_TARGET fuzzer) -if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND COMPILER_RT_LIBCXX_PATH) +if(OS_NAME MATCHES "Linux|Fuchsia" AND COMPILER_RT_LIBCXX_PATH) macro(partially_link_libcxx name dir arch) set(cxx_${arch}_merge_dir "${CMAKE_CURRENT_BINARY_DIR}/cxx_${arch}_merge.dir") file(MAKE_DIRECTORY ${cxx_${arch}_merge_dir}) @@ -114,11 +114,6 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND COMPILER_RT_LIBCXX_PATH) partially_link_libcxx(fuzzer_no_main ${LIBCXX_${arch}_PREFIX} ${arch}) partially_link_libcxx(fuzzer ${LIBCXX_${arch}_PREFIX} ${arch}) endforeach() -elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia" AND HAVE_LIBCXX) - foreach(arch ${FUZZER_SUPPORTED_ARCH}) - add_dependencies(RTfuzzer.${arch} cxx) - add_dependencies(RTfuzzer_main.${arch} cxx) - endforeach() endif() if(COMPILER_RT_INCLUDE_TESTS) |