Skip to content

Commit

Permalink
[runtimes] Don't link against compiler-rt when we don't find it
Browse files Browse the repository at this point in the history
Otherwise, we would end up passing `-lNOTFOUND` to the compiler, which
caused various compiler checks to fail and ended up breaking the build
in the most obscure ways. For example, checks for -faligned-allocation
would fail because the compiler would complain about an unknown library
called NOTFOUND, and we would end up not passing -faligned-allocation
anywhere in our build. This is madness.

An even better alternative would be to simply FATAL_ERROR if we don't
find the builtins library. However, it seems like our build has been
working fine without finding it for a while, so instead of making a
bunch of builds fail, we can figure out why linking against compiler-rt
doesn't actually seem to be required in a follow-up, and perhaps
relax that.
  • Loading branch information
ldionne committed Aug 24, 2022
1 parent c360955 commit 690a469
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
6 changes: 5 additions & 1 deletion libcxx/cmake/config-ix.cmake
Expand Up @@ -61,7 +61,11 @@ if (CXX_SUPPORTS_NOSTDLIBXX_FLAG OR C_SUPPORTS_NODEFAULTLIBS_FLAG)
include(HandleCompilerRT)
find_compiler_rt_library(builtins LIBCXX_BUILTINS_LIBRARY
FLAGS ${LIBCXX_COMPILE_FLAGS})
list(APPEND CMAKE_REQUIRED_LIBRARIES "${LIBCXX_BUILTINS_LIBRARY}")
if (LIBCXX_BUILTINS_LIBRARY)
list(APPEND CMAKE_REQUIRED_LIBRARIES "${LIBCXX_BUILTINS_LIBRARY}")
else()
message(WARNING "Could not find builtins library from libc++")
endif()
elseif (LIBCXX_HAS_GCC_LIB)
list(APPEND CMAKE_REQUIRED_LIBRARIES gcc)
elseif (LIBCXX_HAS_GCC_S_LIB)
Expand Down
6 changes: 5 additions & 1 deletion libcxxabi/cmake/config-ix.cmake
Expand Up @@ -41,7 +41,11 @@ if (CXX_SUPPORTS_NOSTDLIBXX_FLAG OR C_SUPPORTS_NODEFAULTLIBS_FLAG)
include(HandleCompilerRT)
find_compiler_rt_library(builtins LIBCXXABI_BUILTINS_LIBRARY
FLAGS "${LIBCXXABI_COMPILE_FLAGS}")
list(APPEND CMAKE_REQUIRED_LIBRARIES "${LIBCXXABI_BUILTINS_LIBRARY}")
if (LIBCXXABI_BUILTINS_LIBRARY)
list(APPEND CMAKE_REQUIRED_LIBRARIES "${LIBCXXABI_BUILTINS_LIBRARY}")
else()
message(WARNING "Could not find builtins library from libc++abi")
endif()
else ()
if (LIBCXXABI_HAS_GCC_S_LIB)
list(APPEND CMAKE_REQUIRED_LIBRARIES gcc_s)
Expand Down

0 comments on commit 690a469

Please sign in to comment.