[libcxx-commits] [PATCH] D113253: [runtimes] Fix building initial libunwind+libcxxabi+libcxx with compiler implied -lunwind

Petr Hosek via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Nov 5 12:30:03 PDT 2021


phosek added a comment.

In D113253#3112450 <https://reviews.llvm.org/D113253#3112450>, @mstorsjo wrote:

> In D113253#3112382 <https://reviews.llvm.org/D113253#3112382>, @phosek wrote:
>
>> In D113253#3112370 <https://reviews.llvm.org/D113253#3112370>, @mstorsjo wrote:
>>
>>> Hmm, for building the full compiler-rt at the same time as libunwind, for picking it up for use for the sanitizers etc? I currently build all of those in a separate invocation so it's not on my todo list right now... I guess that'd be needed to fix the full from-scratch cases with the llvm/runtimes ("bootstrap") build with no preexisting libunwind.
>>
>> That's our use case. I can look into that after this change lands.
>
> Thanks!
>
> Btw, what's your opinion on the compiler options added via `HandleLLVMOptions` - do they end up in the actual builds of runtimes, or are they just tested but left unused? As when building with `--unwindlib=none`, all of those fail due to the option causing warnings, so such builds would differ from other builds when the option isn't needed.

>From what I know some of the options are used by individual runtimes but not all of them. Furthermore, not all of the options are defined in `HandleLLVMOptions.cmake`. For example, `LLVM_ENABLE_MODULES` is defined in `llvm/CMakeLists.txt` and is used from both `HandleLLVMOptions.cmake` as well as `libcxx/CMakeLists.txt`.

I think we should ideally go over all the LLVM options that are used in runtimes and split those into a separate top-level CMake module and then stop including both `AddLLVM.cmake` and `HandleLLVMOptions.cmake` from the runtimes build.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113253/new/

https://reviews.llvm.org/D113253



More information about the libcxx-commits mailing list