[GHC DevOps Group] CircleCI status

Moritz Angermann moritz.angermann at gmail.com
Sat Dec 22 23:00:56 UTC 2018


What prevents us in principle to cross compile ghc on Linux for Windows? We’d still want to use the built artifacts and run the testsuite on Windows I think, but building ghc?

Sent from my iPhone

> On 23 Dec 2018, at 3:36 AM, Phyx <lonetiger at gmail.com> wrote:
> 
> 
> 
>> On Sat, Dec 22, 2018 at 7:21 PM Ben Gamari <ben at well-typed.com> wrote:
>> Phyx <lonetiger at gmail.com> writes:
>> 
>> > On Sat, Dec 22, 2018 at 5:40 PM Ben Gamari <ben at well-typed.com> wrote:
>> >
>> >> Ccing our Windows czar, Tamar.
>> >>
>> >>
>> >> "Greg Steuck (Sh-toy-k)" <gnezdo at google.com> writes:
>> >>
>> >> > FWIW, lld seems pretty well supported on Windows
>> >> > <https://lld.llvm.org/windows_support.html>. We have some evidence that
>> >> lld
>> >> > is faster than gold and ld.bfd on Linux.
>> >> >
>> >> Indeed that is the option that I am investigating. I have opened #16084
>> >> [1] and an msys2 [2] ticket to track this. Unfortunately, GCC shipped
>> >> with msys2 doesn't currently support -fuse-ld=lld, so we are stuck with
>> >> ld.bfd until GCC 9 is released. However, even then it sounds like
>> >> lld <8 and mingw aren't known to interact well.
>> >>
>> >
>> > I wasn't even aware they added a mingw front-end back into LLD, this does
>> > make it a viable option.
>> > That said I also have a somewhat optimized binutils port here
>> > https://github.com/Mistuke/binutils-gdb
>> >
>> > The patch for fuse-ld=lld support is a trivial backport. I can easily build
>> > a GCC 8 release with it included and
>> > a tip of trunk LLD 8 if you'd like to try them out.
>> 
>> That would be fantastic. I quickly looked at what would be involved to
>> do this myself. The process appears to be fairly straightforward
>> However, it's a bit unclear which directory in the MSYS2-packages
>> repository corresponds to the mingw-w64-$(uname -m)-gcc toolchain we use
>> for builds. My guess is that [1] is the relevant package. Can you
>> confirm?
> 
> No, that one is the cross compilers for MSYS2, e.g. when you want to cross compile from
> the posix emulated environment to native Windows. The cross builds still rely on the msys2
> runtime so won't be usable I think.
> 
> We use the full native bootstrapped builds [1]. Note that this is already at GCC8,
> we use GCC 7 in GHC atm, so a validate build may not work due to the new warnings added,
> so require you to turn off -Werror for the experiment. We haven't upgraded to GCC8 as they
> haven't published a GCC8 for the 32 bit builds as Ada is currently broken.
> 
> [1] https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-gcc
>  
>> 
>> > I wouldn't recommend GCC 9 atm as we're in stage 3 and things are
>> > routinely broken..
>> >
>> 
>> Cheers,
>> 
>> - Ben
>> 
>> [1] https://github.com/Alexpux/MSYS2-packages/blob/master/mingw-w64-cross-gcc/PKGBUILD
> _______________________________________________
> Ghc-devops-group mailing list
> Ghc-devops-group at haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devops-group
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devops-group/attachments/20181223/e3115807/attachment.html>


More information about the Ghc-devops-group mailing list