[compiler-rt] r239955 - [CMake] LSan is not actually available on Darwin.

Justin Bogner mail at justinbogner.com
Wed Jun 17 20:44:14 PDT 2015


Alexey Samsonov <vonosmas at gmail.com> writes:
> Author: samsonov
> Date: Wed Jun 17 17:24:44 2015
> New Revision: 239955
>
> URL: http://llvm.org/viewvc/llvm-project?rev=239955&view=rev
> Log:
> [CMake] LSan is not actually available on Darwin.

CMake fails entirely on Darwin after this change:

    CMake Error at projects/compiler-rt/cmake/Modules/AddCompilerRT.cmake:58 (add_library):
      Error evaluating generator expression:
    
        $<TARGET_OBJECTS:RTInterception.x86_64>
    
      Objects of target "RTInterception.x86_64" referenced but no such target
      exists.
    Call Stack (most recent call first):
      projects/compiler-rt/lib/lsan/CMakeLists.txt:28 (add_compiler_rt_runtime)
    
    
    CMake Error: CMake can not determine linker language for target: clang_rt.lsan-x86_64

Reverting seems to fix it, so I've done that to get my tree building
again in r239985.

> Modified:
>     compiler-rt/trunk/cmake/config-ix.cmake
>     compiler-rt/trunk/lib/lsan/CMakeLists.txt
>     compiler-rt/trunk/test/lsan/CMakeLists.txt
>
> Modified: compiler-rt/trunk/cmake/config-ix.cmake
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/config-ix.cmake?rev=239955&r1=239954&r2=239955&view=diff
> ==============================================================================
> --- compiler-rt/trunk/cmake/config-ix.cmake (original)
> +++ compiler-rt/trunk/cmake/config-ix.cmake Wed Jun 17 17:24:44 2015
> @@ -295,7 +295,7 @@ else()
>  endif()
>  
>  if (COMPILER_RT_HAS_SANITIZER_COMMON AND LSAN_SUPPORTED_ARCH AND
> -    OS_NAME MATCHES "Darwin|Linux|FreeBSD")
> +    OS_NAME MATCHES "Linux|FreeBSD")
>    set(COMPILER_RT_HAS_LSAN TRUE)
>  else()
>    set(COMPILER_RT_HAS_LSAN FALSE)
>
> Modified: compiler-rt/trunk/lib/lsan/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/CMakeLists.txt?rev=239955&r1=239954&r2=239955&view=diff
> ==============================================================================
> --- compiler-rt/trunk/lib/lsan/CMakeLists.txt (original)
> +++ compiler-rt/trunk/lib/lsan/CMakeLists.txt Wed Jun 17 17:24:44 2015
> @@ -24,17 +24,15 @@ add_compiler_rt_object_libraries(RTLSanC
>      SOURCES ${LSAN_COMMON_SOURCES}
>      CFLAGS ${LSAN_CFLAGS})
>  
> -if(NOT APPLE)
> -  foreach(arch ${LSAN_SUPPORTED_ARCH})
> -    add_compiler_rt_runtime(clang_rt.lsan-${arch} ${arch} STATIC
> -      SOURCES ${LSAN_SOURCES}
> -              $<TARGET_OBJECTS:RTInterception.${arch}>
> -              $<TARGET_OBJECTS:RTSanitizerCommon.${arch}>
> -              $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>
> -              $<TARGET_OBJECTS:RTLSanCommon.${arch}>
> -      CFLAGS ${LSAN_CFLAGS})
> -    add_dependencies(lsan clang_rt.lsan-${arch})
> -  endforeach()
> -endif()
> +foreach(arch ${LSAN_SUPPORTED_ARCH})
> +  add_compiler_rt_runtime(clang_rt.lsan-${arch} ${arch} STATIC
> +    SOURCES ${LSAN_SOURCES}
> +            $<TARGET_OBJECTS:RTInterception.${arch}>
> +            $<TARGET_OBJECTS:RTSanitizerCommon.${arch}>
> +            $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>
> +            $<TARGET_OBJECTS:RTLSanCommon.${arch}>
> +    CFLAGS ${LSAN_CFLAGS})
> +  add_dependencies(lsan clang_rt.lsan-${arch})
> +endforeach()
>  
>  add_dependencies(compiler-rt lsan)
>
> Modified: compiler-rt/trunk/test/lsan/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/CMakeLists.txt?rev=239955&r1=239954&r2=239955&view=diff
> ==============================================================================
> --- compiler-rt/trunk/test/lsan/CMakeLists.txt (original)
> +++ compiler-rt/trunk/test/lsan/CMakeLists.txt Wed Jun 17 17:24:44 2015
> @@ -10,14 +10,12 @@ configure_lit_site_cfg(
>    ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
>    ${CMAKE_CURRENT_BINARY_DIR}/AsanConfig/lit.site.cfg)
>  
> -if(NOT APPLE AND NOT ANDROID)
> -  set(LSAN_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS})
> -  if(NOT COMPILER_RT_STANDALONE_BUILD)
> -    list(APPEND LSAN_TEST_DEPS lsan asan)
> -  endif()
> -  add_lit_testsuite(check-lsan "Running the LeakSanitizer tests"
> -    ${CMAKE_CURRENT_BINARY_DIR}/LsanConfig
> -    ${CMAKE_CURRENT_BINARY_DIR}/AsanConfig
> -    DEPENDS ${LSAN_TEST_DEPS})
> -  set_target_properties(check-lsan PROPERTIES FOLDER "LSan tests")
> +set(LSAN_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS})
> +if(NOT COMPILER_RT_STANDALONE_BUILD)
> +  list(APPEND LSAN_TEST_DEPS lsan asan)
>  endif()
> +add_lit_testsuite(check-lsan "Running the LeakSanitizer tests"
> +  ${CMAKE_CURRENT_BINARY_DIR}/LsanConfig
> +  ${CMAKE_CURRENT_BINARY_DIR}/AsanConfig
> +  DEPENDS ${LSAN_TEST_DEPS})
> +set_target_properties(check-lsan PROPERTIES FOLDER "LSan tests")
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list