.. _release-9-2-7:

Version 9.2.7
==============

The significant changes to the various parts of the compiler are listed in the
following sections.

The :ghc-flag:`LLVM backend <-fllvm>` of this release is to be used with LLVM
9, 10, 11, or 12.

Compiler
--------

- Fix a bug related to placeholder values (rubbish literals) emitted by
  the worker/wrapper optimisation leading to ``-dcore-lint`` errors and
  compiler panics in certain cases (:ghc-ticket:`19882`, :ghc-ticket:`22914`,
  :ghc-ticket:`23000`).

- Fix a bug with the graph-colouring register allocater leading to compiler
  panics when compiling with ``-fregs-graph`` on AArch64 platforms with the
  native code generator. A fix was also attempted in GHC 9.2.6 but was incomplete
  (:ghc-ticket:`22798`, :ghc-ticket:`23002`).

Runtime system
--------------

- Fix a bug with the RTS linker being unable to resolve the ``setKeepCAFs``
  symbol which started being used by the GHC library in 9.2.6, resulting in code
  depending on this symbol failing to load in GHCi or via a compile time splice
  when using a statically linked GHC, such as on Windows (:ghc-ticket:`22961`).

- Fix a bug with the alignment of RTS data structures that could result in
  segfaults when compiled with high optimisation settings on certain platforms
  (:ghc-ticket:`22975` , :ghc-ticket:`22965`).

- Fix a RTS bug resulting in segfaults while using cost center profiling on code
  that uses the ``newArrayArray#`` primop (:ghc-ticket:`22129`).

- Use C11 compatible static assertion syntax (:ghc-ticket:`22777`).

Build system and packaging
--------------------------

- Remove quarantine attribute when installing binary distribution on MacOS
  (:ghc-ticket:`21506`, :ghc-ticket:`23009`).

- Enable SMP on powerp64{le} (:ghc-ticket:`19825`).

Included libraries
------------------

The package database provided with this distribution also contains a number of
packages other than GHC itself. See the changelogs provided with these packages
for further change information.

.. ghc-package-list::

    libraries/array/array.cabal:             Dependency of ``ghc`` library
    libraries/base/base.cabal:               Core library
    libraries/binary/binary.cabal:           Dependency of ``ghc`` library
    libraries/bytestring/bytestring.cabal:   Dependency of ``ghc`` library
    libraries/Cabal/Cabal/Cabal.cabal:       Dependency of ``ghc-pkg`` utility
    libraries/containers/containers/containers.cabal:   Dependency of ``ghc`` library
    libraries/deepseq/deepseq.cabal:         Dependency of ``ghc`` library
    libraries/directory/directory.cabal:     Dependency of ``ghc`` library
    libraries/exceptions/exceptions.cabal:   Dependency of ``ghc`` and ``haskeline`` library
    libraries/filepath/filepath.cabal:       Dependency of ``ghc`` library
    compiler/ghc.cabal:                      The compiler itself
    libraries/ghci/ghci.cabal:               The REPL interface
    libraries/ghc-boot/ghc-boot.cabal:       Internal compiler library
    libraries/ghc-boot-th/ghc-boot-th.cabal: Internal compiler library
    libraries/ghc-compact/ghc-compact.cabal: Core library
    libraries/ghc-heap/ghc-heap.cabal:       GHC heap-walking library
    libraries/ghc-prim/ghc-prim.cabal:       Core library
    libraries/haskeline/haskeline.cabal:     Dependency of ``ghci`` executable
    libraries/hpc/hpc.cabal:                 Dependency of ``hpc`` executable
    libraries/integer-gmp/integer-gmp.cabal: Core library
    libraries/libiserv/libiserv.cabal:       Internal compiler library
    libraries/mtl/mtl.cabal:                 Dependency of ``Cabal`` library
    libraries/parsec/parsec.cabal:           Dependency of ``Cabal`` library
    libraries/pretty/pretty.cabal:           Dependency of ``ghc`` library
    libraries/process/process.cabal:         Dependency of ``ghc`` library
    libraries/stm/stm.cabal:                 Dependency of ``haskeline`` library
    libraries/template-haskell/template-haskell.cabal:     Core library
    libraries/terminfo/terminfo.cabal:       Dependency of ``haskeline`` library
    libraries/text/text.cabal:               Dependency of ``Cabal`` library
    libraries/time/time.cabal:               Dependency of ``ghc`` library
    libraries/transformers/transformers.cabal: Dependency of ``ghc`` library
    libraries/unix/unix.cabal:               Dependency of ``ghc`` library
    libraries/Win32/Win32.cabal:             Dependency of ``ghc`` library
    libraries/xhtml/xhtml.cabal:             Dependency of ``haddock`` executable