@@ -35,13 +35,13 @@ environment:
3535 RUST_CONFIGURE_ARGS : --build=i686-pc-windows-gnu --enable-ninja
3636 SCRIPT : python x.py test
3737 MINGW_URL : https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
38- MINGW_ARCHIVE : i686-6.2 .0-release-posix-dwarf-rt_v5-rev1 .7z
38+ MINGW_ARCHIVE : i686-6.3 .0-release-posix-dwarf-rt_v5-rev2 .7z
3939 MINGW_DIR : mingw32
4040 - MSYS_BITS : 64
4141 SCRIPT : python x.py test
4242 RUST_CONFIGURE_ARGS : --build=x86_64-pc-windows-gnu --enable-ninja
4343 MINGW_URL : https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
44- MINGW_ARCHIVE : x86_64-6.2 .0-release-posix-seh-rt_v5-rev1 .7z
44+ MINGW_ARCHIVE : x86_64-6.3 .0-release-posix-seh-rt_v5-rev2 .7z
4545 MINGW_DIR : mingw64
4646
4747 # 32/64 bit MSVC and GNU deployment
@@ -60,14 +60,14 @@ environment:
6060 RUST_CONFIGURE_ARGS : --build=i686-pc-windows-gnu --enable-extended --enable-ninja
6161 SCRIPT : python x.py dist
6262 MINGW_URL : https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
63- MINGW_ARCHIVE : i686-6.2 .0-release-posix-dwarf-rt_v5-rev1 .7z
63+ MINGW_ARCHIVE : i686-6.3 .0-release-posix-dwarf-rt_v5-rev2 .7z
6464 MINGW_DIR : mingw32
6565 DEPLOY : 1
6666 - MSYS_BITS : 64
6767 SCRIPT : python x.py dist
6868 RUST_CONFIGURE_ARGS : --build=x86_64-pc-windows-gnu --enable-extended --enable-ninja
6969 MINGW_URL : https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
70- MINGW_ARCHIVE : x86_64-6.2 .0-release-posix-seh-rt_v5-rev1 .7z
70+ MINGW_ARCHIVE : x86_64-6.3 .0-release-posix-seh-rt_v5-rev2 .7z
7171 MINGW_DIR : mingw64
7272 DEPLOY : 1
7373
@@ -96,6 +96,26 @@ install:
9696 - if defined MINGW_URL 7z x -y %MINGW_ARCHIVE% > nul
9797 - if defined MINGW_URL set PATH=%CD%\%MINGW_DIR%\bin;C:\msys64\usr\bin;%PATH%
9898
99+ # Here we do a pretty heinous thing which is to mangle the MinGW installation
100+ # we just had above. Currently, as of this writing, we're using MinGW-w64
101+ # builds of gcc, and that's currently at 6.3.0. We use 6.3.0 as it appears to
102+ # be the first version which contains a fix for #40546, builds randomly
103+ # failing during LLVM due to ar.exe/ranlib.exe failures.
104+ #
105+ # Unfortunately, though, 6.3.0 *also* is the first version of MinGW-w64 builds
106+ # to contain a regression in gdb (#40184). As a result if we were to use the
107+ # gdb provided (7.11.1) then we would fail all debuginfo tests.
108+ #
109+ # In order to fix spurious failures (pretty high priority) we use 6.3.0. To
110+ # avoid disabling gdb tests we download an *old* version of gdb, specifically
111+ # that found inside the 6.2.0 distribution. We then overwrite the 6.3.0 gdb
112+ # with the 6.2.0 gdb to get tests passing.
113+ #
114+ # Note that we don't literally overwrite the gdb.exe binary because it appears
115+ # to just use gdborig.exe, so that's the binary we deal with instead.
116+ - if defined MINGW_URL appveyor-retry appveyor DownloadFile %MINGW_URL%/2017-04-20-%MSYS_BITS%bit-gdborig.exe
117+ - if defined MINGW_URL mv 2017-04-20-%MSYS_BITS%bit-gdborig.exe %MINGW_DIR%\bin\gdborig.exe
118+
99119 # Otherwise pull in the MinGW installed on appveyor
100120 - if NOT defined MINGW_URL set PATH=C:\msys64\mingw%MSYS_BITS%\bin;C:\msys64\usr\bin;%PATH%
101121
0 commit comments