summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2017-09-11 21:37:53 +0000
committerVedant Kumar <vsk@apple.com>2017-09-11 21:37:53 +0000
commitd65db8479fb9ff1f4e313d7d90bb92f6f59bafe1 (patch)
treefc1de439dc9a8da489a6e7994e8e5f8f108bb6ed
parent81aed931b6ebd1c6f70920b492676c514ea99d8b (diff)
[ubsan-minimal] Enable on Darwin
Testing: check-ubsan-minimal Differential Revision: https://reviews.llvm.org/D37646 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@312959 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--cmake/config-ix.cmake2
-rw-r--r--lib/ubsan_minimal/CMakeLists.txt5
-rw-r--r--test/ubsan_minimal/lit.common.cfg2
3 files changed, 6 insertions, 3 deletions
diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake
index d688abccb..5820946df 100644
--- a/cmake/config-ix.cmake
+++ b/cmake/config-ix.cmake
@@ -546,7 +546,7 @@ else()
endif()
if (COMPILER_RT_HAS_SANITIZER_COMMON AND UBSAN_SUPPORTED_ARCH AND
- OS_NAME MATCHES "Linux|FreeBSD|NetBSD|Android")
+ OS_NAME MATCHES "Linux|FreeBSD|NetBSD|Android|Darwin")
set(COMPILER_RT_HAS_UBSAN_MINIMAL TRUE)
else()
set(COMPILER_RT_HAS_UBSAN_MINIMAL FALSE)
diff --git a/lib/ubsan_minimal/CMakeLists.txt b/lib/ubsan_minimal/CMakeLists.txt
index adc5d184d..e26fc34ce 100644
--- a/lib/ubsan_minimal/CMakeLists.txt
+++ b/lib/ubsan_minimal/CMakeLists.txt
@@ -16,6 +16,7 @@ add_compiler_rt_component(ubsan-minimal)
# Common parts of UBSan runtime.
add_compiler_rt_object_libraries(RTUbsan_minimal
+ OS ${SANITIZER_COMMON_SUPPORTED_OS}
ARCHS ${UBSAN_COMMON_SUPPORTED_ARCH}
SOURCES ${UBSAN_MINIMAL_SOURCES} CFLAGS ${UBSAN_CFLAGS})
@@ -26,6 +27,7 @@ if(COMPILER_RT_HAS_UBSAN_MINIMAL)
# Standalone UBSan runtimes.
add_compiler_rt_runtime(clang_rt.ubsan_minimal
STATIC
+ OS ${SANITIZER_COMMON_SUPPORTED_OS}
ARCHS ${UBSAN_SUPPORTED_ARCH}
OBJECT_LIBS RTUbsan_minimal
CFLAGS ${UBSAN_CFLAGS}
@@ -33,13 +35,14 @@ if(COMPILER_RT_HAS_UBSAN_MINIMAL)
add_compiler_rt_runtime(clang_rt.ubsan_minimal
SHARED
+ OS ${SANITIZER_COMMON_SUPPORTED_OS}
ARCHS ${UBSAN_SUPPORTED_ARCH}
OBJECT_LIBS RTUbsan_minimal
CFLAGS ${UBSAN_CFLAGS}
LINK_LIBS ${UBSAN_DYNAMIC_LIBS}
PARENT_TARGET ubsan-minimal)
- if (UNIX)
+ if (UNIX 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
diff --git a/test/ubsan_minimal/lit.common.cfg b/test/ubsan_minimal/lit.common.cfg
index 45db6a6f6..6f239ede6 100644
--- a/test/ubsan_minimal/lit.common.cfg
+++ b/test/ubsan_minimal/lit.common.cfg
@@ -30,7 +30,7 @@ config.substitutions.append( ("%clangxx ", build_invocation(clang_ubsan_cxxflags
config.suffixes = ['.c', '.cc', '.cpp']
# Check that the host supports UndefinedBehaviorSanitizerMinimal tests
-if config.host_os not in ['Linux', 'FreeBSD', 'NetBSD']: # TODO: Darwin, Windows
+if config.host_os not in ['Linux', 'FreeBSD', 'NetBSD', 'Darwin']: # TODO: Windows
config.unsupported = True
config.available_features.add('arch=' + config.target_arch)