diff options
author | Alexander Potapenko <glider@google.com> | 2014-01-28 09:28:57 +0000 |
---|---|---|
committer | Alexander Potapenko <glider@google.com> | 2014-01-28 09:28:57 +0000 |
commit | 5819ad91e6543976f2f65f21715ac012bbe6b339 (patch) | |
tree | dffdda2869eef693773a97a905e080c4603d7852 /lib/sanitizer_common/CMakeLists.txt | |
parent | 9aafd3036a6a7bfa2d63b59fd26c72b77978b719 (diff) |
[ASan] Move the signal handling-related flags to sanitizer_common.
This change is a part of refactoring intended to have common signal handling behavior in all tools.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@200295 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/CMakeLists.txt')
-rw-r--r-- | lib/sanitizer_common/CMakeLists.txt | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt index dd79e4f94..982006df2 100644 --- a/lib/sanitizer_common/CMakeLists.txt +++ b/lib/sanitizer_common/CMakeLists.txt @@ -73,6 +73,20 @@ set(SANITIZER_HEADERS sanitizer_syscall_linux_x86_64.inc sanitizer_thread_registry.h) +set(SANITIZER_COMMON_DEFINITIONS) + +if(ANDROID) + list(APPEND SANITIZER_COMMON_DEFINITIONS + SANITIZER_NEEDS_SEGV=0 + SANITIZER_LOW_MEMORY=1) +elseif(MSVC) + list(APPEND SANITIZER_COMMON_DEFINITIONS + SANITIZER_NEEDS_SEGV=0) +else() + list(APPEND SANITIZER_COMMON_DEFINITIONS + SANITIZER_NEEDS_SEGV=1) +endif() + if (NOT MSVC) set(SANITIZER_CFLAGS ${SANITIZER_COMMON_CFLAGS} @@ -94,7 +108,8 @@ if(APPLE) add_compiler_rt_darwin_object_library(RTSanitizerCommon ${os} ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH} SOURCES ${SANITIZER_SOURCES} ${SANITIZER_LIBCDEP_SOURCES} - CFLAGS ${SANITIZER_CFLAGS}) + CFLAGS ${SANITIZER_CFLAGS} + DEFS ${SANITIZER_COMMON_DEFINITIONS}) list(APPEND SANITIZER_RUNTIME_LIBRARIES RTSanitizerCommon.${os}) endforeach() elseif(ANDROID) @@ -102,18 +117,23 @@ elseif(ANDROID) ${SANITIZER_SOURCES} ${SANITIZER_LIBCDEP_SOURCES}) set_target_compile_flags(RTSanitizerCommon.arm.android ${SANITIZER_CFLAGS}) + set_property(TARGET RTSanitizerCommon.arm.android APPEND PROPERTY + COMPILE_DEFINITIONS ${SANITIZER_COMMON_DEFINITIONS}) list(APPEND SANITIZER_RUNTIME_LIBRARIES RTSanitizerCommon.arm.android) else() # Otherwise, build separate libraries for each target. foreach(arch ${SANITIZER_COMMON_SUPPORTED_ARCH}) add_compiler_rt_object_library(RTSanitizerCommon ${arch} - SOURCES ${SANITIZER_SOURCES} CFLAGS ${SANITIZER_CFLAGS}) + SOURCES ${SANITIZER_SOURCES} CFLAGS ${SANITIZER_CFLAGS} + DEFS ${SANITIZER_COMMON_DEFINITIONS}) add_compiler_rt_object_library(RTSanitizerCommonLibc ${arch} - SOURCES ${SANITIZER_LIBCDEP_SOURCES} CFLAGS ${SANITIZER_CFLAGS}) + SOURCES ${SANITIZER_LIBCDEP_SOURCES} CFLAGS ${SANITIZER_CFLAGS} + DEFS ${SANITIZER_COMMON_DEFINITIONS}) add_compiler_rt_static_runtime(clang_rt.san-${arch} ${arch} SOURCES $<TARGET_OBJECTS:RTSanitizerCommon.${arch}> $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}> - CFLAGS ${SANITIZER_CFLAGS}) + CFLAGS ${SANITIZER_CFLAGS} + DEFS ${SANITIZER_COMMON_DEFINITIONS}) list(APPEND SANITIZER_RUNTIME_LIBRARIES RTSanitizerCommon.${arch} RTSanitizerCommonLibc.${arch}) endforeach() |