GHC on mingw-w64 / gcc 4.8.3 on Windows

kyra kyrab at mail.ru
Mon Oct 27 07:00:37 UTC 2014


Ah, Gintautas!

Since I don't follow Phabricator I didn't even suspect you are making 
all this work.

I had a patch to migrate to mingw-w64 gcc 4.8.x (and even 4.9.x, which 
requires extra runtime linker support) both for 64-bit and 32-bit for 
more than half of the year already. That patch is not such a thorough as 
yours is (I didn't bother with downloading the tarball and all that 
stuff), but regarding Linker.c I think it is perhaps more systematic 
than yours.

Why I didn't exposed it to a broad audience was that I believed there 
was not much interest and also because starting at some moment I didn't 
bother to maintain several patches per issue and combined them in one 
big patch (including some nonportable things) and I didn't want to spend 
a time to break it apart to per-issue parts.

During a couple of days I'll extract my patch to Linker.c and put it to 
Phabricator then, and also I'll comment on Linker.c issues.

Btw, I wonder what the problem does "#define _MSVCRT_ 1" solve? I didn't 
need it at all (I never run validate.sh though).

Cheers,
Kyra

On 10/27/2014 12:54 AM, Gintautas Miliauskas wrote:
> The patch to migrate to mingw-w64 / gcc 4.8.3 is finally starting to 
> look reasonable (Phab:D339 <https://phabricator.haskell.org/D339>). Whew!
>
> The part about downloading the tarball was relatively straightforward, 
> but the mingw migration has been really tricky, in part due to the gcc 
> version bump, but mostly, I think, due to use of mingw-w64 on i686 as 
> well (which is a supported configuration). In particular, "#define 
> _MSVCRT_ 1" took ages to figure out after digging through heaps of 
> headers and weird errors. I am not sure I would have signed on if I 
> had an idea of how much effort this needed... Jeez.
>
> On the bright side, now that we have standartised on mingw-w64, 
> further gcc version upgrades should be relatively straightforward.
>
> Could people with some experience in Windows matters take a look at 
> the patch? In particular, rts/Linker.c has been a problem; my fixes 
> there seem to work but I have no idea if the approach is right (the 
> whole file does seem like a grabbag of ad-hocness though).
>
> The patch also could use some more testing (both for x86 and for 
> x86-64). There are still some validate.sh failures (although I am 
> actually seeing fewer than with the legacy setup), some of which could 
> probably be fixed easily. Some additional eyes and fingers on 
> keyboards would be very welcome there.
>
> If you want to experiment with the patch, make sure to also patch in 
> the related changes listed in the last comment on the Phab page.
>
> -- 
> Gintautas Miliauskas
>
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs



More information about the ghc-devs mailing list