Gianfranco Costamagna [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Merge ghc (9.6.6-3) import into refs/heads/workingbranch
lrzlin [Thu, 12 Jan 2023 16:56:37 +0000 (00:56 +0800)]
[PATCH] Enable tables next to code for LoongArch64
Gbp-Pq: Name
7e2d3eb507da184cf3337d36715fd82a81643d91.patch
Sylvain Henry [Thu, 1 Aug 2024 13:59:14 +0000 (15:59 +0200)]
[PATCH] Cmm: don't perform unsound optimizations on 32-bit compiler hosts
-
beef61351b240967b49169d27a9a19565cf3c4af enabled the use of
MO_Add/MO_Sub for 64-bit operations in the C and LLVM backends
-
6755d833af8c21bbad6585144b10e20ac4a0a1ab did the same for the x86 NCG
backend
However we store some literal values as `Int` in the compiler. As a
result, some Cmm optimizations transformed target 64-bit literals into
compiler `Int`. If the compiler is 32-bit, this leads to computing with
wrong literals (see #24893 and #24700).
This patch disables these Cmm optimizations for 32-bit compilers. This
is unsatisfying (optimizations shouldn't be compiler-word-size
dependent) but it fixes the bug and it makes the patch easy to backport.
A proper fix would be much more invasive but it shall be implemented in
the future.
Co-authored-by: amesgen <amesgen@amesgen.de>
Gbp-Pq: Name pr-13096
Ilias Tsitsimpis [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Add more hadrian bootstrap plans
Hadrian only contains bootstrap plans for previous GHC versions. Add plans for
the current version as well, since we may want to bootstrap hadrian with a
cross-compiled GHC that is of the same version as the GHC we are building here.
Gbp-Pq: Name hadrian-plans
Olivier Benz [Sat, 25 May 2024 10:29:13 +0000 (12:29 +0200)]
[PATCH] Bump max LLVM version to 19 (not inclusive)
Gbp-Pq: Name llvm-newer-version
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
llvm-new-pass-manager
commit
77db84aba1ba00f6d146e9107b24c6203798e796
Author: Ben Gamari <bgamari.foss@gmail.com>
Date: Wed Jan 31 08:58:58 2024 -0500
llvmGen: Adapt to allow use of new pass manager.
We now must use `-passes` in place of `-O<n>` due to #21936.
Closes #21936.
Gbp-Pq: Name llvm-new-pass-manager
Marios Titas [Sun, 2 Oct 2022 20:12:43 +0000 (23:12 +0300)]
[PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t
Gbp-Pq: Name time_t-time
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
hurd-hadrian-supportrpaths
Can be dropped with 9.8.1
Debian-Bug: https://bugs.debian.org/
1056305
Gbp-Pq: Name hurd-hadrian-supportrpaths
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
hurd-hadrian-osstring
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11624
Debian-Bug: https://bugs.debian.org/
1056305
Gbp-Pq: Name hurd-hadrian-osstring
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
hurd-getExecutablePath
Also applies in 9.6.x
Can be dropped with 9.8.1
Debian-Bug: https://bugs.debian.org/
1056305
Gbp-Pq: Name hurd-getExecutablePath
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
hurd-cabal-supportrpaths
https://github.com/haskell/cabal/pull/9441
Debian-Bug: https://bugs.debian.org/
1056305
Gbp-Pq: Name hurd-cabal-supportrpaths
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
hurd-cabal-osstring
https://github.com/haskell/cabal/pull/9434
Debian-Bug: https://bugs.debian.org/
1056305
Gbp-Pq: Name hurd-cabal-osstring
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
sparc64-cabal-support
Debian-Bug: https://bugs.debian.org/
1056033
Gbp-Pq: Name sparc64-cabal-support
Peter Trommler [Tue, 7 Nov 2023 20:47:24 +0000 (21:47 +0100)]
[PATCH] PPC NCG: Generate clear right insn at arch width
The clear right immediate (clrrxi) is only available in word and
doubleword width. Generate clrrxi instructions at architecture
width for all MachOp widths.
Fixes #24145
Gbp-Pq: Name ppc64el-fix-clrri
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
use-modern-atomics
commit
f8fa1d08d7cbfef508bab355bda80f495e928f98
Author: Ben Gamari <bgamari.foss@gmail.com>
Date: Mon Apr 17 21:04:47 2023 +0000
ghc-prim: Use C11 atomics
Previously `ghc-prim`'s atomic wrappers used the legacy `__sync_*`
family of C builtins. Here we refactor these to rather use the
appropriate C11 atomic equivalents, allowing us to be more explicit
about the expected ordering semantics.
Gbp-Pq: Name use-modern-atomics
Ilias Tsitsimpis [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Enable GHCi on all platforms in Debian
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/24098
Gbp-Pq: Name hadrian-enable-interpreter
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
hadrian-disable-threaded
===================================================================
Gbp-Pq: Name hadrian-disable-threaded
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
sparc-support
===================================================================
Gbp-Pq: Name sparc-support
Ilias Tsitsimpis [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Allow setting path for LLC/OPT during configuration
Patch configure.ac to allow us to modify the path for LLC/OPT during
configuration.
Gbp-Pq: Name allow-setting-llvm-program
Ilias Tsitsimpis [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Fix installation patch for iserv/unlit
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/22557
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/22697
Gbp-Pq: Name hadrian-iserv
Ilias Tsitsimpis [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Use realpath instead of custom script
Use realpath instead of the custom script, which is broken. As an example,
$ ./mk/relpath.sh /usr/lib/ghc/lib /usr/lib/ghc-doc
..-doc
$ realpath --relative-to=/usr/lib/ghc/lib /usr/lib/ghc-doc
../../ghc-doc
Gbp-Pq: Name hadrian-relpath
Ilias Tsitsimpis [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Pass 'mathjax' to Haddock
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/23625
Hadrian currently doesn't allow us to modify Haddock options, so
patch Hadrian to manually pass the 'mathjax' option.
Gbp-Pq: Name hadrian-haddock-opts
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
use-unbundled-sphinx-rtd-theme
===================================================================
Gbp-Pq: Name use-unbundled-sphinx-rtd-theme
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Fix LLVM error on armel
GHC 8.10 fails to build on armel with the following error:
LLVM ERROR: unable to allocate function argument #8
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc-12 -O2 -enable-tbaa -relocation-model=pic -mcpu=arm7tdmi -mattr=+soft-float,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-fp16,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fullfp16,-fp64,-d32,-neon,-crypto,-dotprod,-fp16fml,-bf16,-mve,-mve.fp,-fpregs,+strict-align /tmp/ghc5537_0/ghc_6.bc -o /tmp/ghc5537_0/ghc_7.lm_s
1. Running pass 'Function Pass Manager' on module '/tmp/ghc20177_0/ghc_6.bc'.
2. Running pass 'ARM Instruction Selection' on function '@"stg_gc_f1$def"'
`llc-12' failed in phase `LLVM Compiler'. (Exit code: -6)
make[3]: *** [rts/ghc.mk:325: rts/dist/build/HeapStackCheck.o] Error 1
Surprisingly, reverting commit
4540bbe2811e860f35de6e67ab2f0040592fd3a5 fixes
thie error.
Author: Ilias Tsitsimpis <iliastsi@debian.org>
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/20285
Gbp-Pq: Name fix-llvm-armel
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Remove hard-coded googleapis font URL
Bug: https://github.com/haskell/haddock/issues/1211
Bug-Debian: https://bugs.debian.org/963690
Gbp-Pq: Name haddock-remove-googleapis-fonts
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
local-mathjax
===================================================================
Gbp-Pq: Name local-mathjax
Svante Signell [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Add kfreebsdgnu to GHC_CONVERT_OS in aclocal.m4
Bug-Debian: https://bugs.debian.org/913140
Gbp-Pq: Name kfreebsd-aclocal.m4
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
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
Gbp-Pq: Name x32-use-native-x86_64-insn.patch
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
buildpath-abi-stability
Forwarded to https://ghc.haskell.org/trac/ghc/ticket/10424
Forwarded to https://ghc.haskell.org/trac/ghc/ticket/10424
Gbp-Pq: Name buildpath-abi-stability.patch
Joachim Breitner [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
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.
Gbp-Pq: Name no-missing-haddock-file-warning
Jani Monoses [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Use VFPv3-D16 FPU for ARM builds
Upstream-Bug: https://ghc.haskell.org/trac/ghc/ticket/5914
Jani writes: The D16 part was Debian/Ubuntu specific, IIRC we define hardfloat
in that particular variant (16 double registers) or we had a different naming
for some reason.
Gbp-Pq: Name ARM-VFPv3D16
Gianfranco Costamagna [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
ghc (9.6.6-3) unstable; urgency=medium
[ fanpeng <fanpeng@loongson.cn> ]
* debian/patches/
7e2d3eb507da184cf3337d36715fd82a81643d91.patch:
- upstream fix for loong64 build failures (Closes: #
1085966)
[dgit import unpatched ghc 9.6.6-3]
Gianfranco Costamagna [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Import ghc_9.6.6-3.debian.tar.xz
[dgit import tarball ghc 9.6.6-3 ghc_9.6.6-3.debian.tar.xz]
Ilias Tsitsimpis [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Merge ghc (9.6.6-2) import into refs/heads/workingbranch
Sylvain Henry [Thu, 1 Aug 2024 13:59:14 +0000 (15:59 +0200)]
[PATCH] Cmm: don't perform unsound optimizations on 32-bit compiler hosts
-
beef61351b240967b49169d27a9a19565cf3c4af enabled the use of
MO_Add/MO_Sub for 64-bit operations in the C and LLVM backends
-
6755d833af8c21bbad6585144b10e20ac4a0a1ab did the same for the x86 NCG
backend
However we store some literal values as `Int` in the compiler. As a
result, some Cmm optimizations transformed target 64-bit literals into
compiler `Int`. If the compiler is 32-bit, this leads to computing with
wrong literals (see #24893 and #24700).
This patch disables these Cmm optimizations for 32-bit compilers. This
is unsatisfying (optimizations shouldn't be compiler-word-size
dependent) but it fixes the bug and it makes the patch easy to backport.
A proper fix would be much more invasive but it shall be implemented in
the future.
Co-authored-by: amesgen <amesgen@amesgen.de>
Gbp-Pq: Name pr-13096
Ilias Tsitsimpis [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Add more hadrian bootstrap plans
Hadrian only contains bootstrap plans for previous GHC versions. Add plans for
the current version as well, since we may want to bootstrap hadrian with a
cross-compiled GHC that is of the same version as the GHC we are building here.
Gbp-Pq: Name hadrian-plans
Olivier Benz [Sat, 25 May 2024 10:29:13 +0000 (12:29 +0200)]
[PATCH] Bump max LLVM version to 19 (not inclusive)
Gbp-Pq: Name llvm-newer-version
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
llvm-new-pass-manager
commit
77db84aba1ba00f6d146e9107b24c6203798e796
Author: Ben Gamari <bgamari.foss@gmail.com>
Date: Wed Jan 31 08:58:58 2024 -0500
llvmGen: Adapt to allow use of new pass manager.
We now must use `-passes` in place of `-O<n>` due to #21936.
Closes #21936.
Gbp-Pq: Name llvm-new-pass-manager
Marios Titas [Sun, 2 Oct 2022 20:12:43 +0000 (23:12 +0300)]
[PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t
Gbp-Pq: Name time_t-time
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
hurd-hadrian-supportrpaths
Can be dropped with 9.8.1
Debian-Bug: https://bugs.debian.org/
1056305
Gbp-Pq: Name hurd-hadrian-supportrpaths
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
hurd-hadrian-osstring
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11624
Debian-Bug: https://bugs.debian.org/
1056305
Gbp-Pq: Name hurd-hadrian-osstring
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
hurd-getExecutablePath
Also applies in 9.6.x
Can be dropped with 9.8.1
Debian-Bug: https://bugs.debian.org/
1056305
Gbp-Pq: Name hurd-getExecutablePath
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
hurd-cabal-supportrpaths
https://github.com/haskell/cabal/pull/9441
Debian-Bug: https://bugs.debian.org/
1056305
Gbp-Pq: Name hurd-cabal-supportrpaths
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
hurd-cabal-osstring
https://github.com/haskell/cabal/pull/9434
Debian-Bug: https://bugs.debian.org/
1056305
Gbp-Pq: Name hurd-cabal-osstring
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
sparc64-cabal-support
Debian-Bug: https://bugs.debian.org/
1056033
Gbp-Pq: Name sparc64-cabal-support
Peter Trommler [Tue, 7 Nov 2023 20:47:24 +0000 (21:47 +0100)]
[PATCH] PPC NCG: Generate clear right insn at arch width
The clear right immediate (clrrxi) is only available in word and
doubleword width. Generate clrrxi instructions at architecture
width for all MachOp widths.
Fixes #24145
Gbp-Pq: Name ppc64el-fix-clrri
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
use-modern-atomics
commit
f8fa1d08d7cbfef508bab355bda80f495e928f98
Author: Ben Gamari <bgamari.foss@gmail.com>
Date: Mon Apr 17 21:04:47 2023 +0000
ghc-prim: Use C11 atomics
Previously `ghc-prim`'s atomic wrappers used the legacy `__sync_*`
family of C builtins. Here we refactor these to rather use the
appropriate C11 atomic equivalents, allowing us to be more explicit
about the expected ordering semantics.
Gbp-Pq: Name use-modern-atomics
Ilias Tsitsimpis [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Enable GHCi on all platforms in Debian
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/24098
Gbp-Pq: Name hadrian-enable-interpreter
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
hadrian-disable-threaded
===================================================================
Gbp-Pq: Name hadrian-disable-threaded
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
sparc-support
===================================================================
Gbp-Pq: Name sparc-support
Ilias Tsitsimpis [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Allow setting path for LLC/OPT during configuration
Patch configure.ac to allow us to modify the path for LLC/OPT during
configuration.
Gbp-Pq: Name allow-setting-llvm-program
Ilias Tsitsimpis [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Fix installation patch for iserv/unlit
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/22557
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/22697
Gbp-Pq: Name hadrian-iserv
Ilias Tsitsimpis [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Use realpath instead of custom script
Use realpath instead of the custom script, which is broken. As an example,
$ ./mk/relpath.sh /usr/lib/ghc/lib /usr/lib/ghc-doc
..-doc
$ realpath --relative-to=/usr/lib/ghc/lib /usr/lib/ghc-doc
../../ghc-doc
Gbp-Pq: Name hadrian-relpath
Ilias Tsitsimpis [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Pass 'mathjax' to Haddock
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/23625
Hadrian currently doesn't allow us to modify Haddock options, so
patch Hadrian to manually pass the 'mathjax' option.
Gbp-Pq: Name hadrian-haddock-opts
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
use-unbundled-sphinx-rtd-theme
===================================================================
Gbp-Pq: Name use-unbundled-sphinx-rtd-theme
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Fix LLVM error on armel
GHC 8.10 fails to build on armel with the following error:
LLVM ERROR: unable to allocate function argument #8
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc-12 -O2 -enable-tbaa -relocation-model=pic -mcpu=arm7tdmi -mattr=+soft-float,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-fp16,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fullfp16,-fp64,-d32,-neon,-crypto,-dotprod,-fp16fml,-bf16,-mve,-mve.fp,-fpregs,+strict-align /tmp/ghc5537_0/ghc_6.bc -o /tmp/ghc5537_0/ghc_7.lm_s
1. Running pass 'Function Pass Manager' on module '/tmp/ghc20177_0/ghc_6.bc'.
2. Running pass 'ARM Instruction Selection' on function '@"stg_gc_f1$def"'
`llc-12' failed in phase `LLVM Compiler'. (Exit code: -6)
make[3]: *** [rts/ghc.mk:325: rts/dist/build/HeapStackCheck.o] Error 1
Surprisingly, reverting commit
4540bbe2811e860f35de6e67ab2f0040592fd3a5 fixes
thie error.
Author: Ilias Tsitsimpis <iliastsi@debian.org>
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/20285
Gbp-Pq: Name fix-llvm-armel
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Remove hard-coded googleapis font URL
Bug: https://github.com/haskell/haddock/issues/1211
Bug-Debian: https://bugs.debian.org/963690
Gbp-Pq: Name haddock-remove-googleapis-fonts
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
local-mathjax
===================================================================
Gbp-Pq: Name local-mathjax
Svante Signell [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Add kfreebsdgnu to GHC_CONVERT_OS in aclocal.m4
Bug-Debian: https://bugs.debian.org/913140
Gbp-Pq: Name kfreebsd-aclocal.m4
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
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
Gbp-Pq: Name x32-use-native-x86_64-insn.patch
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
buildpath-abi-stability
Forwarded to https://ghc.haskell.org/trac/ghc/ticket/10424
Forwarded to https://ghc.haskell.org/trac/ghc/ticket/10424
Gbp-Pq: Name buildpath-abi-stability.patch
Joachim Breitner [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
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.
Gbp-Pq: Name no-missing-haddock-file-warning
Jani Monoses [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Use VFPv3-D16 FPU for ARM builds
Upstream-Bug: https://ghc.haskell.org/trac/ghc/ticket/5914
Jani writes: The D16 part was Debian/Ubuntu specific, IIRC we define hardfloat
in that particular variant (16 double registers) or we had a different naming
for some reason.
Gbp-Pq: Name ARM-VFPv3D16
Ilias Tsitsimpis [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
ghc (9.6.6-2) unstable; urgency=medium
* Update 'hadrian-enable-interpreter' patch to re-enable GHCi
on all architectures (Closes: #
1081883)
[dgit import unpatched ghc 9.6.6-2]
Ilias Tsitsimpis [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Import ghc_9.6.6-2.debian.tar.xz
[dgit import tarball ghc 9.6.6-2 ghc_9.6.6-2.debian.tar.xz]
Gianfranco Costamagna [Mon, 15 Jul 2024 12:17:29 +0000 (14:17 +0200)]
Import ghc_9.6.6.orig.tar.xz
[dgit import orig ghc_9.6.6.orig.tar.xz]
Ilias Tsitsimpis [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Merge ghc (9.4.7-5) import into refs/heads/workingbranch
Marios Titas [Sun, 2 Oct 2022 20:12:32 +0000 (23:12 +0300)]
[PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t
Gbp-Pq: Name time_t-unix
Marios Titas [Sun, 2 Oct 2022 20:12:43 +0000 (23:12 +0300)]
[PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t
Gbp-Pq: Name time_t-time
Marios Titas [Sun, 2 Oct 2022 20:12:41 +0000 (23:12 +0300)]
[PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t
Closes #145.
Gbp-Pq: Name time_t-directory
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
fix-gcc14-ffi_arg
commit
1f534c2e7388273e70534680212c1357614c11ed
Author: Florian Weimer <fweimer@redhat.com>
Date: Thu Feb 15 15:19:52 2024 +0000
Fix C output for modern C initiative
GCC 14 on aarch64 rejects the C code written by GHC with this kind of
error:
error: assignment to ‘ffi_arg’ {aka ‘long unsigned int’} from ‘HsPtr’ {aka ‘void *’} makes integer from pointer without a cast [-Wint-conversion]
68 | *(ffi_arg*)resp = cret;
| ^
Add the correct cast.
For more information on this see:
https://fedoraproject.org/wiki/Changes/PortingToModernC
Tested-by: Richard W.M. Jones <rjones@redhat.com>
Gbp-Pq: Name fix-gcc14-ffi_arg
Stefan Schulze Frielinghaus [Mon, 27 Nov 2023 11:34:47 +0000 (12:34 +0100)]
[PATCH] llvmGen: Align objects in the data section
Objects in the data section may be referenced via tagged pointers.
Thus, align those objects to a 4- or 8-byte boundary for 32- or 64-bit
platforms, respectively. Note, this may need to be reconsidered if
objects with a greater natural alignment requirement are emitted as e.g.
128-bit atomics.
Fixes #24163.
Gbp-Pq: Name
dfe1c3540e4b519b62b862b5966dfec5cae9ece1.patch
Peter Trommler [Tue, 7 Nov 2023 20:47:24 +0000 (21:47 +0100)]
[PATCH] PPC NCG: Generate clear right insn at arch width
The clear right immediate (clrrxi) is only available in word and
doubleword width. Generate clrrxi instructions at architecture
width for all MachOp widths.
Fixes #24145
Gbp-Pq: Name ppc64el-fix-clrri
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
use-modern-atomics
commit
f8fa1d08d7cbfef508bab355bda80f495e928f98
Author: Ben Gamari <bgamari.foss@gmail.com>
Date: Mon Apr 17 21:04:47 2023 +0000
ghc-prim: Use C11 atomics
Previously `ghc-prim`'s atomic wrappers used the legacy `__sync_*`
family of C builtins. Here we refactor these to rather use the
appropriate C11 atomic equivalents, allowing us to be more explicit
about the expected ordering semantics.
Gbp-Pq: Name use-modern-atomics
Ilias Tsitsimpis [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Enable GHCi on all platforms in Debian
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/24098
Gbp-Pq: Name hadrian-enable-interpreter
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
hadrian-fix-dnosmp
commit
bea762f2c9d3ff1f67e3fdb22a8ac288b32225b0
Author: Ilias Tsitsimpis <iliastsi@debian.org>
Date: Thu Oct 12 12:44:02 2023 +0300
hadrian: Pass -DNOSMP to C compiler when needed
Hadrian passes the -DNOSMP flag to GHC when the target doesn't support
SMP, but doesn't pass it to CC as well, leading to the following
compilation error on mips64el:
| Run Cc (FindCDependencies CDep) Stage1: rts/sm/NonMovingScav.c => _build/stage1/rts/build/c/sm/NonMovingScav.o.d
Command line: /usr/bin/mips64el-linux-gnuabi64-gcc -E -MM -MG -MF _build/stage1/rts/build/c/hooks/FlagDefaults.thr_debug_p_o.d -MT _build/stage1/rts/build/c/hooks/FlagDefaults.o -Irts/include -I_build/stage1/rts/build -I_build/stage1/rts/build/include -Irts/include -x c rts/hooks/FlagDefaults.c -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Winline -Wpointer-arith -Wmissing-noreturn -Wnested-externs -Wredundant-decls -Wundef -fno-strict-aliasing -DTHREADED_RTS -DDEBUG -fomit-frame-pointer -O2 -g -Irts -I_build/stage1/rts/build -DDEBUG -fno-omit-frame-pointer -g3 -O0
===> Command failed with error code: 1
In file included from rts/include/Stg.h:348,
from rts/include/Rts.h:38,
from rts/hooks/FlagDefaults.c:8:
rts/include/stg/SMP.h:416:2: error: #error memory barriers unimplemented on this architecture
416 | #error memory barriers unimplemented on this architecture
| ^~~~~
rts/include/stg/SMP.h:440:2: error: #error memory barriers unimplemented on this architecture
440 | #error memory barriers unimplemented on this architecture
| ^~~~~
rts/include/stg/SMP.h:464:2: error: #error memory barriers unimplemented on this architecture
464 | #error memory barriers unimplemented on this architecture
| ^~~~~
The old make system correctly passed this flag to both GHC and CC [1].
Fix this error by passing -DNOSMP to CC as well.
[1] https://gitlab.haskell.org/ghc/ghc/-/blob/
00920f176b0235d5bb52a8e054d89a664f8938fe/rts/ghc.mk#L407
Closes #24082
Gbp-Pq: Name hadrian-fix-dnosmp
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
fix-32-bit-unreg
commit
9194c9c066a31cbb7a49830e4b5e2454fd4af6ba
Author: Cheng Shao <terrorjack@type.dance>
Date: Mon Jan 23 13:17:07 2023 +0000
CmmToC: fix CmmRegOff for 64-bit register on a 32-bit target
We used to print the offset value to a platform word sized integer.
This is incorrect when the offset is negative (e.g. output of cmm
constant folding) and the register is 64-bit but on a 32-bit target,
and may lead to incorrect runtime result (e.g. #22607).
The fix is simple: just treat it as a proper MO_Add, with the correct
width info inferred from the register itself.
Metric Increase:
T12707
T13379
T4801
T5321FD
T5321Fun
(cherry picked from commit
d151546e59a50158f25c3df6728b00d3c27bb4b9)
Gbp-Pq: Name fix-32-bit-unreg
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
fix-hs_cmpxchg64
commit
9fa545722f9151781344446dd5501db38cb90dd1
Author: Cheng Shao <terrorjack@type.dance>
Date: Mon Feb 27 19:11:27 2023 +0000
ghc-prim: fix hs_cmpxchg64 function prototype
hs_cmpxchg64 must return a StgWord64, otherwise incorrect runtime
results of 64-bit MO_Cmpxchg will appear in 32-bit unregisterised
builds, which go unnoticed at compile-time due to C implicit casting
in .hc files.
Gbp-Pq: Name fix-hs_cmpxchg64
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
hadrian-disable-threaded
===================================================================
Gbp-Pq: Name hadrian-disable-threaded
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
sparc-support
===================================================================
Gbp-Pq: Name sparc-support
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
fix-cross-compilation
commit
bd92182cd56140ffb2f68ec01492e5aa6333a8fc
Author: Ben Gamari <bgamari.foss@gmail.com>
Date: Tue Jun 21 14:05:59 2022 +0000
configure: Use AC_PATH_TOOL to detect tools
Previously we used AC_PATH_PROG which, as noted by #21601, does not
look for tools with a target prefix,
breaking cross-compilation.
Fixes #21601.
Gbp-Pq: Name fix-cross-compilation
Ilias Tsitsimpis [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Allow setting path for LLC/OPT during configuration
Patch configure.ac to allow us to modify the path for LLC/OPT during
configuration.
Gbp-Pq: Name allow-setting-llvm-program
Ilias Tsitsimpis [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Fix installation patch for iserv/unlit
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/22557
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/22697
Gbp-Pq: Name hadrian-iserv
Ilias Tsitsimpis [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Use realpath instead of custom script
Use realpath instead of the custom script, which is broken. As an example,
$ ./mk/relpath.sh /usr/lib/ghc/lib /usr/lib/ghc-doc
..-doc
$ realpath --relative-to=/usr/lib/ghc/lib /usr/lib/ghc-doc
../../ghc-doc
Gbp-Pq: Name hadrian-relpath
Ilias Tsitsimpis [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Pass 'mathjax' to Haddock
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/23625
Hadrian currently doesn't allow us to modify Haddock options, so
patch Hadrian to manually pass the 'mathjax' option.
Gbp-Pq: Name hadrian-haddock-opts
Ilias Tsitsimpis [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Add more hadrian bootstrap plans
Hadrian only contains bootstrap plans for previous GHC versions. Add plans for
the current version as well, since we may want to bootstrap hadrian with a
cross-compiled GHC that is of the same version as the GHC we are building here.
Gbp-Pq: Name hadrian-plans
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
newer-llvm
commit
0cc16aaf89d7dc3963764b7193ceac73e4e3329b
Author: Matthew Pickering <matthewtpickering@gmail.com>
Date: Mon Jan 30 10:58:12 2023 +0000
Bump supported LLVM range from 10 through 15 to 11 through 16
LLVM 15 turns on the new pass manager by default, which we have yet to
migrate to so for new we pass the `-enable-new-pm-0` flag in our
llvm-passes flag.
LLVM 11 was the first version to support the `-enable-new-pm` flag so we
bump the lowest supported version to 11.
Our CI jobs are using LLVM 12 so they should continue to work despite
this bump to the lower bound.
Fixes #21936
Gbp-Pq: Name newer-llvm
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
use-unbundled-sphinx-rtd-theme
===================================================================
Gbp-Pq: Name use-unbundled-sphinx-rtd-theme
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Fix LLVM error on armel
GHC 8.10 fails to build on armel with the following error:
LLVM ERROR: unable to allocate function argument #8
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc-12 -O2 -enable-tbaa -relocation-model=pic -mcpu=arm7tdmi -mattr=+soft-float,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-fp16,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fullfp16,-fp64,-d32,-neon,-crypto,-dotprod,-fp16fml,-bf16,-mve,-mve.fp,-fpregs,+strict-align /tmp/ghc5537_0/ghc_6.bc -o /tmp/ghc5537_0/ghc_7.lm_s
1. Running pass 'Function Pass Manager' on module '/tmp/ghc20177_0/ghc_6.bc'.
2. Running pass 'ARM Instruction Selection' on function '@"stg_gc_f1$def"'
`llc-12' failed in phase `LLVM Compiler'. (Exit code: -6)
make[3]: *** [rts/ghc.mk:325: rts/dist/build/HeapStackCheck.o] Error 1
Surprisingly, reverting commit
4540bbe2811e860f35de6e67ab2f0040592fd3a5 fixes
thie error.
Author: Ilias Tsitsimpis <iliastsi@debian.org>
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/20285
Gbp-Pq: Name fix-llvm-armel
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Remove hard-coded googleapis font URL
Bug: https://github.com/haskell/haddock/issues/1211
Bug-Debian: https://bugs.debian.org/963690
Gbp-Pq: Name haddock-remove-googleapis-fonts
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
local-mathjax
===================================================================
Gbp-Pq: Name local-mathjax
Svante Signell [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Add kfreebsdgnu to GHC_CONVERT_OS in aclocal.m4
Bug-Debian: https://bugs.debian.org/913140
Gbp-Pq: Name kfreebsd-aclocal.m4
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
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
Gbp-Pq: Name x32-use-native-x86_64-insn.patch
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
buildpath-abi-stability
Forwarded to https://ghc.haskell.org/trac/ghc/ticket/10424
Forwarded to https://ghc.haskell.org/trac/ghc/ticket/10424
Gbp-Pq: Name buildpath-abi-stability.patch
Joachim Breitner [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
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.
Gbp-Pq: Name no-missing-haddock-file-warning
Jani Monoses [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Use VFPv3-D16 FPU for ARM builds
Upstream-Bug: https://ghc.haskell.org/trac/ghc/ticket/5914
Jani writes: The D16 part was Debian/Ubuntu specific, IIRC we define hardfloat
in that particular variant (16 double registers) or we had a different naming
for some reason.
Gbp-Pq: Name ARM-VFPv3D16
Ilias Tsitsimpis [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
ghc (9.4.7-5) unstable; urgency=medium
* Backport upstream patches to fix issues with 64-bit time_t (Closes:
#
1068586)
* Build unregisterised on powerpc (Closes: #
1060196)
[dgit import unpatched ghc 9.4.7-5]
Ilias Tsitsimpis [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Import ghc_9.4.7-5.debian.tar.xz
[dgit import tarball ghc 9.4.7-5 ghc_9.4.7-5.debian.tar.xz]
Gianfranco Costamagna [Mon, 19 Feb 2024 16:12:25 +0000 (17:12 +0100)]
Merge ghc (9.4.7-3) import into refs/heads/workingbranch
Stefan Schulze Frielinghaus [Mon, 27 Nov 2023 11:34:47 +0000 (12:34 +0100)]
[PATCH] llvmGen: Align objects in the data section
Objects in the data section may be referenced via tagged pointers.
Thus, align those objects to a 4- or 8-byte boundary for 32- or 64-bit
platforms, respectively. Note, this may need to be reconsidered if
objects with a greater natural alignment requirement are emitted as e.g.
128-bit atomics.
Fixes #24163.
Gbp-Pq: Name
dfe1c3540e4b519b62b862b5966dfec5cae9ece1.patch