diff options
Diffstat (limited to 'lib/msan/CMakeLists.txt')
-rw-r--r-- | lib/msan/CMakeLists.txt | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/msan/CMakeLists.txt b/lib/msan/CMakeLists.txt index 0671b59c0025..06f3f65d8e38 100644 --- a/lib/msan/CMakeLists.txt +++ b/lib/msan/CMakeLists.txt @@ -25,13 +25,24 @@ if(CAN_TARGET_${arch}) $<TARGET_OBJECTS:RTInterception.${arch}> $<TARGET_OBJECTS:RTSanitizerCommon.${arch}> $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}> - CFLAGS ${MSAN_RTL_CFLAGS} - SYMS msan.syms) + CFLAGS ${MSAN_RTL_CFLAGS}) list(APPEND MSAN_RUNTIME_LIBRARIES clang_rt.msan-${arch}) + if(UNIX) + add_sanitizer_rt_symbols(clang_rt.msan-${arch} msan.syms.extra) + list(APPEND MSAN_RUNTIME_LIBRARIES clang_rt.msan-${arch}-symbols) + endif() endif() add_compiler_rt_resource_file(msan_blacklist msan_blacklist.txt) +# We should only build MSan unit tests if we can build instrumented libcxx. +set(MSAN_LIBCXX_PATH ${LLVM_MAIN_SRC_DIR}/projects/libcxx) +if(EXISTS ${MSAN_LIBCXX_PATH}/) + set(MSAN_CAN_INSTRUMENT_LIBCXX TRUE) +else() + set(MSAN_CAN_INSTRUMENT_LIBCXX FALSE) +endif() + if(LLVM_INCLUDE_TESTS) add_subdirectory(tests) endif() |