s390x: patch from @stefansf (IBM) to fix llvm alignment of data sections

This commit is contained in:
Jens Petersen 2023-11-25 09:58:41 +08:00
parent af12036cab
commit 204697fda0
2 changed files with 45 additions and 1 deletions

31
11662.patch Normal file
View File

@ -0,0 +1,31 @@
From bed85f7bc358fdca4677a3070b94ea544bb9e7ff Mon Sep 17 00:00:00 2001
From: Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
Date: Mon, 27 Nov 2023 12:34:47 +0100
Subject: [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.
---
compiler/GHC/CmmToLlvm/Data.hs | 1 +
1 file changed, 1 insertion(+)
diff --git a/compiler/GHC/CmmToLlvm/Data.hs b/compiler/GHC/CmmToLlvm/Data.hs
index caac121413c..5e8912e3bc7 100644
--- a/compiler/GHC/CmmToLlvm/Data.hs
+++ b/compiler/GHC/CmmToLlvm/Data.hs
@@ -89,6 +89,7 @@ genLlvmData (sec, CmmStaticsRaw lbl xs) = do
align = case sec of
Section CString _ -> if (platformArch platform == ArchS390X)
then Just 2 else Just 1
+ Section Data _ -> Just $ platformWordSizeInBytes platform
_ -> Nothing
const = if sectionProtection sec == ReadOnlySection
then Constant else Global
--
GitLab

View File

@ -87,7 +87,7 @@ Version: 9.4.5
# - release can only be reset if *all* library versions get bumped simultaneously
# (sometimes after a major release)
# - minor release numbers for a branch should be incremented monotonically
Release: 136%{?dist}
Release: 137%{?dist}
Summary: Glasgow Haskell Compiler
License: BSD-3-Clause AND HaskellReport
@ -133,6 +133,11 @@ Patch13: text2-allow-ghc8-arm.patch
Patch15: ghc-warnings.mk-CC-Wall.patch
Patch16: ghc-hadrian-s390x-rts--qg.patch
# s390x
# https://gitlab.haskell.org/ghc/ghc/-/issues/24163
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11662
Patch17: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11662.patch
# Debian patches:
Patch24: buildpath-abi-stability.patch
Patch26: no-missing-haddock-file-warning.patch
@ -454,6 +459,10 @@ rm libffi-tarballs/libffi-*.tar.gz
%patch -P16 -p1 -b .orig
%endif
%ifarch s390x
%patch -P17 -p1 -b .orig
%endif
#debian
#%%patch -P24 -p1 -b .orig
%patch -P26 -p1 -b .orig
@ -1005,6 +1014,10 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index
%changelog
* Sat Nov 25 2023 Jens Petersen <petersen@redhat.com> - 9.4.5-137
- s390x: patch from @stefansf (IBM) to fix llvm alignment in data sections
which should fix certain runtime crashes (#2248097)
* Mon Sep 11 2023 Jens Petersen <petersen@redhat.com> - 9.4.5-136
- sync with ghc9.4: add sphinx7 patch
- user_guide: update external links patch in line with final upstream