[all-commits] [llvm/llvm-project] 7af584: [libunwind] Try to add --unwindlib=none while conf...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Fri Nov 5 01:11:30 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7af584ed87cc6eddb6adbc451c90fb8867469e06
      https://github.com/llvm/llvm-project/commit/7af584ed87cc6eddb6adbc451c90fb8867469e06
  Author: Martin Storsjö <martin at martin.st>
  Date:   2021-11-05 (Fri, 05 Nov 2021)

  Changed paths:
    A cmake/Modules/CheckLinkerFlag.cmake
    A cmake/Modules/EnableLanguageNolink.cmake
    M libunwind/CMakeLists.txt
    M libunwind/cmake/config-ix.cmake
    M libunwind/src/CMakeLists.txt

  Log Message:
  -----------
  [libunwind] Try to add --unwindlib=none while configuring and building libunwind

If Clang is set up to link directly against libunwind (via the
--unwindlib option, or the corresponding builtin default option),
configuring libunwind will fail while bootstrapping (before the
initial libunwind is built), because every cmake test will
fail due to -lunwind not being found, and linking the shared library
will fail similarly.

Check if --unwindlib=none is supported, and add it in that case.
Using check_c_compiler_flag on its own doesn't work, because that only
adds the tested flag to the compilation command, and if -lunwind is
missing, the linking step would still fail - instead try adding it
to CMAKE_REQUIRED_FLAGS and restore the variable if it doesn't work.

This avoids having to pass --unwindlib=none while building libunwind.

Differential Revision: https://reviews.llvm.org/D112126




More information about the All-commits mailing list