Version 91 (modified by thoughtpolice, 4 years ago) (diff)


Release plans for GHC 7.8


Note that anything not listed here is off Austin's radar.

Pending RC tickets

  • #7602 - OS X 10.8 seemed OK with Austin's patch, but OS X 10.9 needs investigation

RC Checklist

Things tested:

  • Builds cleanly
  • validate runs OK
  • The compiler can bootstrap itself and validate from a binary distribution
Linux (i386)Linux (x86_64)OS X 10.7 (x86_64)OS X 10.8 (x86_64)OS X 10.9 (x86_64)Windows i386Windows x86_64
Builds cleanOKOKOKProbably OK[3]OKOK[2]OK
validateIn progress[1]OKOKProbably OKNOT OKOK[1]OK[1]
bootstrap In progressOKOKProbably OKIn progressOKIn progress
  • [1] The testsuite performance numbers need to be updated for 32 bit platforms.
  • [2] Mavericks was tested using Clang, and there are some make fast failures (mostly minor driver related things, but not critical.)
  • [3] Austin has not directly tested 10.8 yet, but he speculates it is OK based on the 10.7 and preliminary 10.9 results.

The Dynamic Story

The dynamic story is complex. Here's the breakdown:

Linux (i386)Linux (x86_64)FreeBSDOS X 10.7 (x86_64)OS X 10.8 (x86_64)OS X 10.9 (x86_64)Windows i386Windows x86_64
  • [1] Dynamic GHCi is disabled due to a bug in FreeBSD's rtld, but we're waiting for it to make it into a release.
  • [2] Austin has not tested 10.8 yet, but he speculates it is OK based on the 10.7 and preliminary 10.9 results.


  • Dynamic GHCi: ghci uses the system linker and loads dynamic libraries by default, to avoid linker bugs. This is controlled by DYNAMIC_GHC_PROGRAMS=YES.
  • -dynamic-too: strictly an optimization, -dynamic-too allows the compiler to build static and dynamic object files at once. This is convenient for Dynamic GHCi support.
  • -dynamic: allows dynamic linking and dynamic libraries.

The Windows Conundrum

  • Windows is a bit difficult right now.
    • 64bit builds work using the MSYS2 environment with some failures
    • 32bit builds work well using the old environment
      • Austin confirmed the latest HEAD worked in the old 32bit environment, but not the msys2 one: the ghc-stage2.exe segfaults, and Austin hasn't tracked down why.
    • It seems -dynamic is busted, as well as -dynamic-too
    • We're punting all three of them for the RC.
      • This leaves GHC in the same place it was before essentially (but 64bit is in a difficult spot, see #7134)

(Related but not critical: we have too many DLL symbols, and are very close to the limit (#5987). Linking also takes a long time (#8229))

Other things

  • Austin Seipp needs to upload the primops compatibility package for 7.8. This is is easy: mostly a copy of compiler/utils/ExtsCompat64.hs into a Cabal package. See also the compatibility module page.