diff options
author | Hans Wennborg <hans@hanshq.net> | 2015-01-27 20:40:22 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2015-01-27 20:40:22 +0000 |
commit | ebb6f3ae494030246d009634aaee309a79b0b05e (patch) | |
tree | 4e39eb57c1ab5b7d5ab26eb13afcd1d6d7a4ef67 /libcxxabi | |
parent | 469df786598f1d8ba2d8021b1afe8a0c1a102424 (diff) | |
download | llvm-ebb6f3ae494030246d009634aaee309a79b0b05e.zip llvm-ebb6f3ae494030246d009634aaee309a79b0b05e.tar.gz llvm-ebb6f3ae494030246d009634aaee309a79b0b05e.tar.bz2 |
Merging r226823:
------------------------------------------------------------------------
r226823 | logan | 2015-01-22 05:39:08 -0800 (Thu, 22 Jan 2015) | 6 lines
Add -funwind-tables to CMAKE_C_FLAGS.
Without -funwind-tables, the compiler won't generate the unwinding
table for these C functions. However, the functions in libunwind,
such as `_Unwind_Backtrace()`, WILL unwind stack to get the backtrace.
------------------------------------------------------------------------
llvm-svn: 227238
Diffstat (limited to 'libcxxabi')
-rw-r--r-- | libcxxabi/CMakeLists.txt | 4 | ||||
-rw-r--r-- | libcxxabi/cmake/config-ix.cmake | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt index 9468dd3..2ecb7e9 100644 --- a/libcxxabi/CMakeLists.txt +++ b/libcxxabi/CMakeLists.txt @@ -162,6 +162,7 @@ macro(append_if list condition var) endif() endmacro() +set(LIBCXXABI_C_FLAGS "") set(LIBCXXABI_CXX_FLAGS "") set(LIBCXXABI_COMPILE_FLAGS "") set(LIBCXXABI_LINK_FLAGS "") @@ -214,6 +215,8 @@ endif() append_if(LIBCXXABI_CXX_FLAGS LIBCXXABI_HAS_FSTRICT_ALIASING_FLAG -fstrict-aliasing) append_if(LIBCXXABI_CXX_FLAGS LIBCXXABI_HAS_EHSC_FLAG -EHsc) +append_if(LIBCXXABI_C_FLAGS LIBCXXABI_HAS_FUNWIND_TABLES -funwind-tables) + # Assert string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) if (LIBCXXABI_ENABLE_ASSERTIONS) @@ -252,6 +255,7 @@ endif() string(REPLACE ";" " " LIBCXXABI_CXX_FLAGS "${LIBCXXABI_CXX_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LIBCXXABI_CXX_FLAGS}") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBCXXABI_C_FLAGS}") #=============================================================================== # Setup Source Code diff --git a/libcxxabi/cmake/config-ix.cmake b/libcxxabi/cmake/config-ix.cmake index ac31eed..b6ee40f 100644 --- a/libcxxabi/cmake/config-ix.cmake +++ b/libcxxabi/cmake/config-ix.cmake @@ -1,7 +1,9 @@ include(CheckLibraryExists) +include(CheckCCompilerFlag) include(CheckCXXCompilerFlag) # Check compiler flags +check_c_compiler_flag(-funwind-tables LIBCXXABI_HAS_FUNWIND_TABLES) check_cxx_compiler_flag(-fPIC LIBCXXABI_HAS_FPIC_FLAG) check_cxx_compiler_flag(-fstrict-aliasing LIBCXXABI_HAS_FSTRICT_ALIASING_FLAG) check_cxx_compiler_flag(-nodefaultlibs LIBCXXABI_HAS_NODEFAULTLIBS_FLAG) |