rust/src/librustc_target
kennytm e2fdf625e9
Rollup merge of #58976 - phil-opp:patch-2, r=alexcrichton
Default to integrated `rust-lld` linker for UEFI targets

The `x86_64-unknown-uefi` target was added in https://github.com/rust-lang/rust/pull/56769 with the linker defaulting to `lld-link`. This means that a system linker with that name is required for linking.

I think defaulting to `rust-lld`, which is shipped with Rust, is a better default for the following reasons:

- Most systems don't have `lld-link` installed, so it forces users to install it first.
- The naming of LLD executables is not standarized, so users often need to create an additional symlink before things work. For example, on Ubuntu `apt install lld` leads to an executable named `lld-link-6.0`.
- We already default to `rust-lld` for [many targets](https://github.com/rust-lang/rust/search?utf8=%E2%9C%93&q=rust-lld&type=), including embedded and WASM targets, so doing the same for UEFI crates seems consistent to me. (It even seems like `x86_64-unknown-uefi` is the [only target](https://github.com/rust-lang/rust/search?q=lld-link&unscoped_q=lld-link) that uses `lld-link`.)

cc @dvdhrm who added the target and @kkk669 who [proposed to use `rust-lld`](https://github.com/rust-lang/rust/pull/56769#issuecomment-461119648).
2019-03-16 14:56:25 +08:00
..
abi Rename variadic to c_variadic 2019-02-27 10:21:54 -05:00
spec Rollup merge of #58976 - phil-opp:patch-2, r=alexcrichton 2019-03-16 14:56:25 +08:00
build.rs
Cargo.toml librustc_target => 2018 2019-02-08 21:00:07 +09:00
lib.rs rustc: doc comments 2019-02-10 23:42:32 +00:00
README.md

librustc_target contains some very low-level details that are specific to different compilation targets and so forth.

For more information about how rustc works, see the rustc guide.