Skip to content

Commit

Permalink
[cmake] Address Samsonov's post-commit review of r262723
Browse files Browse the repository at this point in the history
Reviewers: samsonov

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D17896

llvm-svn: 262770
  • Loading branch information
filcab committed Mar 5, 2016
1 parent 47dbdd9 commit b08c76f
Show file tree
Hide file tree
Showing 11 changed files with 20 additions and 16 deletions.
11 changes: 8 additions & 3 deletions compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Expand Up @@ -45,9 +45,14 @@ macro(append_string_if condition value)
endif()
endmacro()

macro(append_no_rtti_flag list)
append_list_if(COMPILER_RT_HAS_FNO_RTTI_FLAG -fno-rtti ${list})
append_list_if(COMPILER_RT_HAS_GR_FLAG /GR- ${list})
macro(append_rtti_flag polarity list)
if(polarity)
append_list_if(COMPILER_RT_HAS_FRTTI_FLAG -frtti ${list})
append_list_if(COMPILER_RT_HAS_GR_FLAG /GR ${list})
else()
append_list_if(COMPILER_RT_HAS_FNO_RTTI_FLAG -fno-rtti ${list})
append_list_if(COMPILER_RT_HAS_GR_FLAG /GR- ${list})
endif()
endmacro()

macro(append_have_file_definition filename varname list)
Expand Down
1 change: 1 addition & 0 deletions compiler-rt/cmake/config-ix.cmake
Expand Up @@ -21,6 +21,7 @@ check_cxx_compiler_flag(-funwind-tables COMPILER_RT_HAS_FUNWIND_TABLES_FLAG
check_cxx_compiler_flag(-fno-stack-protector COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG)
check_cxx_compiler_flag(-fno-sanitize=safe-stack COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG)
check_cxx_compiler_flag(-fvisibility=hidden COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG)
check_cxx_compiler_flag(-frtti COMPILER_RT_HAS_FRTTI_FLAG)
check_cxx_compiler_flag(-fno-rtti COMPILER_RT_HAS_FNO_RTTI_FLAG)
check_cxx_compiler_flag(-ffreestanding COMPILER_RT_HAS_FFREESTANDING_FLAG)
check_cxx_compiler_flag("-Werror -fno-function-sections" COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG)
Expand Down
2 changes: 1 addition & 1 deletion compiler-rt/lib/asan/CMakeLists.txt
Expand Up @@ -32,7 +32,7 @@ set(ASAN_PREINIT_SOURCES
include_directories(..)

set(ASAN_CFLAGS ${SANITIZER_COMMON_CFLAGS})
append_no_rtti_flag(ASAN_CFLAGS)
append_rtti_flag(OFF ASAN_CFLAGS)

set(ASAN_COMMON_DEFINITIONS
ASAN_HAS_EXCEPTIONS=1)
Expand Down
2 changes: 1 addition & 1 deletion compiler-rt/lib/dfsan/CMakeLists.txt
Expand Up @@ -6,7 +6,7 @@ set(DFSAN_RTL_SOURCES
dfsan_custom.cc
dfsan_interceptors.cc)
set(DFSAN_COMMON_CFLAGS ${SANITIZER_COMMON_CFLAGS})
append_no_rtti_flag(DFSAN_COMMON_CFLAGS)
append_rtti_flag(OFF DFSAN_COMMON_CFLAGS)
# Prevent clang from generating libc calls.
append_list_if(COMPILER_RT_HAS_FFREESTANDING_FLAG -ffreestanding DFSAN_COMMON_CFLAGS)

Expand Down
2 changes: 1 addition & 1 deletion compiler-rt/lib/interception/CMakeLists.txt
Expand Up @@ -10,7 +10,7 @@ set(INTERCEPTION_SOURCES
include_directories(..)

set(INTERCEPTION_CFLAGS ${SANITIZER_COMMON_CFLAGS})
append_no_rtti_flag(INTERCEPTION_CFLAGS)
append_rtti_flag(OFF INTERCEPTION_CFLAGS)

add_compiler_rt_object_libraries(RTInterception
OS ${SANITIZER_COMMON_SUPPORTED_OS}
Expand Down
2 changes: 1 addition & 1 deletion compiler-rt/lib/lsan/CMakeLists.txt
@@ -1,7 +1,7 @@
include_directories(..)

set(LSAN_CFLAGS ${SANITIZER_COMMON_CFLAGS})
append_no_rtti_flag(LSAN_CFLAGS)
append_rtti_flag(OFF LSAN_CFLAGS)

set(LSAN_COMMON_SOURCES
lsan_common.cc
Expand Down
2 changes: 1 addition & 1 deletion compiler-rt/lib/msan/CMakeLists.txt
Expand Up @@ -17,7 +17,7 @@ set(MSAN_RTL_CXX_SOURCES


set(MSAN_RTL_CFLAGS ${SANITIZER_COMMON_CFLAGS})
append_no_rtti_flag(MSAN_RTL_CFLAGS)
append_rtti_flag(OFF MSAN_RTL_CFLAGS)
append_list_if(COMPILER_RT_HAS_FPIE_FLAG -fPIE MSAN_RTL_CFLAGS)
# Prevent clang from generating libc calls.
append_list_if(COMPILER_RT_HAS_FFREESTANDING_FLAG -ffreestanding MSAN_RTL_CFLAGS)
Expand Down
2 changes: 1 addition & 1 deletion compiler-rt/lib/sanitizer_common/CMakeLists.txt
Expand Up @@ -122,7 +122,7 @@ append_have_file_definition(rpc/xdr.h HAVE_RPC_XDR_H SANITIZER_COMMON_DEFINITION
append_have_file_definition(tirpc/rpc/xdr.h HAVE_TIRPC_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS)

set(SANITIZER_CFLAGS ${SANITIZER_COMMON_CFLAGS})
append_no_rtti_flag(SANITIZER_CFLAGS)
append_rtti_flag(OFF SANITIZER_CFLAGS)

append_list_if(SANITIZER_LIMIT_FRAME_SIZE -Wframe-larger-than=570
SANITIZER_CFLAGS)
Expand Down
2 changes: 1 addition & 1 deletion compiler-rt/lib/tsan/CMakeLists.txt
Expand Up @@ -6,7 +6,7 @@ set(TSAN_CFLAGS ${SANITIZER_COMMON_CFLAGS})
# SANITIZER_COMMON_CFLAGS contains -fPIC, but it's performance-critical for
# TSan runtime to be built with -fPIE to reduce the number of register spills.
append_list_if(COMPILER_RT_HAS_FPIE_FLAG -fPIE TSAN_CFLAGS)
append_no_rtti_flag(TSAN_CFLAGS)
append_rtti_flag(OFF TSAN_CFLAGS)

if(COMPILER_RT_TSAN_DEBUG_OUTPUT)
# Add extra debug information to TSan runtime. This configuration is rarely
Expand Down
2 changes: 1 addition & 1 deletion compiler-rt/lib/tsan/dd/CMakeLists.txt
Expand Up @@ -3,7 +3,7 @@
include_directories(../..)

set(DD_CFLAGS ${SANITIZER_COMMON_CFLAGS})
append_no_rtti_flag(DD_CFLAGS)
append_rtti_flag(OFF DD_CFLAGS)

set(DD_SOURCES
dd_rtl.cc
Expand Down
8 changes: 3 additions & 5 deletions compiler-rt/lib/ubsan/CMakeLists.txt
Expand Up @@ -22,18 +22,16 @@ set(UBSAN_CXX_SOURCES
include_directories(..)

set(UBSAN_CFLAGS ${SANITIZER_COMMON_CFLAGS})
append_no_rtti_flag(UBSAN_CFLAGS)
append_rtti_flag(OFF UBSAN_CFLAGS)
append_list_if(SANITIZER_CAN_USE_CXXABI -DUBSAN_CAN_USE_CXXABI UBSAN_CFLAGS)

set(UBSAN_STANDALONE_CFLAGS ${SANITIZER_COMMON_CFLAGS})
append_no_rtti_flag(UBSAN_STANDALONE_CFLAGS)
append_rtti_flag(OFF UBSAN_STANDALONE_CFLAGS)
append_list_if(SANITIZER_CAN_USE_CXXABI -DUBSAN_CAN_USE_CXXABI UBSAN_STANDALONE_CFLAGS)

set(UBSAN_CXXFLAGS ${SANITIZER_COMMON_CFLAGS})
append_rtti_flag(ON UBSAN_STANDALONE_CXXFLAGS)
append_list_if(SANITIZER_CAN_USE_CXXABI -DUBSAN_CAN_USE_CXXABI UBSAN_CXXFLAGS)
# Make sure we end with -frtti on type_hash
set_property(SOURCE ubsan_type_hash_itanium.cc APPEND_STRING PROPERTY
COMPILE_FLAGS " -frtti")

add_custom_target(ubsan)

Expand Down

0 comments on commit b08c76f

Please sign in to comment.