aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2012-09-05 09:00:03 +0000
committerAlexey Samsonov <samsonov@google.com>2012-09-05 09:00:03 +0000
commit0f7d4a4ad69ad20053d8b78c611853e778bd465a (patch)
treeb0f41f3cbe745ea415efc511a4fd1533609cb4bb
parent656e4eef01b935e7d356e697e0f3ef4c99be2fbf (diff)
downloadcompiler-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.txt6
-rw-r--r--lib/asan/CMakeLists.txt20
-rw-r--r--lib/asan/tests/CMakeLists.txt5
-rw-r--r--lib/interception/CMakeLists.txt2
-rw-r--r--lib/sanitizer_common/CMakeLists.txt2
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)