如何使用带货物的模具链接器?
我目前使用 lld 作为 Rust 的链接器,但最近遇到了比 lld 更快的模具项目。我想尝试将它用于 Rust 编译,但我不确定如何将它作为链接器传入。在我的.cargo/config文件中,我有:
[target.x86_64-unknown-linux-gnu]
rustflags = [
"-C", "link-arg=-fuse-ld=lld",
]
但我不能只是将其更改lld为mold,或提供mold可执行文件的路径。有没有办法让 gcc 接受链接器的路径?
回答
-fuse-ld不幸的是,gcc 不接受任意路径作为 的参数。不要调整.cargo/config文件,而是尝试cargo build以path/to/mold -run cargo build. 通过这样做,货物模具的影响下运行,并且所有调用/usr/bin/ld,/usr/bin/ld.gold并/usr/bin/ld.lld拦截和替换mold。