[Git][ghc/ghc][ghc-8.8] 8 commits: configure.ac: add --enable-numa switch
Ben Gamari
gitlab at gitlab.haskell.org
Fri Jun 26 16:57:13 UTC 2020
Ben Gamari pushed to branch ghc-8.8 at Glasgow Haskell Compiler / GHC
Commits:
d1630685 by Sergei Trofimovich at 2020-05-31T12:27:36-04:00
configure.ac: add --enable-numa switch
Before the change ./configure detected numa support automatically
withoun a nice way to disable autodetection.
The change adds `--enable-numa` / `--disable-numa` switch to
override the default. If `--enable-numa` is passed and `libnuma`
is not present then configure will fail.
Reported-by: Sergey Alirzaev
Bug: https://github.com/gentoo-haskell/gentoo-haskell/issues/955
Signed-off-by: Sergei Trofimovich <slyfox at gentoo.org>
(cherry picked from commit 78afc2c92f94c7bbb94d774adc577aa039119172)
- - - - -
a7771ec6 by Ben Gamari at 2020-06-20T17:36:54-04:00
hsc2hs: Bump submodule to 0.68.7
Fixes #17995.
- - - - -
bee002a5 by Ben Gamari at 2020-06-20T17:54:49-04:00
users-guide: Add 8.8.4 release notes
- - - - -
14ce264c by Ben Gamari at 2020-06-20T21:31:42-04:00
gitlab-ci: Introduce DWARF release jobs for Deb10 and Fedora 27
(cherry picked from commit 481e31740672a37c5b3a8924bba7e15c4080bc2e)
- - - - -
c6e97663 by Ben Gamari at 2020-06-23T15:48:38-04:00
Bump Cabal submodule to 3.0.2.0
- - - - -
e9f2b43c by Ben Gamari at 2020-06-24T14:18:12-04:00
gitlab-ci: Bump docker images
- - - - -
ffa3e128 by Ben Gamari at 2020-06-24T14:47:43-04:00
hadrian: Widen QuickCheck upper bound
- - - - -
dbe8a594 by Ben Gamari at 2020-06-24T18:55:28-04:00
gitlab-ci: Bump bootstrap compiler version
- - - - -
7 changed files:
- .gitlab-ci.yml
- configure.ac
- + docs/users_guide/8.8.4-notes.rst
- docs/users_guide/index.rst
- hadrian/hadrian.cabal
- libraries/Cabal
- utils/hsc2hs
Changes:
=====================================
.gitlab-ci.yml
=====================================
@@ -2,7 +2,7 @@ variables:
GIT_SSL_NO_VERIFY: "1"
# Commit of ghc/ci-images repository from which to pull Docker images
- DOCKER_REV: e517150438cd9df9564fb91adc4b42e2667b2bc1
+ DOCKER_REV: 1ac7f435c9312f10422a82d304194778378e2a1a
# Sequential version number capturing the versions of all tools fetched by
# .gitlab/win32-init.sh.
@@ -25,11 +25,12 @@ stages:
- deploy # push documentation
.only-default: &only-default
- only:
- - master
- - /ghc-[0-9]+\.[0-9]+/
- - merge_requests
- - tags
+ rules:
+ - if: $CI_MERGE_REQUEST_ID
+ - if: $CI_COMMIT_TAG
+ - if: '$CI_COMMIT_BRANCH == "master"'
+ - if: '$CI_COMMIT_BRANCH =~ /ghc-[0.9]+\.[0-9]+/'
+ - if: '$CI_PIPELINE_SOURCE == "web"'
############################################################
# Runner Tags
@@ -42,6 +43,20 @@ stages:
# x86_64-linux to ensure low-latency availability.
#
+.nightly: &nightly
+ rules:
+ - if: $NIGHTLY
+
+.release: &release
+ variables:
+ BUILD_FLAVOUR: "perf"
+ FLAVOUR: "perf"
+ artifacts:
+ when: always
+ expire_in: 1 year
+ rules:
+ - if: '$RELEASE == "yes"'
+
############################################################
# Linting
@@ -62,9 +77,8 @@ ghc-linters:
dependencies: []
tags:
- lint
- only:
- refs:
- - merge_requests
+ rules:
+ - if: $CI_MERGE_REQUEST_ID
# We allow the submodule checker to fail when run on merge requests (to
# accomodate, e.g., haddock changes not yet upstream) but not on `master` or
@@ -80,18 +94,16 @@ ghc-linters:
lint-submods:
extends: .lint-submods
- only:
- refs:
- - master
- - /ghc-[0-9]+\.[0-9]+/
- - wip/marge_bot_batch_merge_job
+ rules:
+ - if: '$CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/'
+ allow_failure: false
+ - allow_failure: true
lint-submods-mr:
extends: .lint-submods
allow_failure: true
- only:
- refs:
- - merge_requests
+ rules:
+ - if: $CI_MERGE_REQUEST_ID
.lint-changelogs:
stage: lint
@@ -105,15 +117,13 @@ lint-submods-mr:
lint-changelogs:
extends: .lint-changelogs
allow_failure: true
- only:
- refs:
- - /ghc-[0-9]+\.[0-9]+/
+ rules:
+ - if: '$CI_COMMIT_BRANCH =~ /ghc-[0.9]+\.[0-9]+/'
lint-release-changelogs:
extends: .lint-changelogs
- only:
- refs:
- - /ghc-[0-9]+\.[0-9]+\.[0-9]+-.*-release/
+ rules:
+ - if: '$CI_COMMIT_BRANCH =~ /ghc-[0.9]+\.[0-9]+/'
############################################################
@@ -197,7 +207,7 @@ validate-x86_64-darwin:
tags:
- x86_64-darwin
variables:
- GHC_VERSION: 8.6.3
+ GHC_VERSION: "8.8.3"
CABAL_INSTALL_VERSION: 2.4.1.0
BIN_DIST_PREP_TAR_COMP: "bindistprep/ghc-x86_64-apple-darwin.tar.xz"
MACOSX_DEPLOYMENT_TARGET: "10.7"
@@ -281,14 +291,12 @@ validate-aarch64-linux-deb9:
expire_in: 2 week
nightly-aarch64-linux-deb9:
+ <<: *nightly
extends: .build-aarch64-linux-deb9
artifacts:
expire_in: 2 year
variables:
TEST_TYPE: slowtest
- only:
- variables:
- - $NIGHTLY
#################################
# i386-linux-deb9
@@ -311,15 +319,27 @@ validate-i386-linux-deb9:
expire_in: 2 week
nightly-i386-linux-deb9:
+ <<: *nightly
extends: .build-i386-linux-deb9
variables:
TEST_TYPE: slowtest
artifacts:
when: always
expire_in: 2 week
- only:
- variables:
- - $NIGHTLY
+
+#################################
+# x86_64-linux-deb10
+#################################
+
+.build-x86_64-linux-deb10:
+ extends: .validate-linux
+ stage: full-build
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ variables:
+ TEST_ENV: "x86_64-linux-deb10"
+ BIN_DIST_PREP_TAR_COMP: "./ghc-x86_64-deb10-linux.tar.xz"
+ cache:
+ key: linux-x86_64-deb10
#################################
# x86_64-linux-deb9
@@ -342,14 +362,12 @@ validate-x86_64-linux-deb9:
expire_in: 2 week
nightly-x86_64-linux-deb9:
+ <<: *nightly
extends: .build-x86_64-linux-deb9
artifacts:
expire_in: 2 year
variables:
TEST_TYPE: slowtest
- only:
- variables:
- - $NIGHTLY
# N.B. Has DEBUG assertions enabled in stage2
validate-x86_64-linux-deb9-debug:
@@ -377,6 +395,7 @@ validate-x86_64-linux-deb9-integer-simple:
BIN_DIST_PREP_TAR_COMP: "bindistprep/ghc-x86_64-deb9-linux-integer-simple.tar.xz"
nightly-x86_64-linux-deb9-integer-simple:
+ <<: *nightly
extends: .build-x86_64-linux-deb9
stage: full-build
variables:
@@ -385,9 +404,6 @@ nightly-x86_64-linux-deb9-integer-simple:
TEST_TYPE: slowtest
artifacts:
expire_in: 2 year
- only:
- variables:
- - $NIGHTLY
validate-x86_64-linux-deb9-unreg:
extends: .build-x86_64-linux-deb9
@@ -413,11 +429,21 @@ release-x86_64-linux-deb9-dwarf:
key: linux-x86_64-deb9
+release-x86_64-linux-deb10-dwarf:
+ <<: *release
+ extends: .build-x86_64-linux-deb10
+ variables:
+ CONFIGURE_ARGS: "--enable-dwarf-unwind"
+ BUILD_FLAVOUR: dwarf
+ TEST_ENV: "x86_64-linux-deb10-dwarf"
+ BIN_DIST_PREP_TAR_COMP: "ghc-x86_64-deb10-linux-dwarf.tar.xz"
+
#################################
# x86_64-linux-deb8
#################################
release-x86_64-linux-deb8:
+ <<: *release
extends: .validate-linux
stage: full-build
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb8:$DOCKER_REV"
@@ -426,8 +452,6 @@ release-x86_64-linux-deb8:
BIN_DIST_PREP_TAR_COMP: "bindistprep/ghc-x86_64-deb8-linux.tar.xz"
# Disable sphinx PDF output as our Debian image doesn't have the requisite packages
BUILD_SPHINX_PDF: "NO"
- only:
- - tags
cache:
key: linux-x86_64-deb8
artifacts:
@@ -439,6 +463,7 @@ release-x86_64-linux-deb8:
#################################
release-x86_64-linux-centos7:
+ <<: *release
extends: .validate-linux
stage: full-build
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-centos7:$DOCKER_REV"
@@ -451,8 +476,6 @@ release-x86_64-linux-centos7:
TEST_ENV: "x86_64-linux-centos7"
BIN_DIST_PREP_TAR_COMP: "bindistprep/ghc-x86_64-centos7-linux.tar.xz"
allow_failure: true
- only:
- - tags
cache:
key: linux-x86_64-centos7
artifacts:
@@ -463,7 +486,7 @@ release-x86_64-linux-centos7:
# x86_64-linux-fedora27
#################################
-validate-x86_64-linux-fedora27:
+.build-x86_64-linux-fedora27:
extends: .validate-linux
stage: full-build
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora27:$DOCKER_REV"
@@ -472,12 +495,28 @@ validate-x86_64-linux-fedora27:
BIN_DIST_PREP_TAR_COMP: "bindistprep/ghc-x86_64-fedora27-linux.tar.xz"
cache:
key: linux-x86_64-fedora27
+
+validate-x86_64-linux-fedora27:
+ extends: .build-x86_64-linux-fedora27
artifacts:
when: always
# These are used for head.hackage jobs therefore we keep them around for
# longer.
expire_in: 8 week
+release-x86_64-linux-fedora27:
+ <<: *release
+ extends: .build-x86_64-linux-fedora27
+
+release-x86_64-linux-fedora27-dwarf:
+ <<: *release
+ extends: .build-x86_64-linux-fedora27
+ variables:
+ CONFIGURE_ARGS: "--enable-dwarf-unwind"
+ BUILD_FLAVOUR: dwarf
+ TEST_ENV: "x86_64-linux-fedora27-dwarf"
+ BIN_DIST_PREP_TAR_COMP: "ghc-x86_64-fedora27-linux-dwarf.tar.xz"
+
############################################################
# Validation via Pipelines (Windows)
############################################################
@@ -522,7 +561,7 @@ validate-x86_64-linux-fedora27:
stage: full-build
allow_failure: true
variables:
- GHC_VERSION: "8.6.2"
+ GHC_VERSION: "8.8.3"
script:
- |
python boot
@@ -546,12 +585,10 @@ validate-x86_64-windows-hadrian:
key: "x86_64-windows-hadrian-$WINDOWS_TOOLCHAIN_VERSION"
nightly-i386-windows-hadrian:
+ <<: *nightly
extends: .build-windows-hadrian
variables:
MSYSTEM: MINGW32
- only:
- variables:
- - $NIGHTLY
cache:
key: "i386-windows-hadrian-$WINDOWS_TOOLCHAIN_VERSION"
@@ -562,7 +599,7 @@ nightly-i386-windows-hadrian:
allow_failure: true
variables:
BUILD_FLAVOUR: "UNSET"
- GHC_VERSION: "8.6.2"
+ GHC_VERSION: "8.8.3"
BUILD_PROF_LIBS: "YES"
BIN_DIST_PREP_TAR_COMP: "bindistprep/ghc-x86_64-mingw32.tar.xz"
script:
@@ -597,18 +634,16 @@ validate-x86_64-windows:
# Normal Windows validate builds are profiled; that won't do for releases.
release-x86_64-windows:
+ <<: *release
extends: validate-x86_64-windows
variables:
MSYSTEM: MINGW64
BUILD_FLAVOUR: "perf"
CONFIGURE_ARGS: "--target=x86_64-unknown-mingw32"
- only:
- - tags
release-i386-windows:
+ <<: *release
extends: .build-windows-make
- only:
- - tags
variables:
MSYSTEM: MINGW32
BUILD_FLAVOUR: "perf"
@@ -619,10 +654,8 @@ release-i386-windows:
key: "i386-windows-$WINDOWS_TOOLCHAIN_VERSION"
nightly-i386-windows:
+ <<: *nightly
extends: .build-windows-make
- only:
- variables:
- - $NIGHTLY
variables:
MSYSTEM: MINGW32
CONFIGURE_ARGS: "--target=i386-unknown-mingw32"
@@ -653,7 +686,6 @@ cleanup-windows:
stage: cleanup
tags:
- x86_64-windows
- when: always
dependencies: []
before_script:
- echo "Time to clean up"
@@ -676,7 +708,6 @@ cleanup-darwin:
stage: cleanup
tags:
- x86_64-darwin
- when: always
dependencies: []
before_script:
- echo "Time to clean up"
@@ -694,13 +725,12 @@ cleanup-darwin:
############################################################
source-tarball:
+ <<: *release
stage: packaging
tags:
- x86_64-linux
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"
dependencies: []
- only:
- - tags
artifacts:
paths:
- ghc-*.tar.xz
@@ -738,19 +768,12 @@ source-tarball:
script:
- bash .gitlab/start-head.hackage.sh
-hackage:
- extends: .hackage
- when: manual
-
hackage-label:
extends: .hackage
- only:
- variables:
- - $CI_MERGE_REQUEST_LABELS =~ /.*user-facing.*/
+ rules:
+ - if: '$CI_MERGE_REQUEST_LABELS =~ /.*user-facing.*/'
nightly-hackage:
+ <<: *nightly
extends: .hackage
- only:
- variables:
- - $NIGHTLY
=====================================
configure.ac
=====================================
@@ -1259,11 +1259,22 @@ AC_DEFINE_UNQUOTED([USE_LIBDW], [$USE_LIBDW], [Set to 1 to use libdw])
dnl ** Have libnuma?
dnl --------------------------------------------------------------
HaveLibNuma=0
-AC_CHECK_HEADERS([numa.h numaif.h])
+AC_ARG_ENABLE(numa,
+ [AC_HELP_STRING([--enable-numa],
+ [Enable NUMA memory policy and thread affinity support in the
+ runtime system via numactl's libnuma [default=auto]])])
-if test "$ac_cv_header_numa_h$ac_cv_header_numaif_h" = "yesyes" ; then
+if test "$enable_numa" != "no" ; then
+ AC_CHECK_HEADERS([numa.h numaif.h])
+
+ if test "$ac_cv_header_numa_h$ac_cv_header_numaif_h" = "yesyes" ; then
AC_CHECK_LIB(numa, numa_available,HaveLibNuma=1)
+ fi
+ if test "$enable_numa:$HaveLibNuma" = "yes:0" ; then
+ AC_MSG_ERROR([Cannot find system libnuma (required by --enable-numa)])]
+ fi
fi
+
AC_DEFINE_UNQUOTED([HAVE_LIBNUMA], [$HaveLibNuma], [Define to 1 if you have libnuma])
if test $HaveLibNuma = "1" ; then
AC_SUBST([CabalHaveLibNuma],[True])
=====================================
docs/users_guide/8.8.4-notes.rst
=====================================
@@ -0,0 +1,80 @@
+.. _release-8-8-4:
+
+Release notes for version 8.8.4
+===============================
+
+GHC 8.8.4 is a minor release intended to fix regressions and minor bugs in the
+8.8.1, 8.8.2 and 8.8.3 releases.
+
+Highlights
+----------
+
+- Fix a bug in process creation on Windows (:ghc-ticket:`17926`).
+
+- Workaround a Linux kernel bug in the implementation of ``timerfd``\s (:ghc-ticket:`18033`).
+
+
+Known issues
+------------
+
+- A long-standing bug (:ghc-ticket:`16893`) which can cause some applications
+ of ``unsafeCoerce`` to segmentation fault is only partially fixed in this
+ release. This release only avoids this issue in the uses of ``unsafeCoerce``
+ in ``Data.Typeable.Internal``, which was the proximate cause of
+ :ghc-ticket:`16893`.
+
+ However, it is possible that this bug could manifest in user-code using
+ ``unsafeCoerce`` to perform dynamic type checks. See the :ghc-ticket:`ticket
+ <16893>` for details.
+
+- The simplifier can optimise away some applications of the ``touch#`` primop
+ when it can prove that the ``touch#`` is unreachable due to divergence or
+ synchronous exception, resulting in memory unsoundness. Users requiring
+ ``touch#`` behavior are advised to only use ``touch#`` to implement
+ continuation-passing-style primitives (e.g. in the style of
+ ``withForeignPtr``) bearing ``NOINLINE`` pragmas (to avoid inappropriate
+ simplification). See :ghc-ticket:`17760` for details.
+
+Included libraries
+------------------
+
+The package database provided with this distribution also contains a number of
+packages other than GHC itself. See the changelogs provided with these packages
+for further change information.
+
+.. ghc-package-list::
+
+ libraries/array/array.cabal: Dependency of ``ghc`` library
+ libraries/base/base.cabal: Core library
+ libraries/binary/binary.cabal: Dependency of ``ghc`` library
+ libraries/bytestring/bytestring.cabal: Dependency of ``ghc`` library
+ libraries/Cabal/Cabal/Cabal.cabal: Dependency of ``ghc-pkg`` utility
+ libraries/containers/containers/containers.cabal: Dependency of ``ghc`` library
+ libraries/deepseq/deepseq.cabal: Dependency of ``ghc`` library
+ libraries/directory/directory.cabal: Dependency of ``ghc`` library
+ libraries/filepath/filepath.cabal: Dependency of ``ghc`` library
+ compiler/ghc.cabal: The compiler itself
+ libraries/ghci/ghci.cabal: The REPL interface
+ libraries/ghc-boot/ghc-boot.cabal: Internal compiler library
+ libraries/ghc-boot-th/ghc-boot-th.cabal: Internal compiler library
+ libraries/ghc-compact/ghc-compact.cabal: Core library
+ libraries/ghc-heap/ghc-heap.cabal: GHC heap-walking library
+ libraries/ghc-prim/ghc-prim.cabal: Core library
+ libraries/haskeline/haskeline.cabal: Dependency of ``ghci`` executable
+ libraries/hpc/hpc.cabal: Dependency of ``hpc`` executable
+ libraries/integer-gmp/integer-gmp.cabal: Core library
+ libraries/libiserv/libiserv.cabal: Internal compiler library
+ libraries/mtl/mtl.cabal: Dependency of ``Cabal`` library
+ libraries/parsec/parsec.cabal: Dependency of ``Cabal`` library
+ libraries/process/process.cabal: Dependency of ``ghc`` library
+ libraries/pretty/pretty.cabal: Dependency of ``ghc`` library
+ libraries/stm/stm.cabal: Dependency of ``haskeline`` library
+ libraries/template-haskell/template-haskell.cabal: Core library
+ libraries/terminfo/terminfo.cabal: Dependency of ``haskeline`` library
+ libraries/text/text.cabal: Dependency of ``Cabal`` library
+ libraries/time/time.cabal: Dependency of ``ghc`` library
+ libraries/transformers/transformers.cabal: Dependency of ``ghc`` library
+ libraries/unix/unix.cabal: Dependency of ``ghc`` library
+ libraries/Win32/Win32.cabal: Dependency of ``ghc`` library
+ libraries/xhtml/xhtml.cabal: Dependency of ``haddock`` executable
+
=====================================
docs/users_guide/index.rst
=====================================
@@ -15,6 +15,7 @@ Contents:
8.8.1-notes
8.8.2-notes
8.8.3-notes
+ 8.8.4-notes
ghci
runghc
usage
=====================================
hadrian/hadrian.cabal
=====================================
@@ -122,7 +122,7 @@ executable hadrian
, extra >= 1.4.7
, mtl == 2.2.*
, parsec >= 3.1 && < 3.2
- , QuickCheck >= 2.6 && < 2.13
+ , QuickCheck >= 2.6 && < 2.15
, shake >= 0.16.4
, transformers >= 0.4 && < 0.6
, unordered-containers >= 0.2.1 && < 0.3
=====================================
libraries/Cabal
=====================================
@@ -1 +1 @@
-Subproject commit 8199c3f838a15fb9b7c8d3527603084b2474d877
+Subproject commit bd07f0a095869b91a590d8a564f716a6a136818a
=====================================
utils/hsc2hs
=====================================
@@ -1 +1 @@
-Subproject commit efb556cc2689cae42abadae87d778ae20fbc0a14
+Subproject commit 24100ea521596922d3edc8370b3d9f7b845ae4cf
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/bc05d3599545ddca50dbd8a557fd71785f6cb6fd...dbe8a5947aa5714777611260dafaaebd7fd0f822
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/bc05d3599545ddca50dbd8a557fd71785f6cb6fd...dbe8a5947aa5714777611260dafaaebd7fd0f822
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20200626/51bfb9e2/attachment-0001.html>
More information about the ghc-commits
mailing list