ghc.git
13 months agoMerge ghc (9.6.6-3) import into refs/heads/workingbranch
Gianfranco Costamagna [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
Merge ghc (9.6.6-3) import into refs/heads/workingbranch

13 months ago[PATCH] Enable tables next to code for LoongArch64
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

13 months ago[PATCH] Cmm: don't perform unsound optimizations on 32-bit compiler hosts
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

13 months agoAdd more hadrian bootstrap plans
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

13 months ago[PATCH] Bump max LLVM version to 19 (not inclusive)
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

13 months agollvm-new-pass-manager
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

13 months ago[PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t
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

13 months agohurd-hadrian-supportrpaths
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

13 months agohurd-hadrian-osstring
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

13 months agohurd-getExecutablePath
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

13 months agohurd-cabal-supportrpaths
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

13 months agohurd-cabal-osstring
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

13 months agosparc64-cabal-support
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

13 months ago[PATCH] PPC NCG: Generate clear right insn at arch width
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

13 months agouse-modern-atomics
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

13 months agoEnable GHCi on all platforms in Debian
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

13 months agohadrian-disable-threaded
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
hadrian-disable-threaded

===================================================================

Gbp-Pq: Name hadrian-disable-threaded

13 months agosparc-support
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
sparc-support

===================================================================

Gbp-Pq: Name sparc-support

13 months agoAllow setting path for LLC/OPT during configuration
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

13 months agoFix installation patch for iserv/unlit
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

13 months agoUse realpath instead of custom script
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

13 months agoPass 'mathjax' to Haddock
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

13 months agouse-unbundled-sphinx-rtd-theme
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

13 months agoFix LLVM error on armel
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

13 months agoRemove hard-coded googleapis font URL
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

13 months agolocal-mathjax
Debian Haskell Group [Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)]
local-mathjax

===================================================================

Gbp-Pq: Name local-mathjax

13 months agoAdd kfreebsdgnu to GHC_CONVERT_OS in aclocal.m4
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

13 months agoUse native x86_64 instructions on x32
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

13 months agobuildpath-abi-stability
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

13 months agoDo not emit a warning if the .haddock file is missing
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

13 months agoUse VFPv3-D16 FPU for ARM builds
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

13 months agoghc (9.6.6-3) unstable; urgency=medium
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]

13 months agoImport ghc_9.6.6-3.debian.tar.xz
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]

15 months agoMerge ghc (9.6.6-2) import into refs/heads/workingbranch
Ilias Tsitsimpis [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
Merge ghc (9.6.6-2) import into refs/heads/workingbranch

15 months ago[PATCH] Cmm: don't perform unsound optimizations on 32-bit compiler hosts
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

15 months agoAdd more hadrian bootstrap plans
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

15 months ago[PATCH] Bump max LLVM version to 19 (not inclusive)
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

15 months agollvm-new-pass-manager
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

15 months ago[PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t
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

15 months agohurd-hadrian-supportrpaths
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

15 months agohurd-hadrian-osstring
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

15 months agohurd-getExecutablePath
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

15 months agohurd-cabal-supportrpaths
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

15 months agohurd-cabal-osstring
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

15 months agosparc64-cabal-support
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

15 months ago[PATCH] PPC NCG: Generate clear right insn at arch width
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

15 months agouse-modern-atomics
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

15 months agoEnable GHCi on all platforms in Debian
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

15 months agohadrian-disable-threaded
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
hadrian-disable-threaded

===================================================================

Gbp-Pq: Name hadrian-disable-threaded

15 months agosparc-support
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
sparc-support

===================================================================

Gbp-Pq: Name sparc-support

15 months agoAllow setting path for LLC/OPT during configuration
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

15 months agoFix installation patch for iserv/unlit
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

15 months agoUse realpath instead of custom script
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

15 months agoPass 'mathjax' to Haddock
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

15 months agouse-unbundled-sphinx-rtd-theme
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

15 months agoFix LLVM error on armel
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

15 months agoRemove hard-coded googleapis font URL
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

15 months agolocal-mathjax
Debian Haskell Group [Sun, 15 Sep 2024 21:17:25 +0000 (00:17 +0300)]
local-mathjax

===================================================================

Gbp-Pq: Name local-mathjax

15 months agoAdd kfreebsdgnu to GHC_CONVERT_OS in aclocal.m4
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

15 months agoUse native x86_64 instructions on x32
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

15 months agobuildpath-abi-stability
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

15 months agoDo not emit a warning if the .haddock file is missing
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

15 months agoUse VFPv3-D16 FPU for ARM builds
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

15 months agoghc (9.6.6-2) unstable; urgency=medium
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]

15 months agoImport ghc_9.6.6-2.debian.tar.xz
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]

17 months agoImport ghc_9.6.6.orig.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]

20 months agoMerge ghc (9.4.7-5) import into refs/heads/workingbranch
Ilias Tsitsimpis [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
Merge ghc (9.4.7-5) import into refs/heads/workingbranch

20 months ago[PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t
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

20 months ago[PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t
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

20 months ago[PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t
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

20 months agofix-gcc14-ffi_arg
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

20 months ago[PATCH] llvmGen: Align objects in the data section
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

20 months ago[PATCH] PPC NCG: Generate clear right insn at arch width
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

20 months agouse-modern-atomics
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

20 months agoEnable GHCi on all platforms in Debian
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

20 months agohadrian-fix-dnosmp
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

20 months agofix-32-bit-unreg
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

20 months agofix-hs_cmpxchg64
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

20 months agohadrian-disable-threaded
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
hadrian-disable-threaded

===================================================================

Gbp-Pq: Name hadrian-disable-threaded

20 months agosparc-support
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
sparc-support

===================================================================

Gbp-Pq: Name sparc-support

20 months agofix-cross-compilation
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

20 months agoAllow setting path for LLC/OPT during configuration
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

20 months agoFix installation patch for iserv/unlit
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

20 months agoUse realpath instead of custom script
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

20 months agoPass 'mathjax' to Haddock
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

20 months agoAdd more hadrian bootstrap plans
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

20 months agonewer-llvm
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

20 months agouse-unbundled-sphinx-rtd-theme
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

20 months agoFix LLVM error on armel
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

20 months agoRemove hard-coded googleapis font URL
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

20 months agolocal-mathjax
Debian Haskell Group [Wed, 10 Apr 2024 11:24:01 +0000 (14:24 +0300)]
local-mathjax

===================================================================

Gbp-Pq: Name local-mathjax

20 months agoAdd kfreebsdgnu to GHC_CONVERT_OS in aclocal.m4
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

20 months agoUse native x86_64 instructions on x32
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

20 months agobuildpath-abi-stability
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

20 months agoDo not emit a warning if the .haddock file is missing
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

20 months agoUse VFPv3-D16 FPU for ARM builds
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

20 months agoghc (9.4.7-5) unstable; urgency=medium
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]

20 months agoImport ghc_9.4.7-5.debian.tar.xz
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]

21 months agoMerge ghc (9.4.7-3) import into refs/heads/workingbranch
Gianfranco Costamagna [Mon, 19 Feb 2024 16:12:25 +0000 (17:12 +0100)]
Merge ghc (9.4.7-3) import into refs/heads/workingbranch

21 months ago[PATCH] llvmGen: Align objects in the data section
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