@@ -26,71 +26,6 @@ if (NOT LIBUNWIND_USE_COMPILER_RT)
26
26
endif ()
27
27
endif ()
28
28
29
- # libunwind is using -nostdlib++ at the link step when available,
30
- # otherwise -nodefaultlibs is used. We want all our checks to also
31
- # use one of these options, otherwise we may end up with an inconsistency between
32
- # the flags we think we require during configuration (if the checks are
33
- # performed without one of those options) and the flags that are actually
34
- # required during compilation (which has the -nostdlib++ or -nodefaultlibs). libc is
35
- # required for the link to go through. We remove sanitizers from the
36
- # configuration checks to avoid spurious link errors.
37
-
38
- llvm_check_compiler_linker_flag (CXX "-nostdlib++" CXX_SUPPORTS_NOSTDLIBXX_FLAG )
39
- if (CXX_SUPPORTS_NOSTDLIBXX_FLAG )
40
- set (CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdlib++" )
41
- else ()
42
- llvm_check_compiler_linker_flag (C "-nodefaultlibs" C_SUPPORTS_NODEFAULTLIBS_FLAG )
43
- if (C_SUPPORTS_NODEFAULTLIBS_FLAG )
44
- set (CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nodefaultlibs" )
45
- endif ()
46
- endif ()
47
-
48
- # Only link against compiler-rt manually if we use -nodefaultlibs, since
49
- # otherwise the compiler will do the right thing on its own.
50
- if (NOT CXX_SUPPORTS_NOSTDLIBXX_FLAG AND C_SUPPORTS_NODEFAULTLIBS_FLAG )
51
- if (LIBUNWIND_HAS_C_LIB )
52
- list (APPEND CMAKE_REQUIRED_LIBRARIES c )
53
- endif ()
54
- if (LIBUNWIND_HAS_ROOT_LIB )
55
- list (APPEND CMAKE_REQUIRED_LIBRARIES root )
56
- endif ()
57
- if (LIBUNWIND_USE_COMPILER_RT )
58
- include (HandleCompilerRT )
59
- find_compiler_rt_library (builtins LIBUNWIND_BUILTINS_LIBRARY
60
- FLAGS ${LIBUNWIND_COMPILE_FLAGS} )
61
- list (APPEND CMAKE_REQUIRED_LIBRARIES "${LIBUNWIND_BUILTINS_LIBRARY} " )
62
- else ()
63
- if (LIBUNWIND_HAS_GCC_S_LIB )
64
- list (APPEND CMAKE_REQUIRED_LIBRARIES gcc_s )
65
- endif ()
66
- if (LIBUNWIND_HAS_GCC_LIB )
67
- list (APPEND CMAKE_REQUIRED_LIBRARIES gcc )
68
- endif ()
69
- endif ()
70
- if (MINGW )
71
- # Mingw64 requires quite a few "C" runtime libraries in order for basic
72
- # programs to link successfully with -nodefaultlibs.
73
- if (LIBUNWIND_USE_COMPILER_RT )
74
- set (MINGW_RUNTIME ${LIBUNWIND_BUILTINS_LIBRARY} )
75
- else ()
76
- set (MINGW_RUNTIME gcc_s gcc )
77
- endif ()
78
- set (MINGW_LIBRARIES mingw32 ${MINGW_RUNTIME} moldname mingwex msvcrt advapi32
79
- shell32 user32 kernel32 mingw32 ${MINGW_RUNTIME}
80
- moldname mingwex msvcrt )
81
- list (APPEND CMAKE_REQUIRED_LIBRARIES ${MINGW_LIBRARIES} )
82
- endif ()
83
- endif ()
84
-
85
- if (CXX_SUPPORTS_NOSTDLIBXX_FLAG OR C_SUPPORTS_NODEFAULTLIBS_FLAG )
86
- if (CMAKE_C_FLAGS MATCHES -fsanitize OR CMAKE_CXX_FLAGS MATCHES -fsanitize )
87
- set (CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fno-sanitize=all" )
88
- endif ()
89
- if (CMAKE_C_FLAGS MATCHES -fsanitize-coverage OR CMAKE_CXX_FLAGS MATCHES -fsanitize-coverage )
90
- set (CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fsanitize-coverage=0" )
91
- endif ()
92
- endif ()
93
-
94
29
# Check compiler pragmas
95
30
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
96
31
cmake_push_check_state ()
0 commit comments