diff options
| author | Alexey Samsonov <vonosmas@gmail.com> | 2015-08-27 22:23:27 +0000 |
|---|---|---|
| committer | Alexey Samsonov <vonosmas@gmail.com> | 2015-08-27 22:23:27 +0000 |
| commit | ee03b5bbb9a45a6e3778c04a815219c4f904e0ee (patch) | |
| tree | 04fb3cfdd38ce910a0c574f4c6b1587f0fbb653f | |
| parent | a4b3d4ec3ee1d3b8ac422a34cbd49895b2dfa425 (diff) | |
| download | bcm5719-llvm-ee03b5bbb9a45a6e3778c04a815219c4f904e0ee.tar.gz bcm5719-llvm-ee03b5bbb9a45a6e3778c04a815219c4f904e0ee.zip | |
[CMake] Unify build rules for sanitizer_common for Apple and non-Apple platforms.
Additionally, link safestack runtime on OS X with nolibc version of
sanitizer_common runtime, as we do on Linux.
llvm-svn: 246227
| -rw-r--r-- | compiler-rt/lib/asan/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | compiler-rt/lib/asan/tests/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | compiler-rt/lib/safestack/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/CMakeLists.txt | 43 | ||||
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | compiler-rt/lib/ubsan/CMakeLists.txt | 1 |
6 files changed, 26 insertions, 24 deletions
diff --git a/compiler-rt/lib/asan/CMakeLists.txt b/compiler-rt/lib/asan/CMakeLists.txt index 3f5f12973ed..6716f48b22b 100644 --- a/compiler-rt/lib/asan/CMakeLists.txt +++ b/compiler-rt/lib/asan/CMakeLists.txt @@ -113,6 +113,7 @@ if(APPLE) OBJECT_LIBS RTAsan_dynamic RTInterception RTSanitizerCommon + RTSanitizerCommonLibc RTLSanCommon RTUbsan CFLAGS ${ASAN_DYNAMIC_CFLAGS} diff --git a/compiler-rt/lib/asan/tests/CMakeLists.txt b/compiler-rt/lib/asan/tests/CMakeLists.txt index 58ab1add457..7a8d8f7f106 100644 --- a/compiler-rt/lib/asan/tests/CMakeLists.txt +++ b/compiler-rt/lib/asan/tests/CMakeLists.txt @@ -220,6 +220,7 @@ macro(add_asan_tests_for_arch_and_kind arch kind) $<TARGET_OBJECTS:RTAsan_dynamic.osx> $<TARGET_OBJECTS:RTInterception.osx> $<TARGET_OBJECTS:RTSanitizerCommon.osx> + $<TARGET_OBJECTS:RTSanitizerCommonLibc.osx> $<TARGET_OBJECTS:RTLSanCommon.osx> $<TARGET_OBJECTS:RTUbsan.osx>) else() diff --git a/compiler-rt/lib/safestack/CMakeLists.txt b/compiler-rt/lib/safestack/CMakeLists.txt index f5d31225d46..9c11bb6f7e6 100644 --- a/compiler-rt/lib/safestack/CMakeLists.txt +++ b/compiler-rt/lib/safestack/CMakeLists.txt @@ -15,6 +15,7 @@ if(APPLE) SOURCES ${SAFESTACK_SOURCES} $<TARGET_OBJECTS:RTInterception.osx> $<TARGET_OBJECTS:RTSanitizerCommon.osx> + $<TARGET_OBJECTS:RTSanitizerCommonNoLibc.osx> CFLAGS ${SAFESTACK_CFLAGS} PARENT_TARGET safestack) else() diff --git a/compiler-rt/lib/sanitizer_common/CMakeLists.txt b/compiler-rt/lib/sanitizer_common/CMakeLists.txt index 6bda9087e80..6a20f025507 100644 --- a/compiler-rt/lib/sanitizer_common/CMakeLists.txt +++ b/compiler-rt/lib/sanitizer_common/CMakeLists.txt @@ -130,31 +130,28 @@ append_list_if(COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG -Wglobal-constructors SANITIZER_CFLAGS) if(APPLE) - # Build universal binary on APPLE. - - add_compiler_rt_object_libraries(RTSanitizerCommon - OS ${SANITIZER_COMMON_SUPPORTED_OS} - ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH} - SOURCES ${SANITIZER_SOURCES} ${SANITIZER_LIBCDEP_SOURCES} - CFLAGS ${SANITIZER_CFLAGS} - DEFS ${SANITIZER_COMMON_DEFINITIONS}) -else() - # Otherwise, build separate libraries for each target. - - add_compiler_rt_object_libraries(RTSanitizerCommon - ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH} - SOURCES ${SANITIZER_SOURCES} CFLAGS ${SANITIZER_CFLAGS} - DEFS ${SANITIZER_COMMON_DEFINITIONS}) - add_compiler_rt_object_libraries(RTSanitizerCommonNoLibc - ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH} - SOURCES ${SANITIZER_NOLIBC_SOURCES} CFLAGS ${SANITIZER_CFLAGS} - DEFS ${SANITIZER_COMMON_DEFINITIONS}) - add_compiler_rt_object_libraries(RTSanitizerCommonLibc - ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH} - SOURCES ${SANITIZER_LIBCDEP_SOURCES} CFLAGS ${SANITIZER_CFLAGS} - DEFS ${SANITIZER_COMMON_DEFINITIONS}) + set(OS_OPTION OS ${SANITIZER_COMMON_SUPPORTED_OS}) endif() +add_compiler_rt_object_libraries(RTSanitizerCommon + ${OS_OPTION} + ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH} + SOURCES ${SANITIZER_SOURCES} + CFLAGS ${SANITIZER_CFLAGS} + DEFS ${SANITIZER_COMMON_DEFINITIONS}) +add_compiler_rt_object_libraries(RTSanitizerCommonNoLibc + ${OS_OPTION} + ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH} + SOURCES ${SANITIZER_NOLIBC_SOURCES} + CFLAGS ${SANITIZER_CFLAGS} + DEFS ${SANITIZER_COMMON_DEFINITIONS}) +add_compiler_rt_object_libraries(RTSanitizerCommonLibc + ${OS_OPTION} + ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH} + SOURCES ${SANITIZER_LIBCDEP_SOURCES} + CFLAGS ${SANITIZER_CFLAGS} + DEFS ${SANITIZER_COMMON_DEFINITIONS}) + # Unit tests for common sanitizer runtime. if(COMPILER_RT_INCLUDE_TESTS) add_subdirectory(tests) diff --git a/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt b/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt index f2f2e1f7973..18b76369a67 100644 --- a/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt +++ b/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt @@ -171,7 +171,8 @@ if(COMPILER_RT_CAN_EXECUTE_TESTS AND NOT ANDROID) # be sure that produced binaries would work. if(APPLE) add_sanitizer_common_lib("RTSanitizerCommon.test.osx" - $<TARGET_OBJECTS:RTSanitizerCommon.osx>) + $<TARGET_OBJECTS:RTSanitizerCommon.osx> + $<TARGET_OBJECTS:RTSanitizerCommonLibc.osx>) else() if(CAN_TARGET_x86_64) add_sanitizer_common_lib("RTSanitizerCommon.test.nolibc.x86_64" diff --git a/compiler-rt/lib/ubsan/CMakeLists.txt b/compiler-rt/lib/ubsan/CMakeLists.txt index e7b1c988df3..5ece9a62cfe 100644 --- a/compiler-rt/lib/ubsan/CMakeLists.txt +++ b/compiler-rt/lib/ubsan/CMakeLists.txt @@ -57,6 +57,7 @@ if(APPLE) OBJECT_LIBS RTUbsan RTUbsan_standalone RTSanitizerCommon + RTSanitizerCommonLibc PARENT_TARGET ubsan) endif() |

