Package: ghc / 8.10.2-1~exp2

Package Version Patches format
ghc 8.10.2-1~exp2 3.0 (quilt)

Patch series

view the series file
Patch File delta Description

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

---

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


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.


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

---

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



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


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

 add kfreebsdgnu to ghc_convert_os in aclocal.m4


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

---

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’?
.
.
This patch can be removed, once ghc-8.6 is no longer the bootstrap compiler.


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.


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


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).



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



1 file changed, 2 insertions(+), 2 deletions(-)

 remove hard-coded googleapis font url