diff options
author | Alexey Samsonov <samsonov@google.com> | 2014-02-18 08:07:09 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2014-02-18 08:07:09 +0000 |
commit | 62c2164db4cd9586fd35949f961240c1277b55ee (patch) | |
tree | 8c97d7794d81cca74954a3a90c9a69d3b1fa921c /lib/dfsan | |
parent | e5a1ffffd0d17487caba21a0176fe9f7042a7feb (diff) |
[CMake] Check for -fPIE and -ffreestanding flags for consistency
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201549 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/dfsan')
-rw-r--r-- | lib/dfsan/CMakeLists.txt | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/dfsan/CMakeLists.txt b/lib/dfsan/CMakeLists.txt index 8de7498ec..3fa6189eb 100644 --- a/lib/dfsan/CMakeLists.txt +++ b/lib/dfsan/CMakeLists.txt @@ -5,25 +5,27 @@ set(DFSAN_RTL_SOURCES dfsan.cc dfsan_custom.cc dfsan_interceptors.cc) -set(DFSAN_RTL_CFLAGS - ${SANITIZER_COMMON_CFLAGS} - # Prevent clang from generating libc calls. - -ffreestanding) +set(DFSAN_COMMON_CFLAGS ${SANITIZER_COMMON_CFLAGS}) +# Prevent clang from generating libc calls. +append_if(DFSAN_COMMON_CFLAGS COMPILER_RT_HAS_FFREESTANDING_FLAG -ffreestanding) # Static runtime library. add_custom_target(dfsan) set(arch "x86_64") if(CAN_TARGET_${arch}) + set(DFSAN_CFLAGS ${DFSAN_COMMON_CFLAGS}) + append_if(DFSAN_CFLAGS COMPILER_RT_HAS_FPIE_FLAG -fPIE) add_compiler_rt_static_runtime(clang_rt.dfsan-${arch} ${arch} SOURCES ${DFSAN_RTL_SOURCES} $<TARGET_OBJECTS:RTInterception.${arch}> $<TARGET_OBJECTS:RTSanitizerCommon.${arch}> $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}> - CFLAGS ${DFSAN_RTL_CFLAGS} -fPIE) + CFLAGS ${DFSAN_CFLAGS}) + set(DFSAN_NOLIBC_CFLAGS ${DFSAN_COMMON_CFLAGS} -DDFSAN_NOLIBC) add_compiler_rt_static_runtime(clang_rt.dfsan-libc-${arch} ${arch} SOURCES ${DFSAN_RTL_SOURCES} $<TARGET_OBJECTS:RTSanitizerCommon.${arch}> - CFLAGS ${DFSAN_RTL_CFLAGS} -fPIC -DDFSAN_NOLIBC) + CFLAGS ${DFSAN_NOLIBC_CFLAGS}) add_sanitizer_rt_symbols(clang_rt.dfsan-${arch} dfsan.syms.extra) add_dependencies(dfsan clang_rt.dfsan-${arch} |