.. _release-8-10-6: Release notes for version 8.10.6 ================================ 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 versions 9 through 12. General bug fixes ----------------- - Export some RTS symbols required for static builds of GHC (:ghc-ticket:`19763`). - Fix LLVM version checking logic so it no longer complains about supported LLVM versions. (:ghc-ticket:`19973`, :ghc-ticket:`19829`, :ghc-ticket:`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 (:ghc-ticket:`19715`) - Fix a bug in ``base`` leading to a high likelihood of space leaks when using lazy bytestrings. (:ghc-ticket:`20107`) - Fix some timer races in the RTS possibly manifesting in :ghc-ticket:`18033` and :ghc-ticket:`20132` - Fix some memory ordering issues manifesting on aarch64-darwin due to an RTS bug (:ghc-ticket:`20093`) - Fix a number of bugs affecting the RTS m32 allocator (:ghc-ticket:`19421`) - Fix a segmentation fault when resizing the GHCi terminal window on aarch64-darwin due to an incorrect foreign import in ``haskeline`` (:ghc-ticket:`20079`) Packaging fixes ----------------- - Actually use the ``integer-simple`` big integer backend in the Alpine Linux and Windows (integer-simple) releases. (:ghc-ticket:`18967`, :ghc-ticket:`19953`) - Don't include ``configure`` scripts in windows bindist. (:ghc-ticket:`19868`) - Always create both versioned and unversioned executables with the hadrian bindist. (:ghc-ticket:`20074`) - Give ``ghc-pkg`` the same version as ``ghc`` (:ghc-ticket:`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 (:ghc-ticket:`19994`) - Bump ``Win32`` to 2.6.2.1 (:ghc-ticket:`20202`) Portability fixes ----------------- - Fix an issue making GHC unable to build on FreeBSD due to an undefined reference to ``libiconv``. (:ghc-ticket:`19958`) - Match the C calling convention on platforms like s390x by sign/zero extending parameters for foreign calls. (:ghc-ticket:`19023`) - Fix ``xxHash`` duplicate symbol errors on FreeBSD. (:ghc-ticket:`19948`) - Properly honour :ghc-flag:`-fno-use-rpaths` on darwin. (:ghc-ticket:`20004`) - Fix an issue causing libraries like ``network`` to fail building due to incorrect linker paths. (:ghc-ticket:`19968`) - Fix a linking portability issue on macOS that resulted in undefined symbol errors for ``___darwin_check_fd_set_overflow`` (:ghc-ticket:`19950`) Known issues ------------ - A long-standing bug (:ghc-ticket:`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 :ghc-ticket:`16893`. However, it is possible that this bug could manifest in user-code using ``unsafeCoerce`` to perform dynamic type checks. See the :ghc-ticket:`ticket <16893>` for details. We expect that this issue will be fixed in the next major release of GHC. - A long-standing bug (:ghc-ticket:`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 :ghc-ticket:`ticket <17760>` for mitigations. 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 ``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