sync with ghc9.8
This commit is contained in:
parent
c33298cc6e
commit
1d54d64932
25
12885.patch
Normal file
25
12885.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From 3f128c7d6c145985e3e12fda173e7e9a5a9c03f7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Trommler <ptrommler@acm.org>
|
||||||
|
Date: Sat, 15 Jun 2024 08:55:30 +0200
|
||||||
|
Subject: [PATCH 4/4] PPC NCG: Fix sign hints in C calls
|
||||||
|
|
||||||
|
---
|
||||||
|
compiler/GHC/CmmToAsm/PPC/CodeGen.hs | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/compiler/GHC/CmmToAsm/PPC/CodeGen.hs b/compiler/GHC/CmmToAsm/PPC/CodeGen.hs
|
||||||
|
index cca47f7bac2..060bd7159eb 100644
|
||||||
|
--- a/compiler/GHC/CmmToAsm/PPC/CodeGen.hs
|
||||||
|
+++ b/compiler/GHC/CmmToAsm/PPC/CodeGen.hs
|
||||||
|
@@ -1770,7 +1770,7 @@ genCCall' config gcp target dest_regs args
|
||||||
|
_ -> panic "genCall': unknown calling conv."
|
||||||
|
|
||||||
|
argReps = map (cmmExprType platform) args
|
||||||
|
- (argHints, _) = foreignTargetHints target
|
||||||
|
+ (_, argHints) = foreignTargetHints target
|
||||||
|
|
||||||
|
roundTo a x | x `mod` a == 0 = x
|
||||||
|
| otherwise = x + a - (x `mod` a)
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
56
ghc9.10.spec
56
ghc9.10.spec
@ -2,8 +2,8 @@
|
|||||||
# all *bcond_without* for production builds:
|
# all *bcond_without* for production builds:
|
||||||
# - performance build (disable for quick build)
|
# - performance build (disable for quick build)
|
||||||
%bcond_without perfbuild
|
%bcond_without perfbuild
|
||||||
%bcond_without manual
|
|
||||||
%bcond_without build_hadrian
|
%bcond_without build_hadrian
|
||||||
|
%bcond_without manual
|
||||||
# End: prod settings
|
# End: prod settings
|
||||||
|
|
||||||
# not for production builds
|
# not for production builds
|
||||||
@ -37,6 +37,9 @@
|
|||||||
# no longer build testsuite (takes time and not really being used)
|
# no longer build testsuite (takes time and not really being used)
|
||||||
%bcond_with testsuite
|
%bcond_with testsuite
|
||||||
|
|
||||||
|
# use system default ld.bfd
|
||||||
|
%bcond ld_gold 0
|
||||||
|
|
||||||
# 9.8 needs llvm 11-15
|
# 9.8 needs llvm 11-15
|
||||||
# rhel9 binutils too old for llvm13:
|
# rhel9 binutils too old for llvm13:
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2141054
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2141054
|
||||||
@ -46,7 +49,7 @@
|
|||||||
%else
|
%else
|
||||||
%global llvm_major 15
|
%global llvm_major 15
|
||||||
%endif
|
%endif
|
||||||
%global ghc_llvm_archs armv7hl s390x riscv64
|
%global ghc_llvm_archs s390x riscv64
|
||||||
%global ghc_unregisterized_arches s390 %{mips}
|
%global ghc_unregisterized_arches s390 %{mips}
|
||||||
|
|
||||||
Name: %{ghc_name}
|
Name: %{ghc_name}
|
||||||
@ -68,9 +71,6 @@ Source5: ghc-pkg.man
|
|||||||
Source6: haddock.man
|
Source6: haddock.man
|
||||||
Source7: runghc.man
|
Source7: runghc.man
|
||||||
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2083103
|
|
||||||
ExcludeArch: armv7hl
|
|
||||||
|
|
||||||
# absolute haddock path (was for html/libraries -> libraries)
|
# absolute haddock path (was for html/libraries -> libraries)
|
||||||
Patch1: ghc-gen_contents_index-haddock-path.patch
|
Patch1: ghc-gen_contents_index-haddock-path.patch
|
||||||
Patch2: ghc-Cabal-install-PATH-warning.patch
|
Patch2: ghc-Cabal-install-PATH-warning.patch
|
||||||
@ -92,6 +92,10 @@ Patch20: hadrian-9.10-deps.patch
|
|||||||
Patch26: no-missing-haddock-file-warning.patch
|
Patch26: no-missing-haddock-file-warning.patch
|
||||||
Patch27: haddock-remove-googleapis-fonts.patch
|
Patch27: haddock-remove-googleapis-fonts.patch
|
||||||
|
|
||||||
|
# ppc64le FFI miscompilation
|
||||||
|
# https://gitlab.haskell.org/ghc/ghc/-/issues/23034
|
||||||
|
Patch35: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12885.patch
|
||||||
|
|
||||||
# RISCV64 added to Cabal
|
# RISCV64 added to Cabal
|
||||||
# See: https://github.com/haskell/cabal/pull/9062
|
# See: https://github.com/haskell/cabal/pull/9062
|
||||||
Patch40: cabal-add-riscv64.patch
|
Patch40: cabal-add-riscv64.patch
|
||||||
@ -103,7 +107,8 @@ Patch41: https://gitlab.haskell.org/ghc/ghc/-/commit/dd38aca95ac25adc9888083669b
|
|||||||
# https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms
|
# https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms
|
||||||
|
|
||||||
# fedora ghc has been bootstrapped on
|
# fedora ghc has been bootstrapped on
|
||||||
# %%{ix86} x86_64 ppc ppc64 armv7hl s390 s390x ppc64le aarch64
|
# %%{ix86} x86_64 s390x ppc64le aarch64 riscv64
|
||||||
|
# and previously: alpha sparcv9 armv5tel ppc ppc64 s390 armv7hl
|
||||||
# see also deprecated ghc_arches defined in ghc-srpm-macros
|
# see also deprecated ghc_arches defined in ghc-srpm-macros
|
||||||
# /usr/lib/rpm/macros.d/macros.ghc-srpm
|
# /usr/lib/rpm/macros.d/macros.ghc-srpm
|
||||||
|
|
||||||
@ -129,10 +134,9 @@ BuildRequires: %{ghcboot}-text-devel
|
|||||||
BuildRequires: %{ghcboot}-time-devel
|
BuildRequires: %{ghcboot}-time-devel
|
||||||
BuildRequires: %{ghcboot}-transformers-devel
|
BuildRequires: %{ghcboot}-transformers-devel
|
||||||
BuildRequires: %{ghcboot}-unix-devel
|
BuildRequires: %{ghcboot}-unix-devel
|
||||||
BuildRequires: alex
|
BuildRequires: binutils%{?with_ld_gold:-gold}
|
||||||
BuildRequires: gmp-devel
|
BuildRequires: gmp-devel
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: happy
|
|
||||||
BuildRequires: libdwarf-devel
|
BuildRequires: libdwarf-devel
|
||||||
BuildRequires: libffi-devel
|
BuildRequires: libffi-devel
|
||||||
BuildRequires: libzstd-devel
|
BuildRequires: libzstd-devel
|
||||||
@ -233,6 +237,7 @@ Obsoletes: %{name}-xhtml-prof < %{xhtml_ver}-%{release}
|
|||||||
%if %{without manual}
|
%if %{without manual}
|
||||||
Obsoletes: %{name}-manual < %{version}-%{release}
|
Obsoletes: %{name}-manual < %{version}-%{release}
|
||||||
%endif
|
%endif
|
||||||
|
Requires: binutils%{?with_ld_gold:-gold}
|
||||||
%ifarch %{ghc_llvm_archs}
|
%ifarch %{ghc_llvm_archs}
|
||||||
Requires: llvm%{llvm_major}
|
Requires: llvm%{llvm_major}
|
||||||
%endif
|
%endif
|
||||||
@ -410,6 +415,10 @@ rm libffi-tarballs/libffi-*.tar.gz
|
|||||||
%patch -P26 -p1 -b .orig
|
%patch -P26 -p1 -b .orig
|
||||||
%patch -P27 -p1 -b .orig
|
%patch -P27 -p1 -b .orig
|
||||||
|
|
||||||
|
%ifarch ppc64le
|
||||||
|
%patch -P 35 -p1 -b .orig
|
||||||
|
%endif
|
||||||
|
|
||||||
%ifarch riscv64
|
%ifarch riscv64
|
||||||
#RISCV64 cabal support
|
#RISCV64 cabal support
|
||||||
%patch -P40 -p1 -b .orig
|
%patch -P40 -p1 -b .orig
|
||||||
@ -424,16 +433,17 @@ autoupdate
|
|||||||
|
|
||||||
%ghc_set_gcc_flags
|
%ghc_set_gcc_flags
|
||||||
export CC=%{_bindir}/gcc
|
export CC=%{_bindir}/gcc
|
||||||
# note lld breaks build-id
|
%if %{with ld_gold}
|
||||||
# /usr/bin/debugedit: Cannot handle 8-byte build ID
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2116508
|
|
||||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/22195
|
|
||||||
%if 0%{fedora} < 40
|
|
||||||
export LD=%{_bindir}/ld.gold
|
export LD=%{_bindir}/ld.gold
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
export GHC=%{_bindir}/ghc%{?ghcboot_major:-%{ghcboot_major}}
|
export GHC=%{_bindir}/ghc%{?ghcboot_major:-%{ghcboot_major}}
|
||||||
|
|
||||||
|
# note lld breaks build-id
|
||||||
|
# /usr/bin/debugedit: Cannot handle 8-byte build ID
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2116508
|
||||||
|
# https://gitlab.haskell.org/ghc/ghc/-/issues/22195
|
||||||
|
|
||||||
# * %%configure induces cross-build due to different target/host/build platform names
|
# * %%configure induces cross-build due to different target/host/build platform names
|
||||||
./configure --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
|
./configure --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
|
||||||
--bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
|
--bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
|
||||||
@ -442,7 +452,7 @@ export GHC=%{_bindir}/ghc%{?ghcboot_major:-%{ghcboot_major}}
|
|||||||
--sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
|
--sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
|
||||||
--docdir=%{_docdir}/%{name} \
|
--docdir=%{_docdir}/%{name} \
|
||||||
--with-system-libffi \
|
--with-system-libffi \
|
||||||
%if 0%{fedora} >= 40
|
%if %{without ld_gold}
|
||||||
--disable-ld-override \
|
--disable-ld-override \
|
||||||
%endif
|
%endif
|
||||||
%ifarch %{ghc_unregisterized_arches}
|
%ifarch %{ghc_unregisterized_arches}
|
||||||
@ -500,7 +510,7 @@ cp -p LICENSE ../LICENSE.hadrian
|
|||||||
(
|
(
|
||||||
cd _build/bindist/ghc-%{version}-*
|
cd _build/bindist/ghc-%{version}-*
|
||||||
./configure --prefix=%{buildroot}%{ghclibdir} --bindir=%{buildroot}%{_bindir} --libdir=%{buildroot}%{_libdir} --mandir=%{buildroot}%{_mandir} --docdir=%{buildroot}%{_docdir}/%{name} \
|
./configure --prefix=%{buildroot}%{ghclibdir} --bindir=%{buildroot}%{_bindir} --libdir=%{buildroot}%{_libdir} --mandir=%{buildroot}%{_mandir} --docdir=%{buildroot}%{_docdir}/%{name} \
|
||||||
%if 0%{fedora} >= 40
|
%if %{without ld_gold}
|
||||||
--disable-ld-override
|
--disable-ld-override
|
||||||
%endif
|
%endif
|
||||||
%{nil}
|
%{nil}
|
||||||
@ -597,25 +607,20 @@ ls %{buildroot}%{ghcliblib}/bin/ghc-iserv-prof >> %{name}-base-prof.files
|
|||||||
sed -i -e "s|^%{buildroot}||g" %{name}-base*.files
|
sed -i -e "s|^%{buildroot}||g" %{name}-base*.files
|
||||||
sed -i -e "s|%{buildroot}||g" %{buildroot}%{_bindir}/*
|
sed -i -e "s|%{buildroot}||g" %{buildroot}%{_bindir}/*
|
||||||
|
|
||||||
%if %{with haddock}
|
|
||||||
rm %{buildroot}%{_pkgdocdir}/archives/libraries.html.tar.xz
|
|
||||||
%endif
|
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_mandir}/man1
|
mkdir -p %{buildroot}%{_mandir}/man1
|
||||||
install -p -m 0644 %{SOURCE5} %{buildroot}%{_mandir}/man1/ghc-pkg.1
|
install -p -m 0644 %{SOURCE5} %{buildroot}%{_mandir}/man1/ghc-pkg.1
|
||||||
install -p -m 0644 %{SOURCE6} %{buildroot}%{_mandir}/man1/haddock.1
|
install -p -m 0644 %{SOURCE6} %{buildroot}%{_mandir}/man1/haddock.1
|
||||||
install -p -m 0644 %{SOURCE7} %{buildroot}%{_mandir}/man1/runghc.1
|
install -p -m 0644 %{SOURCE7} %{buildroot}%{_mandir}/man1/runghc.1
|
||||||
|
|
||||||
|
%if %{with haddock}
|
||||||
|
rm %{buildroot}%{_pkgdocdir}/archives/libraries.html.tar.xz
|
||||||
|
%endif
|
||||||
%if %{with manual}
|
%if %{with manual}
|
||||||
rm %{buildroot}%{_pkgdocdir}/archives/Haddock.html.tar.xz
|
rm %{buildroot}%{_pkgdocdir}/archives/Haddock.html.tar.xz
|
||||||
rm %{buildroot}%{_pkgdocdir}/archives/users_guide.html.tar.xz
|
rm %{buildroot}%{_pkgdocdir}/archives/users_guide.html.tar.xz
|
||||||
mv %{buildroot}%{_mandir}/man1/ghc{,-%{ghc_major}}.1
|
mv %{buildroot}%{_mandir}/man1/ghc{,-%{ghc_major}}.1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch armv7hl
|
|
||||||
export RPM_BUILD_NCPUS=1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with build_hadrian}
|
%if %{with build_hadrian}
|
||||||
mv %{buildroot}%{_bindir}/hadrian{,-%{ghc_major}}
|
mv %{buildroot}%{_bindir}/hadrian{,-%{ghc_major}}
|
||||||
%endif
|
%endif
|
||||||
@ -847,6 +852,11 @@ make test
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Jul 14 2024 Jens Petersen <petersen@redhat.com>
|
||||||
|
- use ld.bfd
|
||||||
|
- remove remaining mentions of armv7hl
|
||||||
|
- sync other changes from ghc9.8
|
||||||
|
|
||||||
* Mon May 13 2024 Jens Petersen <petersen@redhat.com> - 9.10.1-1
|
* Mon May 13 2024 Jens Petersen <petersen@redhat.com> - 9.10.1-1
|
||||||
- https://downloads.haskell.org/~ghc/9.10.1/docs/users_guide/9.10.1-notes.html
|
- https://downloads.haskell.org/~ghc/9.10.1/docs/users_guide/9.10.1-notes.html
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user