Package: ghc / 8.8.4-2

Metadata

Package Version Patches format
ghc 8.8.4-2 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
use debian gen_contents_index | (download)

ghc.mk | 8 1 + 7 - 0 !
1 file changed, 1 insertion(+), 7 deletions(-)

---
ARM VFPv3D16 | (download)

aclocal.m4 | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 use vfpv3-d16 fpu for arm builds
 Jani writes: The D16 part was Debian/Ubuntu specific, IIRC we define hardfloat
no missing haddock file warning | (download)

utils/ghc-pkg/Main.hs | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 do not emit a warning if the .haddock file is missing
 As it is quite common on Debian installations to install the -dev package
 without the -doc package.
buildpath abi stability.patch | (download)

compiler/iface/MkIface.hs | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

---
x32 use native x86_64 insn.patch | (download)

rts/RtsSymbols.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 use native x86_64 instructions on x32
 This patch enables a few native 64-bit integer instructions
 on x32 which are available on this architecture despite using
 32-bit pointers. These instructions are present on x86_64 but
 not on x86 and ghc checks the size of (void *) to determine
 that. This method fails on x32 since despite using 32-bit
 pointers and hence sizeof(void *) == 4, it still uses the
 full x86_64 instruction set and software-emulated variants
 of the aforementioned 64-bit integer instructions are
 therefore not present in the toolchain which will make ghc
 fail to build on x32.
 See: https://ghc.haskell.org/trac/ghc/ticket/11571
 .

use stage1 binaries for install.patch | (download)

ghc.mk | 8 6 + 2 - 0 !
1 file changed, 6 insertions(+), 2 deletions(-)

 use the stage1 binaries for install
 In order to be able to perform a cross-build, we need to use
 the stage1 binaries during installation. Both ghc and ghc-pkg
 are run during the install target and therefore must be able
 to run on the build machine.
 .
kfreebsd aclocal.m4 | (download)

aclocal.m4 | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

 add kfreebsdgnu to ghc_convert_os in aclocal.m4
local mathjax | (download)

docs/users_guide/conf.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
fix build using unregisterised v8.6 | (download)

includes/stg/MiscClosures.h | 4 4 + 0 - 0 !
1 file changed, 4 insertions(+)

 allow unregisterised ghc-8.6 to build newer ghc
 Commit af9b744bbf1 introduced a regression stopping existing unregisterised
 compilers from being able to compile newer versions of GHC. The problem is
 that the bootstrap compiler uses the newer `includes/stg/MiscClosures.h` file
 where some defines have been renamed, resulting in the following error:
.
 error: stg_atomicModifyMutVarzh undeclared (first use in this function); did you mean stg_atomicModifyMutVar2zh?
.
 For more information, see https://gitlab.haskell.org/ghc/ghc/issues/17111.
.
 This patch can be removed, once ghc-8.6 is no longer the bootstrap compiler.
llvm 11.patch | (download)

configure.ac | 2 1 + 1 - 0 !
llvm-targets | 28 14 + 14 - 0 !
2 files changed, 15 insertions(+), 15 deletions(-)

 use llvm 9
 Backport commits 8c5cb80698 and 8e5851f070 to use LLVM 9.

llvm arm unknown linux gnueabi.patch | (download)

llvm-targets | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 llvm-targets: add arm-unknown-linux-gnueabi
 Add arm-unknown-linux-gnueabi, which is used by Debian's ARM EABI port
 (armel), as an LLVM target.
fix 32bit atomic | (download)

libraries/ghc-prim/cbits/atomic.c | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

 do not define hs_atomic{read,write}64() on non-64bit
3c12355ece0fa14e534c71a9f7327eda9773fad9.patch | (download)

libraries/base/GHC/ByteOrder.hs | 3 3 + 0 - 0 !
libraries/base/GHC/IO/Encoding/CodePage/API.hs | 3 3 + 0 - 0 !
2 files changed, 6 insertions(+)

 [patch] fix endian handling w.r.t. cpp macro words_bigendian

Include header file `ghcautoconf.h` where the CPP macro
`WORDS_BIGENDIAN` is defined. This finally fixes #17337 (in conjunction
with commit 6c59cc71dc).

11f8eef5a9625c77f78a829406c446b615ed6168.patch | (download)

libraries/base/GHC/ByteOrder.hs | 2 1 + 1 - 0 !
libraries/base/GHC/IO/Encoding/CodePage/API.hs | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 [patch] fixup! fix endian handling w.r.t. cpp macro words_bigendian


haddock remove googleapis fonts | (download)

utils/haddock/haddock-api/src/Haddock/Backends/Xhtml.hs | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 remove hard-coded googleapis font url
Bug: https://github.com/haskell/haddock/issues/1211
Bug-Debian: https://bugs.debian.org/963690

fix big endian ffi | (download)

compiler/deSugar/DsForeign.hs | 33 28 + 5 - 0 !
1 file changed, 28 insertions(+), 5 deletions(-)

 [patch] ffi: fix pass small ints in foreign call wrappers

The Haskell calling convention requires integer parameters smaller
than wordsize to be promoted to wordsize (where the upper bits are
don't care). To access such small integer parameter read a word from
the parameter array and then cast that word to the small integer
target type.

Fixes #15933