Skip to content

Commit d1db74b

Browse files
committed
appveyor: Upgrade to gcc for mingw 6.3.0
This commit sort of brings back rust-lang#40777 by upgrading back to 6.3.0. While investigating rust-lang#40546 it was discovered that 6.3.0 appears to not spurious fail in the same way that 6.2.0 does (which we're currently using). The workaround for rust-lang#40184 contained in rust-lang#40777 did not work so this commit also contains a different workaround for the gdb issue. We will not download the 6.2.0 version of gdb and use that instead of the default version that comes with 6.3.0. I'm going to optimistically say... Closes rust-lang#40546
1 parent 2b4c911 commit d1db74b

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

appveyor.yml

+24-4
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)