summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2013-05-08 10:39:05 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2013-05-08 10:39:05 +0000
commit8496afd9f88f5fa35d6cf26d47eaec6d4ebbadb3 (patch)
tree61e304cb9b4ed55c8a0d4a8d79ff616e5bcfa283 /CMakeLists.txt
parentf310654ee19b6887677a09f09e522e36e81eb9da (diff)
downloadcompiler-rt-8496afd9f88f5fa35d6cf26d47eaec6d4ebbadb3.tar.gz
compiler-rt-8496afd9f88f5fa35d6cf26d47eaec6d4ebbadb3.tar.bz2
compiler-rt-8496afd9f88f5fa35d6cf26d47eaec6d4ebbadb3.tar.xz
[nolibc] Disable the GCC stack protector when building sanitizer runtimes.
This is the first in a sequence of changes designed to eliminate the libc dependency in sanitizer_common. The main motivation for these changes is to be able to provide an alternative for the current interceptor-based technique for instrumenting functions in libc. In this new technique, we compile libc with instrumentation. This has the potential advantages of being more accurate than interception and reducing the amount of custom code required for each libc function. As a side effect of this, we cannot depend on libc in the sanitizer runtime due to mutual dependency issues. This change disables the GCC stack protector, which introduces a libc dependency and is enabled by default in Ubuntu. Differential Revision: http://llvm-reviews.chandlerc.com/D755 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@181422 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt1
1 files changed, 1 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9deb608a..f94af32c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -126,6 +126,7 @@ set(SANITIZER_COMMON_CFLAGS
-fno-exceptions
-fomit-frame-pointer
-funwind-tables
+ -fno-stack-protector
-O3
)
if(NOT WIN32)