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


Release plans for GHC 7.8


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

Things to do

  • #8266
  • #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 the testsuite is the same.
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
validateOK[1]OKOKOKNOT OK[2][3]OK[1]OK[4]
bootstrap OKOKOKOKOKOKIn progress[4]
  • [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 is hitting a validation error while building xhtml, which might be due to some interaction with the new Haddock. Otherwise, the compiler builds fine and the testsuite works.

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:
    • YES: ghci uses the system linker to link .so or .dll dynamic libraries, to avoid linker bugs. This is controlled by DYNAMIC_GHC_PROGRAMS=YES.
    • NO: ghci uses GHC's hand-written linker to link .o files.
  • -dynamic: makes GHC produce .so/.dll files rather than .o files.
  • -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.

The Windows Conundrum

  • Windows is a bit difficult right now.
    • Good news: 64bit builds work using the fancy new MSYS2 environment with a few (~6) failures!
    • Bad news: 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.
      • Obvious theory: msys2 environment is incorrectly configured somewhere
      • On the upside, 32bit in the old environment seems quite stable (~3 test failures,) even if make is a bit nutty.
    • It seems -dynamic is busted, as well as -dynamic-too
    • Consequently, GHCi can't be dynamically linked.
    • 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 immediately 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.