summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2015-03-23 23:14:16 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2015-03-23 23:14:16 +0000
commitc4eb977b0f443a656e361bafdf9aa8abd96d38b0 (patch)
treebcd035b49f3e9872ecf05bc3d2aedf3623cffef7 /compiler-rt/lib
parent498f3c341699a5ecf9375e542f7ca337860f19d4 (diff)
downloadbcm5719-llvm-c4eb977b0f443a656e361bafdf9aa8abd96d38b0.tar.gz
bcm5719-llvm-c4eb977b0f443a656e361bafdf9aa8abd96d38b0.zip
[UBSan] Use shared library for UBSan on OS X (compiler-rt part).
Summary: Switch to shared library for UBSan. Add support for building UBSan on OSX and iossim by cargo-culting ASan build rules. Test Plan: regression test suite Reviewers: zaks.anna, kubabrecka Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8473 llvm-svn: 233036
Diffstat (limited to 'compiler-rt/lib')
-rw-r--r--compiler-rt/lib/ubsan/CMakeLists.txt20
1 files changed, 13 insertions, 7 deletions
diff --git a/compiler-rt/lib/ubsan/CMakeLists.txt b/compiler-rt/lib/ubsan/CMakeLists.txt
index 07b163d65c5..8c2d30bad40 100644
--- a/compiler-rt/lib/ubsan/CMakeLists.txt
+++ b/compiler-rt/lib/ubsan/CMakeLists.txt
@@ -22,13 +22,19 @@ set(UBSAN_CXXFLAGS ${SANITIZER_COMMON_CFLAGS})
add_custom_target(ubsan)
if(APPLE)
- # Build universal binary on APPLE.
- add_compiler_rt_osx_static_runtime(clang_rt.ubsan_osx
- ARCH ${UBSAN_SUPPORTED_ARCH}
- SOURCES ${UBSAN_SOURCES} ${UBSAN_CXX_SOURCES}
- $<TARGET_OBJECTS:RTSanitizerCommon.osx>
- CFLAGS ${UBSAN_CXXFLAGS})
- add_dependencies(ubsan clang_rt.ubsan_osx)
+ foreach(os ${SANITIZER_COMMON_SUPPORTED_DARWIN_OS})
+ add_compiler_rt_darwin_object_library(RTUbsan ${os}
+ ARCH ${UBSAN_SUPPORTED_ARCH}
+ SOURCES ${UBSAN_SOURCES} ${UBSAN_CXX_SOURCES}
+ CFLAGS ${UBSAN_CXXFLAGS})
+
+ add_compiler_rt_darwin_dynamic_runtime(clang_rt.ubsan_${os}_dynamic ${os}
+ ARCH ${UBSAN_SUPPORTED_ARCH}
+ SOURCES $<TARGET_OBJECTS:RTUbsan.${os}>
+ $<TARGET_OBJECTS:RTSanitizerCommon.${os}>)
+
+ add_dependencies(ubsan clang_rt.ubsan_${os}_dynamic)
+ endforeach()
else()
# Build separate libraries for each target.
foreach(arch ${UBSAN_SUPPORTED_ARCH})
OpenPOWER on IntegriCloud