diff options
author | Petr Hosek <phosek@chromium.org> | 2018-05-09 21:24:06 +0000 |
---|---|---|
committer | Petr Hosek <phosek@chromium.org> | 2018-05-09 21:24:06 +0000 |
commit | 6d822c4e3a08225b984f971149746b1b5273dea5 (patch) | |
tree | 15fe78d06d3c13d9141557d9b72f446682391e0e | |
parent | e025663e073ae23b2eaeedeac0f341489fc9ad94 (diff) |
[CMake] Build shared version of runtimes for Fuchsia
Fuchsia is no longer treated as UNIX which means we need to explicitly
enable building of shared versions of runtimes.
Differential Revision: https://reviews.llvm.org/D46609
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@331922 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | lib/asan/CMakeLists.txt | 2 | ||||
-rw-r--r-- | lib/hwasan/CMakeLists.txt | 2 | ||||
-rw-r--r-- | lib/msan/CMakeLists.txt | 2 | ||||
-rw-r--r-- | lib/profile/CMakeLists.txt | 2 | ||||
-rw-r--r-- | lib/ubsan/CMakeLists.txt | 2 | ||||
-rw-r--r-- | lib/ubsan_minimal/CMakeLists.txt | 2 |
7 files changed, 12 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index aaf6789d6..57045c206 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -278,6 +278,12 @@ else() set(SANITIZER_LIMIT_FRAME_SIZE FALSE) endif() +if(FUCHSIA OR UNIX) + set(SANITIZER_USE_SYMBOLS TRUE) +else() + set(SANITIZER_USE_SYMBOLS FALSE) +endif() + # Build sanitizer runtimes with debug info. if(MSVC) # Use /Z7 instead of /Zi for the asan runtime. This avoids the LNK4099 diff --git a/lib/asan/CMakeLists.txt b/lib/asan/CMakeLists.txt index a95d3ce08..bacdff968 100644 --- a/lib/asan/CMakeLists.txt +++ b/lib/asan/CMakeLists.txt @@ -227,7 +227,7 @@ else() DEFS ${ASAN_DYNAMIC_DEFINITIONS} PARENT_TARGET asan) - if (UNIX AND NOT ${arch} STREQUAL "i386") + if (SANITIZER_USE_SYMBOLS AND NOT ${arch} STREQUAL "i386") add_sanitizer_rt_symbols(clang_rt.asan_cxx ARCHS ${arch}) add_dependencies(asan clang_rt.asan_cxx-${arch}-symbols) diff --git a/lib/hwasan/CMakeLists.txt b/lib/hwasan/CMakeLists.txt index a808d9e23..d2e91ee37 100644 --- a/lib/hwasan/CMakeLists.txt +++ b/lib/hwasan/CMakeLists.txt @@ -131,7 +131,7 @@ foreach(arch ${HWASAN_SUPPORTED_ARCH}) DEFS ${ASAN_DYNAMIC_DEFINITIONS} PARENT_TARGET hwasan) - if(UNIX) + if(SANITIZER_USE_SYMBOLS) add_sanitizer_rt_symbols(clang_rt.hwasan ARCHS ${arch} EXTRA hwasan.syms.extra) diff --git a/lib/msan/CMakeLists.txt b/lib/msan/CMakeLists.txt index fa8d8e1a0..30566c4a4 100644 --- a/lib/msan/CMakeLists.txt +++ b/lib/msan/CMakeLists.txt @@ -54,7 +54,7 @@ foreach(arch ${MSAN_SUPPORTED_ARCH}) PARENT_TARGET msan) list(APPEND MSAN_RUNTIME_LIBRARIES clang_rt.msan-${arch} clang_rt.msan_cxx-${arch}) - if(UNIX) + if(SANITIZER_USE_SYMBOLS) add_sanitizer_rt_symbols(clang_rt.msan ARCHS ${arch} EXTRA msan.syms.extra) diff --git a/lib/profile/CMakeLists.txt b/lib/profile/CMakeLists.txt index 91d67ec36..9aab12522 100644 --- a/lib/profile/CMakeLists.txt +++ b/lib/profile/CMakeLists.txt @@ -68,7 +68,7 @@ if(WIN32) list(APPEND PROFILE_SOURCES WindowsMMap.c) endif() -if(UNIX) +if(FUCHSIA OR UNIX) set(EXTRA_FLAGS -fPIC -Wno-pedantic) diff --git a/lib/ubsan/CMakeLists.txt b/lib/ubsan/CMakeLists.txt index 183f3ff56..20d6e2914 100644 --- a/lib/ubsan/CMakeLists.txt +++ b/lib/ubsan/CMakeLists.txt @@ -173,7 +173,7 @@ else() CFLAGS ${UBSAN_CXXFLAGS} PARENT_TARGET ubsan) - if (UNIX) + if (FUCHSIA OR UNIX) add_compiler_rt_runtime(clang_rt.ubsan_standalone SHARED ARCHS ${UBSAN_SUPPORTED_ARCH} diff --git a/lib/ubsan_minimal/CMakeLists.txt b/lib/ubsan_minimal/CMakeLists.txt index 54860a3d2..b70246845 100644 --- a/lib/ubsan_minimal/CMakeLists.txt +++ b/lib/ubsan_minimal/CMakeLists.txt @@ -44,7 +44,7 @@ if(COMPILER_RT_HAS_UBSAN_MINIMAL) LINK_LIBS ${UBSAN_DYNAMIC_LIBS} PARENT_TARGET ubsan-minimal) - if (UNIX AND NOT APPLE) + if (SANITIZER_USE_SYMBOLS AND NOT APPLE) set(ARCHS_FOR_SYMBOLS ${UBSAN_SUPPORTED_ARCH}) list(REMOVE_ITEM ARCHS_FOR_SYMBOLS i386 i686) add_sanitizer_rt_symbols(clang_rt.ubsan_minimal |