about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2024-05-23 23:39:26 +0200
committerGitHub <noreply@github.com>2024-05-23 23:39:26 +0200
commitd6a1f1d3fc519af29a27123fb94a4b6934e95de3 (patch)
tree30b0cb085e0111fa836033f4c078c44ca2b64e34 /compiler/rustc_codegen_llvm/src
parent5baee04b6349d176440cb1fcd5424a89f67b9f7b (diff)
parentd64a8bd1e55bd4be1e506792eabd812716d31765 (diff)
downloadrust-d6a1f1d3fc519af29a27123fb94a4b6934e95de3.tar.gz
rust-d6a1f1d3fc519af29a27123fb94a4b6934e95de3.zip
Rollup merge of #125263 - lqd:lld-fallback, r=petrochenkov
rust-lld: fallback to rustc's sysroot if there's no path to the linker in the target sysroot

As seen in #125246, some sysroots don't expect to contain `rust-lld` and want to keep it that way, so we fallback to the default rustc sysroot if there is no path to the linker in any of the sysroot tools search paths. This is how we locate codegen-backends' dylibs already.

People also have requested an error if none of these search paths contain the self-contained linker directory, so there's also an error in that case.

r? `@petrochenkov` cc `@ehuss` `@RalfJung`

I'm not sure where we check for `rust-lld`'s existence on the targets where we use it by default, and if we just ignore it when missing or emit a warning (as I assume we don't emit an error), so I just checked for the existence of `gcc-ld`, where `cc` will look for the lld-wrapper binaries.

<sub>*Feel free to point out better ways to do this, it's the middle of the night here.*</sub>

Fixes #125246
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions