diff --git a/libunwind/cmake/config-ix.cmake b/libunwind/cmake/config-ix.cmake --- a/libunwind/cmake/config-ix.cmake +++ b/libunwind/cmake/config-ix.cmake @@ -26,8 +26,9 @@ # configuration checks to avoid spurious link errors. check_c_compiler_flag(-nostdlib++ LIBUNWIND_SUPPORTS_NOSTDLIBXX_FLAG) -if (LIBUNWIND_SUPPORTS_NOSTDLIBXX_FLAG) - set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdlib++") +check_c_compiler_flag(-unwindlib=none LIBUNWIND_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG) +if (LIBUNWIND_SUPPORTS_NOSTDLIBXX_FLAG AND LIBUNWIND_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG) + set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdlib++ -unwindlib=none") else() check_c_compiler_flag(-nodefaultlibs LIBUNWIND_SUPPORTS_NODEFAULTLIBS_FLAG) if (LIBUNWIND_SUPPORTS_NODEFAULTLIBS_FLAG) diff --git a/libunwind/src/CMakeLists.txt b/libunwind/src/CMakeLists.txt --- a/libunwind/src/CMakeLists.txt +++ b/libunwind/src/CMakeLists.txt @@ -83,8 +83,8 @@ endif() # Setup flags. -if (LIBUNWIND_SUPPORTS_NOSTDLIBXX_FLAG) - add_link_flags_if_supported(-nostdlib++) +if (LIBUNWIND_SUPPORTS_NOSTDLIBXX_FLAG AND LIBUNWIND_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG) + add_link_flags_if_supported(-nostdlib++ -unwindlib=none) else() add_link_flags_if_supported(-nodefaultlibs) endif()