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
andx86-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 asghc
(#20087)Bump
containers
to 0.6.5.1Bump
base
to 4.14.3.0Bump
haskeline
to 0.8.2Bump
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 ofunsafeCoerce
inData.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.6 | The compiler itself |
Cabal |
3.2.1.0 | Dependency of |
Win32 |
2.6.2.1 | Dependency of |
array |
0.5.4.0 | Dependency of |
base |
4.14.3.0 | Core library |
binary |
0.8.8.0 | Dependency of |
bytestring |
0.10.12.0 | Dependency of |
containers |
0.6.5.1 | Dependency of |
deepseq |
1.4.4.0 | Dependency of |
directory |
1.3.6.0 | Dependency of |
exceptions |
0.10.4 | Dependency of |
filepath |
1.4.2.1 | Dependency of |
ghc-boot-th |
8.10.6 | Internal compiler library |
ghc-boot |
8.10.6 | Internal compiler library |
ghc-compact |
0.1.0.0 | Core library |
ghc-heap |
8.10.6 | GHC heap-walking library |
ghc-prim |
0.6.1 | Core library |
ghci |
8.10.6 | The REPL interface |
haskeline |
0.8.2 | Dependency of |
hpc |
0.6.1.0 | Dependency of |
integer-gmp |
1.0.3.0 | Core library |
libiserv |
8.10.6 | Internal compiler library |
mtl |
2.2.2 | Dependency of |
parsec |
3.1.14.0 | Dependency of |
pretty |
1.1.3.6 | Dependency of |
process |
1.6.13.2 | Dependency of |
stm |
2.5.0.1 | Dependency of |
template-haskell |
2.16.0.0 | Core library |
terminfo |
0.4.1.4 | Dependency of |
text |
1.2.4.1 | Dependency of |
time |
1.9.3 | Dependency of |
transformers |
0.5.6.2 | Dependency of |
unix |
2.7.2.2 | Dependency of |
xhtml |
3000.2.2.1 | Dependency of |