mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-05 12:51:16 +00:00
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: 226823
This commit is contained in:
parent
6b2c971524
commit
dbcd7a35f8
@ -164,6 +164,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 "")
|
||||
@ -216,6 +217,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)
|
||||
@ -260,6 +263,7 @@ append_if(LIBCXXABI_COMPILE_FLAGS LIBCXXABI_SYSROOT
|
||||
"--sysroot ${LIBCXXABI_SYSROOT}")
|
||||
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
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user