Upgrade GCC to 5.2.0 for Windows x86 and x86_64
authorTamar Christina <tamar@zhox.com>
Wed, 12 Aug 2015 11:33:13 +0000 (13:33 +0200)
committerBen Gamari <ben@smart-cactus.org>
Wed, 12 Aug 2015 15:37:46 +0000 (17:37 +0200)
commit7b211b4e5a38efca437d76ea442495370da7cc9a
tree261c567aadef6b165089b4f5b9707bc0e2acb8c6
parentb0dee6104fed18f6a6c894caaa621a8488d9965f
Upgrade GCC to 5.2.0 for Windows x86 and x86_64

This patch does a few things

- Moved GHC x86 to MinGW-w64 (Using Awson's patch)
- Moves Both GHCs to MSYS2 toolchains
- Completely removes the dependencies on the git tarball repo
  - Downloads only the required tarball for the architecture for
    which we are building
  - Downloads the perl tarball is missing as well
  - Fixed a few bugs in the linker to fix tests on Windows

The links currently point to repo.msys2.org and GitHub, it might be
more desirable to mirror them on
http://downloads.haskell.org/~ghc/mingw/ as with the previous patch
attempt.

For more details on what the MSYS2 packages I include see #10726
(Awson's comment). but it should contain all we need
and no python or fortran, which makes the uncompressed tar a 1-2
hundreds mb smaller.

The `GCC 5.2.0` in the package supports `libgcc` as a shared library,
this is a problem since
when compiling with -shared the produced dll now has a dependency on
`libgcc_s_sjlj-1.dll`.
To solve this the flag `-static-libgcc` is now being used for all GCC
calls on windows.

Test Plan:
./validate was ran both on x86 and x86_64 windows and compared against
the baseline.

A few test were failing due to Ld no longer being noisy. These were
updated.

The changes to the configure script *should* be validated by the build
bots for the other platforms before landing

Reviewers: simonmar, awson, bgamari, austin, thomie

Reviewed By: thomie

Subscribers: #ghc_windows_task_force, thomie, awson

Differential Revision: https://phabricator.haskell.org/D1123

GHC Trac Issues: #10726, #9014, #9218, #10435
compiler/main/SysTools.hs
configure.ac
driver/gcc/gcc.c
rts/Linker.c
tarballs [deleted file]
testsuite/tests/driver/shared001.stderr
testsuite/tests/ghci/linking/ghcilink002.stderr-mingw32
testsuite/tests/ghci/linking/ghcilink005.stderr-mingw32
testsuite/tests/rts/T5435_dyn_asm.stderr-mingw32
testsuite/tests/rts/T5435_dyn_gcc.stderr-mingw32