
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@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs