diff options
author | Alexey Samsonov <samsonov@google.com> | 2012-09-05 09:00:03 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2012-09-05 09:00:03 +0000 |
commit | 0f7d4a4ad69ad20053d8b78c611853e778bd465a (patch) | |
tree | b0f41f3cbe745ea415efc511a4fd1533609cb4bb | |
parent | 656e4eef01b935e7d356e697e0f3ef4c99be2fbf (diff) | |
download | compiler-rt-0f7d4a4ad69ad20053d8b78c611853e778bd465a.tar.gz |
[ASan] hoist more compile flags to SANITIZER_COMMON_CFLAGS var and add the rest of flags/defs from old Makefile to CMake
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@163204 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | lib/asan/CMakeLists.txt | 20 | ||||
-rw-r--r-- | lib/asan/tests/CMakeLists.txt | 5 | ||||
-rw-r--r-- | lib/interception/CMakeLists.txt | 2 | ||||
-rw-r--r-- | lib/sanitizer_common/CMakeLists.txt | 2 |
5 files changed, 19 insertions, 16 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 17268c8b6..082036002 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,9 +77,12 @@ endfunction() # Provide some common commmandline flags for Sanitizer runtimes. set(SANITIZER_COMMON_CFLAGS -fPIC + -fno-builtin -fno-exceptions + -fomit-frame-pointer -funwind-tables -fvisibility=hidden + -O3 ) if(SUPPORTS_NO_VARIADIC_MACROS_FLAG) list(APPEND SANITIZER_COMMON_CFLAGS -Wno-variadic-macros) @@ -89,6 +92,9 @@ check_cxx_compiler_flag(-Wno-c99-extensions if(SUPPORTS_NO_C99_EXTENSIONS_FLAG) list(APPEND SANITIZER_COMMON_CFLAGS -Wno-c99-extensions) endif() +if(APPLE) + list(APPEND SANITIZER_COMMON_CFLAGS -mmacosx-version-min=10.5) +endif() # Because compiler-rt spends a lot of time setting up custom compile flags, # define a handy helper function for it. The compile flags setting in CMake diff --git a/lib/asan/CMakeLists.txt b/lib/asan/CMakeLists.txt index 8051e3352..878eccd62 100644 --- a/lib/asan/CMakeLists.txt +++ b/lib/asan/CMakeLists.txt @@ -28,11 +28,12 @@ set(ASAN_DYLIB_SOURCES include_directories(..) -set(ASAN_CFLAGS - ${SANITIZER_COMMON_CFLAGS} - -fno-builtin - -fomit-frame-pointer - -O3 +set(ASAN_CFLAGS ${SANITIZER_COMMON_CFLAGS}) + +set(ASAN_COMMON_DEFINITIONS + ASAN_HAS_EXCEPTIONS=1 + ASAN_FLEXIBLE_MAPPING_AND_OFFSET=0 + ASAN_NEEDS_SEGV=1 ) set(ASAN_DYLIB_DEFINITIONS @@ -40,15 +41,6 @@ set(ASAN_DYLIB_DEFINITIONS MAC_INTERPOSE_FUNCTIONS=1 ) -if (APPLE) - list(APPEND ASAN_CFLAGS -mmacosx-version-min=10.5) -endif() - -set(ASAN_COMMON_DEFINITIONS - ASAN_HAS_EXCEPTIONS=1 - ASAN_NEEDS_SEGV=1 - ) - set(ASAN_RUNTIME_LIBRARIES) if(APPLE) # Build universal binary on APPLE. diff --git a/lib/asan/tests/CMakeLists.txt b/lib/asan/tests/CMakeLists.txt index d6104d7a5..a998cd81f 100644 --- a/lib/asan/tests/CMakeLists.txt +++ b/lib/asan/tests/CMakeLists.txt @@ -46,6 +46,11 @@ set(ASAN_UNITTEST_INSTRUMENTED_CFLAGS ${ASAN_GTEST_INCLUDE_CFLAGS} -faddress-sanitizer -mllvm "-asan-blacklist=${CMAKE_CURRENT_SOURCE_DIR}/asan_test.ignore" + -mllvm -asan-stack=1 + -mllvm -asan-globals=1 + -mllvm -asan-mapping-scale=0 # default will be used + -mllvm -asan-mapping-offset-log=-1 # default will be used + -mllvm -asan-use-after-return=0 ) function(add_asan_test testsuite testname) diff --git a/lib/interception/CMakeLists.txt b/lib/interception/CMakeLists.txt index 27e0452f3..2c7619b68 100644 --- a/lib/interception/CMakeLists.txt +++ b/lib/interception/CMakeLists.txt @@ -13,7 +13,7 @@ if (APPLE) list(APPEND INTERCEPTION_SOURCES mach_override/mach_override.c) endif () -set(INTERCEPTION_CFLAGS -O3 ${SANITIZER_COMMON_CFLAGS}) +set(INTERCEPTION_CFLAGS ${SANITIZER_COMMON_CFLAGS}) if(APPLE) # Build universal binary on APPLE. diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt index cb425a219..9d798821f 100644 --- a/lib/sanitizer_common/CMakeLists.txt +++ b/lib/sanitizer_common/CMakeLists.txt @@ -18,7 +18,7 @@ set(SANITIZER_SOURCES sanitizer_win.cc ) -set(SANITIZER_CFLAGS -O3 ${SANITIZER_COMMON_CFLAGS}) +set(SANITIZER_CFLAGS ${SANITIZER_COMMON_CFLAGS}) set(SANITIZER_COMMON_DEFINITIONS) |