mstorsjo wrote: Ok, now I tried this myself (and indeed, it wasn't very hard to set up - sorry for not trying it earlier).
Here's the effect on the configure run, caused by this patch: ```diff --- log-good-truncated 2024-12-18 13:59:16.334711800 +0200 +++ log-bad 2024-12-18 13:58:07.287917504 +0200 @@ -29,10 +29,19 @@ -- Could NOT find Clang (missing: Clang_DIR) -- Performing Test CXX_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG -- Performing Test CXX_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG - Failed --- Performing Test CXX_SUPPORTS_NOSTDLIBXX_FLAG --- Performing Test CXX_SUPPORTS_NOSTDLIBXX_FLAG - Failed --- Performing Test CXX_SUPPORTS_NOSTDINCXX_FLAG --- Performing Test CXX_SUPPORTS_NOSTDINCXX_FLAG - Success +-- Performing Test C_SUPPORTS_NOSTDLIBXX_FLAG +-- Performing Test C_SUPPORTS_NOSTDLIBXX_FLAG - Success +-- Performing Test C_SUPPORTS_NOSTDINCXX_FLAG +-- Performing Test C_SUPPORTS_NOSTDINCXX_FLAG - Success -- Linker detection: LLD -- Performing Test CXX_SUPPORTS_CUSTOM_LINKER --- Performing Test CXX_SUPPORTS_CUSTOM_LINKER - Success +-- Performing Test CXX_SUPPORTS_CUSTOM_LINKER - Failed +CMake Error at /home/martin/code/llvm-project/llvm/cmake/modules/HandleLLVMOpti ons.cmake:412 (message): + Host compiler does not support '-fuse-ld=lld'. Please make sure that 'lld' + is installed and that your host compiler can compile a simple program when + given the option '-fuse-ld=lld'. +Call Stack (most recent call first): + CMakeLists.txt:179 (include) + + +-- Configuring incomplete, errors occurred! ``` So previously, `CXX_SUPPORTS_NOSTDLIBXX_FLAG` failed, so we didn't add `-nostdlib++`. It failed due to the issue that does get fixed by https://github.com/llvm/llvm-project/pull/120370. By applying this change, we happen to go around that issue, so we end up adding `-nostdlib++`, even when it fails to link in C++ mode. So, indeed, https://github.com/llvm/llvm-project/pull/120370 seems like a proper fix for this. Thanks! (Ideally, we probably should probe for support for these flags separately for C and C++ mode, but it would require CMake to have something like `CMAKE_REQUIRED_FLAGS` separately for C and C++, which it doesn't - that's the whole root cause for this mess.) https://github.com/llvm/llvm-project/pull/108357 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits