8. Release notes for version 8.10.6 — Glasgow Haskell Compiler 8.10.7 User's Guide

# Glasgow Haskell Compiler User's Guide

# 8. Release notes for version 8.10.6

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

The `LLVM backend` of this release is to be used with LLVM versions 9 through 12.

## 8.1. General bug fixes

- Export some RTS symbols required for static builds of GHC (#19763).

- Fix LLVM version checking logic so it no longer complains about supported LLVM versions. (#19973, #19829, #19959)

- Fix some RTS crashes on Darwin due to mixing up the closure sizes of the `aarch64` and `x86-64` backends.

- Fix a crash on the non-moving GC due to incorrect logic for calculating the header size for array write barries (#19715)

- Fix a bug in `base` leading to a high likelihood of space leaks when using lazy bytestrings. (#20107)

- Fix some timer races in the RTS possibly manifesting in #18033 and #20132

- Fix some memory ordering issues manifesting on aarch64-darwin due to an RTS bug (#20093)

- Fix a number of bugs affecting the RTS m32 allocator (#19421)

- Fix a segmentation fault when resizing the GHCi terminal window on aarch64-darwin due to an incorrect foreign import in `haskeline` (#20079)

## 8.2. Packaging fixes

- Actually use the `integer-simple` big integer backend in the Alpine Linux and Windows (integer-simple) releases. (#18967, #19953)

- Don’t include `configure` scripts in windows bindist. (#19868)

- Always create both versioned and unversioned executables with the hadrian bindist. (#20074)

- Give `ghc-pkg` the same version as `ghc` (#20087)

- Bump `containers` to 0.6.5.1

- Bump `base` to 4.14.3.0

- Bump `haskeline` to 0.8.2

- Bump `process` to 1.6.13.2 (#19994)

- Bump `Win32` to 2.6.2.1 (#20202)

## 8.3. Portability fixes

- Fix an issue making GHC unable to build on FreeBSD due to an undefined reference to `libiconv`. (#19958)

- Match the C calling convention on platforms like s390x by sign/zero extending parameters for foreign calls. (#19023)

- Fix `xxHash` duplicate symbol errors on FreeBSD. (#19948)

- Properly honour `-fno-use-rpaths` on darwin. (#20004)

- Fix an issue causing libraries like `network` to fail building due to incorrect linker paths. (#19968)

- Fix a linking portability issue on macOS that resulted in undefined symbol errors for `___darwin_check_fd_set_overflow` (#19950)

## 8.4. Known issues

- A long-standing bug (#16893) which can cause some applications of `unsafeCoerce` to segmentation fault is only partially fixed in this release. This release only avoids this issue in the uses of `unsafeCoerce` in `Data.Typeable.Internal`, which was the proximate cause of #16893.

  However, it is possible that this bug could manifest in user-code using `unsafeCoerce` to perform dynamic type checks. See the ticket for details.

  We expect that this issue will be fixed in the next major release of GHC.

- A long-standing bug (#17760) where some uses of the `touch#` primop can be dropped by the simplifier is present in this release. This bug will be fixed in GHC 9.0.1. In the meantime, see the ticket for mitigations.

## 8.5. 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.

Package | Version | Reason for inclusion
--- | --- | ---
ghc | 8.10.7 | The compiler itself
Cabal | 3.2.1.0 | Dependency of `ghc-pkg` utility
Win32 | 2.6.2.1 | Dependency of `ghc` library
array | 0.5.4.0 | Dependency of `ghc` library
base | 4.14.3.0 | Core library
binary | 0.8.8.0 | Dependency of `ghc` library
bytestring | 0.10.12.0 | Dependency of `ghc` library
containers | 0.6.5.1 | Dependency of `ghc` library
deepseq | 1.4.4.0 | Dependency of `ghc` library
directory | 1.3.6.0 | Dependency of `ghc` library
exceptions | 0.10.4 | Dependency of `haskeline` library
filepath | 1.4.2.1 | Dependency of `ghc` library
ghc-boot-th | 8.10.7 | Internal compiler library
ghc-boot | 8.10.7 | Internal compiler library
ghc-compact | 0.1.0.0 | Core library
ghc-heap | 8.10.7 | GHC heap-walking library
ghc-prim | 0.6.1 | Core library
ghci | 8.10.7 | The REPL interface
haskeline | 0.8.2 | Dependency of `ghci` executable
hpc | 0.6.1.0 | Dependency of `hpc` executable
integer-gmp | 1.0.3.0 | Core library
libiserv | 8.10.7 | Internal compiler library
mtl | 2.2.2 | Dependency of `Cabal` library
parsec | 3.1.14.0 | Dependency of `Cabal` library
pretty | 1.1.3.6 | Dependency of `ghc` library
process | 1.6.13.2 | Dependency of `ghc` library
stm | 2.5.0.1 | Dependency of `haskeline` library
template-haskell | 2.16.0.0 | Core library
terminfo | 0.4.1.4 | Dependency of `haskeline` library
text | 1.2.4.1 | Dependency of `Cabal` library
time | 1.9.3 | Dependency of `ghc` library
transformers | 0.5.6.2 | Dependency of `ghc` library
unix | 2.7.2.2 | Dependency of `ghc` library
xhtml | 3000.2.2.1 | Dependency of `haddock` executable