Rollup merge of #73184 - mati865:fix-mingw-libs-order, r=petrochenkov

Reoder order in which MinGW libs are linked to fix recent breakage

Recent upstream mingw-w64 changes made libmsvcrt depend on libmingwex breaking compilation in some cases when using **external** MinGW.

Applying this change to the master fixes nightly and stage{1,2} build. For stage0 one has to export `RUSTFLAGS_BOOTSTRAP='-C link-arg=-lmsvcrt'` until this PR lands in bootstrap compiler.
Therefore I'm humbly asking to also backport it to the beta and update bootstrap compiler.
This commit is contained in:
Dylan DPC 2020-06-10 11:03:51 +02:00 committed by GitHub
commit 2b8f1eccaa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -20,9 +20,9 @@ pub fn opts() -> TargetOptions {
late_link_args.insert( late_link_args.insert(
LinkerFlavor::Gcc, LinkerFlavor::Gcc,
vec![ vec![
"-lmsvcrt".to_string(),
"-lmingwex".to_string(), "-lmingwex".to_string(),
"-lmingw32".to_string(), "-lmingw32".to_string(),
"-lmsvcrt".to_string(),
// mingw's msvcrt is a weird hybrid import library and static library. // mingw's msvcrt is a weird hybrid import library and static library.
// And it seems that the linker fails to use import symbols from msvcrt // And it seems that the linker fails to use import symbols from msvcrt
// that are required from functions in msvcrt in certain cases. For example // that are required from functions in msvcrt in certain cases. For example