2.7. Version 9.6.7¶
The LLVM backend
of this release is to be used with LLVM
11, 12, 13, 14 or 15.
2.7.1. Significant Changes¶
Issues fixed in this release include:
2.7.1.1. Compiler¶
Fixed a bug that caused GHC to panic when using the AArch64 ncg and
-fregs-graph
on certain programs (#24941).Fix invalid optimisation of Cmm programs on 32-bit platforms when targetting 64-bit targets (#24893 and #24700).
Improve float-out surrounding applications of
runRW#
(#25055).Fix
-fregs-graph
crash when targetting AArch64 (#24941).Fix code generation of foreign exports with more than 6 arguments when some are subword-width (#24314).
Fix recompilation avoidance behavior of
-fwrite-if-simplified-core
(#24656).Fix linking error when
TypeData
andStrictData
are in use (#24620).-Wmissing-home-modules
now behaves correctly when multiple units have expose the same module name (#25122).Adjust the demand signature of the
prompt#
to avoid invalid optimisation of non-terminating programs (#25439).GHC’s internal
Unique
type has been widened to 64-bits on 32-bit architectures, avoiding potential miscompilations on large projects (#22010).Fix LLVM version detection on newer LLVM versions (#25606).
Determine
max_n_capabilities
at RTS startup, removing the previous static cap at 256 (#25560).Fix out-of-bounds memory mapping logic, resolving an infinite loop on FreeBSD (#25492).
Find C++ probing when GCC version is the latest but G++ is old (#23118).
Consider Wanteds with rewriters as insoluble, fixing a situation where the program fails to typecheck but no errors are reported (#25325).
Fix x86 NCG foreign argument promotion. The x86 NCG now correctly promotes 8 bit and 16 bits arguments by sign extension (#25018).
Fix GHC flag
-working-dir
for foreign files (#25150).Added new flags
-fspec-eval
and-fspec-eval-dictfun
to allow switching off speculative evaluation (#25284).Fix a runtime crash when using the compacting GC, caused by black holes in large objects (#24791).
2.7.1.2. Hadrian and builds¶
Bump the minimum version of the directory dependency for Hadrian to 1.3.9.0 to avoid a race condition on Windows (##24382). Also updated the bootstrap build plans for hadrian.
Hadrian: Set -this-package-name. This fixes package imports for ghci-multi and was required to update the unix package.
Add Ubuntu 22.04 builds for nightlies and release (#25317).
2.7.1.3. JavaScript backend¶
2.7.1.4. base
¶
Bump version to 4.18.2.2
Fix spurious closing of file descriptors after
fork
on platforms using the KQueue event manager backend (#24672), visible on FreeBSD.
2.7.1.5. Other Core Libraries¶
The
filepath
library has been upgraded to 1.4.301.0, fixing a potentially exploitable behavior withsplitFileName
on Windows (#24597).unix-2.8.6.0
is included, fixing an issue affectingmusl
targets.bytestring
has been upgraded to 0.11.5.4, fixing a race condition intoLazyByteString
that could generate wrong results if two threads concurrently evaluated the result.
array
has been upgraded to 0.5.8.0.ghc-bignum
: the bundled gmp library has been upgraded to 6.3.0.
2.7.1.6. 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 |
9.6.7 | The compiler itself |
Cabal-syntax |
3.10.3.0 | Dependency of |
Cabal |
3.10.3.0 | Dependency of |
Win32 |
2.13.3.0 | Dependency of |
array |
0.5.8.0 | Dependency of |
base |
4.18.3.0 | Core library |
binary |
0.8.9.1 | Dependency of |
bytestring |
0.11.5.4 | Dependency of |
containers |
0.6.7 | Dependency of |
deepseq |
1.4.8.1 | Dependency of |
directory |
1.3.8.5 | Dependency of |
exceptions |
0.10.7 | Dependency of |
filepath |
1.4.301.0 | Dependency of |
ghc-boot-th |
9.6.7 | Internal compiler library |
ghc-boot |
9.6.7 | Internal compiler library |
ghc-compact |
0.1.0.0 | Core library |
ghc-heap |
9.6.7 | GHC heap-walking library |
ghc-prim |
0.10.0 | Core library |
ghci |
9.6.7 | The REPL interface |
haskeline |
0.8.2.1 | Dependency of |
hpc |
0.6.2.0 | Dependency of |
integer-gmp |
1.1 | Core library |
libiserv |
9.6.7 | Internal compiler library |
mtl |
2.3.1 | Dependency of |
parsec |
3.1.16.1 | Dependency of |
pretty |
1.1.3.6 | Dependency of |
process |
1.6.19.0 | Dependency of |
stm |
2.5.1.0 | Dependency of |
template-haskell |
2.20.0.0 | Core library |
terminfo |
0.4.1.6 | Dependency of |
text |
2.0.2 | Dependency of |
time |
1.12.2 | Dependency of |
transformers |
0.6.1.0 | Dependency of |
unix |
2.8.6.0 | Dependency of |
xhtml |
3000.2.2.1 | Dependency of |