llvm.org 上有关于如何将 Gold 插件添加到 LLVM-gcc 的说明;但是从 3.2 版开始,他们不再使用 LLVM-gcc,而是使用 Clang,并且不清楚如何使用它。
- 有谁知道如何将 Gold 插件添加到 LLVM 3.2?
- 我们是否需要安装这个插件,还是嵌入在 Clang 中?
我读过,如果您没有 Gold 插件作为链接器,如果您尝试-O4
使用 LTO,它会将其视为-O3
,但我想这是在您使用 gcc 系统链接器时而不是在使用 Clang 时,对吧?
llvm.org 上有关于如何将 Gold 插件添加到 LLVM-gcc 的说明;但是从 3.2 版开始,他们不再使用 LLVM-gcc,而是使用 Clang,并且不清楚如何使用它。
我读过,如果您没有 Gold 插件作为链接器,如果您尝试-O4
使用 LTO,它会将其视为-O3
,但我想这是在您使用 gcc 系统链接器时而不是在使用 Clang 时,对吧?
1-如果您不想更改 home/bin 目录中的任何内容,则可以在同一位置编译和安装 binutils 和 LLVM,它将在 llvm/bin 目录中自动生成 ld、ar 和(不是 ld_new)首先查看它自己的目录以查找工具(clang -print-search-dirs),因此您可以确定 clang 将首先在链接时调用 ld gold。LLVMgold.html 中没有提到它,但它需要在 lib 中创建 bfd-plugins 目录并在那里安装 LLVMgold.so 和 linLTO.so。
2-为了在 LLVM 中支持 LTO,我们需要黄金插件并且需要重新构建以支持它。-O4 类似于 -O3 -flto