diff options
| author | Mateusz Mikuła <mati865@gmail.com> | 2020-07-16 22:45:41 +0200 |
|---|---|---|
| committer | Mateusz Mikuła <mati865@gmail.com> | 2020-07-16 22:47:11 +0200 |
| commit | 08990e5c7554d4d6a0440debc2edc99c8e9565c8 (patch) | |
| tree | e5557ec38a0b44820ae68a40a9b316d816d98dcb | |
| parent | 6ee1b62c811a6eb68d6db6dfb91f66a49956749b (diff) | |
| download | rust-08990e5c7554d4d6a0440debc2edc99c8e9565c8.tar.gz rust-08990e5c7554d4d6a0440debc2edc99c8e9565c8.zip | |
MinGW: disable self-contained mode when cross compiling
When cross compiling users have to provide own linker and libraries anyway. Using rust provided MinGW crt objects is harmful here and has no benefits.
| -rw-r--r-- | src/librustc_codegen_ssa/back/link.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/librustc_codegen_ssa/back/link.rs b/src/librustc_codegen_ssa/back/link.rs index 3adaa07db91..63ed094acb7 100644 --- a/src/librustc_codegen_ssa/back/link.rs +++ b/src/librustc_codegen_ssa/back/link.rs @@ -1295,7 +1295,9 @@ fn crt_objects_fallback(sess: &Session, crate_type: CrateType) -> bool { Some(CrtObjectsFallback::Musl) => sess.crt_static(Some(crate_type)), // FIXME: Find some heuristic for "native mingw toolchain is available", // likely based on `get_crt_libs_path` (https://github.com/rust-lang/rust/pull/67429). - Some(CrtObjectsFallback::Mingw) => sess.target.target.target_vendor != "uwp", + Some(CrtObjectsFallback::Mingw) => { + sess.host == sess.target.target && sess.target.target.target_vendor != "uwp" + } // FIXME: Figure out cases in which WASM needs to link with a native toolchain. Some(CrtObjectsFallback::Wasm) => true, None => false, |
