about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc
diff options
context:
space:
mode:
authorJubilee <46493976+workingjubilee@users.noreply.github.com>2021-10-07 20:26:13 -0700
committerGitHub <noreply@github.com>2021-10-07 20:26:13 -0700
commit1c1c6eda94e9841d0a534ba012034b05173c6a13 (patch)
treeae848f52e52239e79087c5c4a5eff245007967c6 /compiler/rustc_codegen_gcc
parent37f17bca7ccca0b393a58c87bb87bac18f371f61 (diff)
parent6162fc0c809477529875b294a8ce37ff8737356c (diff)
downloadrust-1c1c6eda94e9841d0a534ba012034b05173c6a13.tar.gz
rust-1c1c6eda94e9841d0a534ba012034b05173c6a13.zip
Rollup merge of #89288 - rusticstuff:lld_wrapper, r=Mark-Simulacrum
Wrapper for `-Z gcc-ld=lld` to invoke rust-lld with the correct flavor

This PR adds an `lld-wrapper` tool which is installed as `ld` and `ld64` in `lib\rustlib\<host_target>\bin\gcc-ld` directory and whose sole purpose is to invoke `rust-lld` in the parent directory with the correct flavor. Lld decides which flavor to use from either the first two commandline arguments or from the name of the executable (`ld` for GNU/ld flavor, `ld64` for Darwin/Macos/ld64 flavor and so on). Symbolic links could not be used as they are not supported by rustup and on Windows.

The wrapper replaces full copies of rust-lld which added some significant bloat. On UNIXish operating systems it exec rust-lld, on Windows it spawns it as a child process.

Fixes #88869.

r? ```@Mark-Simulacrum```
cc ```@nagisa``` ```@petrochenkov``` ```@1000teslas```
Diffstat (limited to 'compiler/rustc_codegen_gcc')
0 files changed, 0 insertions, 0 deletions