6

我正在为 LLVM/Clang 编写自定义通行证,并且重新编译往往需要一段时间并使用大量内存。我听说黄金链接器 (1) 比标准 ld 链接器花费更少的时间和 (2) 使用更少的内存。

有没有办法将标志传递到 LLVM/Clang 构建过程并更改为黄金链接器?根据这个答案,我一直在尝试使用覆盖文件,但我似乎并没有取得很大的成功。

我还要注意,我正在使用 Clang 3.9 编译最新的 Clang/LLVM 构建(4.0);如有必要,我不介意切换回 GCC,但宁愿避免它。

4

1 回答 1

9

Post-4.0(在提交rL292047之后),您应该设置LLVM_USE_LINKERgold

cmake ... -DLLVM_USE_LINKER=gold ...

参考http://llvm.org/docs/CMake.html#llvm-specific-variables


虽然您仍然可以使用,但这些天(2021 年 10 月)如果它存在于您的主机工具链中,您gold可能应该使用它。lld如果您的主机工具链是来自 llvm.org 的 clang+llvm 发行版,它可能会。如果您的主机工具链来自 linux 发行版的包管理器,它可能会可用,但作为单独的独立包安装。

cmake ... -DLLVM_ENABLE_LLD=ON ...
于 2017-01-20T20:20:47.280 回答