Version 86 (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, 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 OKOKOKOK
validateIn progress[1]OKOKProbably OKOK[2]OK[1]OK[1]
bootstrap In progressOKOKProbably OKIn progressIn progressIn progress
  • [1] The testsuite performance numbers need to be updated for 32 bit platforms.
  • [2] Mavericks was tested using Clang, and there are some failures (mostly minor driver related things, but not critical.)

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
Dynamic GHCi OKOKNO[1]OKProbably OKIn progressNONO
-dynamic-tooOKOKOKOKProbably OKIn progressNONO
-dynamic OKOKOKOKProbably OKIn progressNONO
  • [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.


  • Dynamic GHCi: ghci uses the system linker and loads dynamic libraries, 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.