diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2013-05-08 10:39:05 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2013-05-08 10:39:05 +0000 |
commit | 8496afd9f88f5fa35d6cf26d47eaec6d4ebbadb3 (patch) | |
tree | 61e304cb9b4ed55c8a0d4a8d79ff616e5bcfa283 /CMakeLists.txt | |
parent | f310654ee19b6887677a09f09e522e36e81eb9da (diff) | |
download | compiler-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.txt | 1 |
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) |