[compiler-rt] r246227 - [CMake] Unify build rules for sanitizer_common for Apple and non-Apple platforms.

Alexey Samsonov via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 27 15:27:24 PDT 2015


+Chris

Sorry if you'll get a bunch of merge conflicts after this change. On a
positive side, this should further simplify further unification of Apple-
and non-Apple- cases.

On Thu, Aug 27, 2015 at 3:23 PM, Alexey Samsonov via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: samsonov
> Date: Thu Aug 27 17:23:27 2015
> New Revision: 246227
>
> URL: http://llvm.org/viewvc/llvm-project?rev=246227&view=rev
> Log:
> [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.
>
> Modified:
>     compiler-rt/trunk/lib/asan/CMakeLists.txt
>     compiler-rt/trunk/lib/asan/tests/CMakeLists.txt
>     compiler-rt/trunk/lib/safestack/CMakeLists.txt
>     compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt
>     compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt
>     compiler-rt/trunk/lib/ubsan/CMakeLists.txt
>
> Modified: compiler-rt/trunk/lib/asan/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/CMakeLists.txt?rev=246227&r1=246226&r2=246227&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/lib/asan/CMakeLists.txt (original)
> +++ compiler-rt/trunk/lib/asan/CMakeLists.txt Thu Aug 27 17:23:27 2015
> @@ -113,6 +113,7 @@ if(APPLE)
>      OBJECT_LIBS RTAsan_dynamic
>                  RTInterception
>                  RTSanitizerCommon
> +                RTSanitizerCommonLibc
>                  RTLSanCommon
>                  RTUbsan
>      CFLAGS ${ASAN_DYNAMIC_CFLAGS}
>
> Modified: compiler-rt/trunk/lib/asan/tests/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/CMakeLists.txt?rev=246227&r1=246226&r2=246227&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/lib/asan/tests/CMakeLists.txt (original)
> +++ compiler-rt/trunk/lib/asan/tests/CMakeLists.txt Thu Aug 27 17:23:27
> 2015
> @@ -220,6 +220,7 @@ macro(add_asan_tests_for_arch_and_kind a
>        $<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()
>
> Modified: compiler-rt/trunk/lib/safestack/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/safestack/CMakeLists.txt?rev=246227&r1=246226&r2=246227&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/lib/safestack/CMakeLists.txt (original)
> +++ compiler-rt/trunk/lib/safestack/CMakeLists.txt Thu Aug 27 17:23:27 2015
> @@ -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()
>
> Modified: compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt?rev=246227&r1=246226&r2=246227&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt (original)
> +++ compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt Thu Aug 27
> 17:23:27 2015
> @@ -130,31 +130,28 @@ append_list_if(COMPILER_RT_HAS_WGLOBAL_C
>                 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)
>
> Modified: compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt?rev=246227&r1=246226&r2=246227&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt (original)
> +++ compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt Thu Aug 27
> 17:23:27 2015
> @@ -171,7 +171,8 @@ if(COMPILER_RT_CAN_EXECUTE_TESTS AND NOT
>    # 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"
>
> Modified: compiler-rt/trunk/lib/ubsan/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/CMakeLists.txt?rev=246227&r1=246226&r2=246227&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/lib/ubsan/CMakeLists.txt (original)
> +++ compiler-rt/trunk/lib/ubsan/CMakeLists.txt Thu Aug 27 17:23:27 2015
> @@ -57,6 +57,7 @@ if(APPLE)
>        OBJECT_LIBS RTUbsan
>                    RTUbsan_standalone
>                    RTSanitizerCommon
> +                  RTSanitizerCommonLibc
>        PARENT_TARGET ubsan)
>    endif()
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>



-- 
Alexey Samsonov
vonosmas at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150827/2a10208b/attachment.html>


More information about the llvm-commits mailing list