[Git][haskell-team/DHG_packages][master] hadrian: Pass -DNOSMP to C compiler when needed
Ilias Tsitsimpis (@iliastsi)
gitlab at salsa.debian.org
Thu Oct 12 18:54:56 BST 2023
Ilias Tsitsimpis pushed to branch master at Debian Haskell Group / DHG_packages
Commits:
b888fac3 by Ilias Tsitsimpis at 2023-10-12T18:13:36+03:00
hadrian: Pass -DNOSMP to C compiler when needed
- - - - -
4 changed files:
- p/haskell-hadrian/debian/changelog
- p/haskell-hadrian/debian/control
- + p/haskell-hadrian/debian/patches/fix-dnosmp
- p/haskell-hadrian/debian/patches/series
Changes:
=====================================
p/haskell-hadrian/debian/changelog
=====================================
@@ -1,3 +1,10 @@
+haskell-hadrian (9.4.7-2) unstable; urgency=medium
+
+ * Relax versioned dependency on GHC
+ * Pass -DNOSMP to C compiler when needed
+
+ -- Ilias Tsitsimpis <iliastsi at debian.org> Thu, 12 Oct 2023 18:13:26 +0300
+
haskell-hadrian (9.4.7-1) unstable; urgency=low
* Initial release
=====================================
p/haskell-hadrian/debian/control
=====================================
@@ -8,7 +8,7 @@ Rules-Requires-Root: no
Build-Depends: debhelper (>= 10),
haskell-devscripts (>= 0.13),
cdbs,
- ghc (>= 9.4),
+ ghc (>= 9.0),
libghc-extra-dev (>= 1.4.7),
libghc-shake-dev (>= 0.18.3),
libghc-shake-dev (<< 0.20),
=====================================
p/haskell-hadrian/debian/patches/fix-dnosmp
=====================================
@@ -0,0 +1,62 @@
+commit bea762f2c9d3ff1f67e3fdb22a8ac288b32225b0
+Author: Ilias Tsitsimpis <iliastsi at 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
+
+Index: b/src/Settings/Packages.hs
+===================================================================
+--- a/src/Settings/Packages.hs
++++ b/src/Settings/Packages.hs
+@@ -300,13 +300,11 @@ rtsPackageArgs = package rts ? do
+ -- Set the namespace for the rts fs functions
+ , arg $ "-DFS_NAMESPACE=rts"
+ , arg $ "-DCOMPILING_RTS"
+- , notM targetSupportsSMP ? arg "-DNOSMP"
+ , way `elem` [debug, debugDynamic] ? pure [ "-DTICKY_TICKY"
+ , "-optc-DTICKY_TICKY"]
+ , Profiling `wayUnit` way ? arg "-DPROFILING"
+ , Threaded `wayUnit` way ? arg "-DTHREADED_RTS"
+- , notM targetSupportsSMP ? pure [ "-DNOSMP"
+- , "-optc-DNOSMP" ]
++ , notM targetSupportsSMP ? arg "-optc-DNOSMP"
+ ]
+
+ let cArgs = mconcat
+@@ -325,6 +323,8 @@ rtsPackageArgs = package rts ? do
+ , arg "-Irts"
+ , arg $ "-I" ++ path
+
++ , notM targetSupportsSMP ? arg "-DNOSMP"
++
+ , Debug `wayUnit` way ? pure [ "-DDEBUG"
+ , "-fno-omit-frame-pointer"
+ , "-g3"
=====================================
p/haskell-hadrian/debian/patches/series
=====================================
@@ -1,2 +1,3 @@
hadrian-haddock-opts
hadrian-iserv
+fix-dnosmp
View it on GitLab: https://salsa.debian.org/haskell-team/DHG_packages/-/commit/b888fac305bbbdb7fe3dd0fa7c777dd282b4ec29
--
View it on GitLab: https://salsa.debian.org/haskell-team/DHG_packages/-/commit/b888fac305bbbdb7fe3dd0fa7c777dd282b4ec29
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-haskell-commits/attachments/20231012/a6769067/attachment-0001.htm>
More information about the Pkg-haskell-commits
mailing list