Debian Patches
Status for ghc/9.6.6-4
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| pr-13096 | [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. |
Sylvain Henry <sylvain@haskus.fr> | no | 2024-08-01 | ||
| ARM-VFPv3D16 | Use VFPv3-D16 FPU for ARM builds 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. =================================================================== |
Jani Monoses <jani@ubuntu.com> | no | |||
| no-missing-haddock-file-warning | 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. =================================================================== |
Joachim Breitner <nomeata@debian.org> | no | |||
| buildpath-abi-stability.patch | Forwarded to https://ghc.haskell.org/trac/ghc/ticket/10424 =================================================================== |
no | ||||
| allow-setting-llvm-program | Allow setting path for LLC/OPT during configuration Patch configure.ac to allow us to modify the path for LLC/OPT during configuration. =================================================================== |
Ilias Tsitsimpis <iliastsi@debian.org> | no | |||
| sparc-support | =================================================================== | no | ||||
| hadrian-disable-threaded | =================================================================== | no | ||||
| hadrian-enable-interpreter | Enable GHCi on all platforms in Debian =================================================================== |
Ilias Tsitsimpis <iliastsi@debian.org> | yes | upstream | ||
| use-modern-atomics | commit f8fa1d08d7cbfef508bab355bda80f495e928f98 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. =================================================================== |
Ben Gamari <bgamari.foss@gmail.com> | no | 2023-04-17 | ||
| ppc64el-fix-clrri | [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 |
Peter Trommler <ptrommler@acm.org> | no | 2023-11-07 | ||
| sparc64-cabal-support | =================================================================== | no | ||||
| hurd-cabal-osstring | https://github.com/haskell/cabal/pull/9434 =================================================================== |
no | ||||
| hurd-cabal-supportrpaths | https://github.com/haskell/cabal/pull/9441 =================================================================== |
no | ||||
| hurd-getExecutablePath | Also applies in 9.6.x Can be dropped with 9.8.1 =================================================================== |
no | ||||
| hurd-hadrian-osstring | https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11624 =================================================================== |
no | ||||
| hurd-hadrian-supportrpaths | Can be dropped with 9.8.1 =================================================================== |
no | ||||
| time_t-time | [PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t | Marios Titas <redneb@gmx.com> | no | 2022-10-02 | ||
| llvm-new-pass-manager | commit 77db84aba1ba00f6d146e9107b24c6203798e796 llvmGen: Adapt to allow use of new pass manager. We now must use `-passes` in place of `-O<n>` due to #21936. Closes #21936. =================================================================== |
Ben Gamari <bgamari.foss@gmail.com> | no | 2024-01-31 | ||
| llvm-newer-version | [PATCH] Bump max LLVM version to 19 (not inclusive) | Olivier Benz <olivier.benz@b-data.ch> | no | 2024-05-25 | ||
| hadrian-plans | 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. =================================================================== |
Ilias Tsitsimpis <iliastsi@debian.org> | no | |||
| alpha-fix-ieee_set_fp_control-invocation.patch | [PATCH] rts: Fix invocation of __ieee_set_fp_control() on alpha-linux Fixes the following error when building GHC on alpha-linux: rts/posix/Signals.c: In function ‘initDefaultHandlers’: rts/posix/Signals.c:709:5: error: error: implicit declaration of function ‘ieee_set_fp_control’ [-Wimplicit-function-declaration] 709 | ieee_set_fp_control(0); | ^~~~~~~~~~~~~~~~~~~ | 709 | ieee_set_fp_control(0); | |
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> | no | 2024-10-03 | ||
| 0001-llvmGen-Add-export-list-to-GHC.Llvm.MetaData.patch | [PATCH] llvmGen: Add export list to GHC.Llvm.MetaData | Ben Gamari <ben@smart-cactus.org> | no | https://github.com/ghc/ghc/commit/e8b4aac437b2620d93546a57eb5818f317a4549e | 2023-08-22 | |
| 0002-llvmGen-Allow-LlvmLits-in-MetaExprs.patch | [PATCH] llvmGen: Allow LlvmLits in MetaExprs | Wang Xin <wangxin03@loongson.cn> | no | https://github.com/ghc/ghc/commit/5880fff6d353a14785c457999fded5a7100c9514 | 2024-12-13 | |
| 0003-llvmGen-Introduce-infrastructure-for-module-flag-metadata.patch | [PATCH] llvmGen: Introduce infrastructure for module flag metadata | Ben Gamari <ben@smart-cactus.org> | no | https://github.com/ghc/ghc/commit/a6a3874276ced1b037365c059dcd0a758e813a5b | 2023-08-22 | |
| 0004-llvmGen-Pass-mcmodel-medium-option-to-LLVM-backend-on-LoongArch.patch | [PATCH] llvmGen: Pass mcmodel medium option to LLVM backend on LoongArch | Xin Wang <wangxin03@loongson.cn> | no | 2024-12-13 | ||
| x32-use-native-x86_64-insn.patch | 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 . =================================================================== |
no | ||||
| kfreebsd-aclocal.m4 | Add kfreebsdgnu to GHC_CONVERT_OS in aclocal.m4 =================================================================== |
Svante Signell <svante.signell@gmail.com> | no | debian | ||
| local-mathjax | =================================================================== | no | ||||
| haddock-remove-googleapis-fonts | Remove hard-coded googleapis font URL =================================================================== |
yes | debian upstream | |||
| fix-llvm-armel | 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. =================================================================== |
Ilias Tsitsimpis <iliastsi@debian.org> | yes | upstream | ||
| use-unbundled-sphinx-rtd-theme | =================================================================== | no | ||||
| hadrian-haddock-opts | Pass 'mathjax' to Haddock Hadrian currently doesn't allow us to modify Haddock options, so patch Hadrian to manually pass the 'mathjax' option. =================================================================== |
Ilias Tsitsimpis <iliastsi@debian.org> | yes | upstream | ||
| hadrian-relpath | 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 =================================================================== |
Ilias Tsitsimpis <iliastsi@debian.org> | no | |||
| hadrian-iserv | Fix installation patch for iserv/unlit =================================================================== |
Ilias Tsitsimpis <iliastsi@debian.org> | yes | upstream |
All known versions for source package 'ghc'
- 9.10.3-1~exp3 (experimental)
- 9.8.4-0~0exp3 (sid)
- 9.6.6-4 (forky, trixie)
- 9.0.2-4 (bookworm)
