[Git][ghc/ghc][wip/freebsd] 9 commits: gitlab-ci: Enable documentation build on FreeBSD 14

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Fri Dec 6 14:33:05 UTC 2024



Ben Gamari pushed to branch wip/freebsd at Glasgow Haskell Compiler / GHC


Commits:
0dcbc1b1 by Ben Gamari at 2024-12-06T09:29:33-05:00
gitlab-ci: Enable documentation build on FreeBSD 14

- - - - -
70fa3b2a by Ben Gamari at 2024-12-06T09:29:37-05:00
configure: Implement ld override whitelist

Bring `configure` into alignment with `ghc-toolchain`, ensuring that the
ld-override logic will only take effect on Linux and Windows.

Fixes #25501.

- - - - -
95a23b96 by Ben Gamari at 2024-12-06T09:29:37-05:00
gitlab-ci: Use system libffi on FreeBSD

- - - - -
3bd8be9f by Ben Gamari at 2024-12-06T09:31:44-05:00
testsuite: Mark linker_unload as broken on FreeeBSD

Due to #25491.

- - - - -
e586afd8 by Ben Gamari at 2024-12-06T09:32:07-05:00
gitlab-ci: Prefer system toolchain on FreeBSD

It's not uncommon to find machines with gcc installed via ports. We
should be using the system's default clang-based toolchain instead.

- - - - -
0bed44aa by Ben Gamari at 2024-12-06T09:32:17-05:00
testsuite: Mark T21969 as broken on FreeBSD

Due to #25512.

- - - - -
7331ce3e by Ben Gamari at 2024-12-06T09:32:17-05:00
testsuite: Mark RestartEventLogging as broken on FreeBSD

I am seeing this fail quite reproducibly.

Due to #19724.

- - - - -
3c6ea281 by Ben Gamari at 2024-12-06T09:32:17-05:00
testsuite: Mark T16180 as "broken" on FreeBSD

Sadly we in fact need to skip it as it merely times out during
compilation.

See #14012.

- - - - -
3120c80a by Ben Gamari at 2024-12-06T09:32:53-05:00
ci: Disable T16992 on FreeBSD due to memory requirement

- - - - -


7 changed files:

- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- m4/find_ld.m4
- testsuite/tests/concurrent/should_run/all.T
- testsuite/tests/rts/all.T
- testsuite/tests/rts/linker/all.T
- testsuite/tests/th/all.T


Changes:

=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -428,10 +428,15 @@ opsysVariables _ FreeBSD14 = mconcat
     -- to use the "native" iconv embedded in libc as suggested by the
     -- porting guide [1].
     -- [1] https://www.freebsd.org/doc/en/books/porters-handbook/using-iconv.html)
-    "CONFIGURE_ARGS" =:  "--with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib"
-  , "HADRIAN_ARGS" =: "--docs=no-sphinx"
+    "CONFIGURE_ARGS" =: "--with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib"
+  , "CONFIGURE_ARGS" =: "--with-system-libffi --with-ffi-includes=/usr/local/include --with-ffi-libraries=/usr/local/lib"
+  , "CONFIGURE_ARGS" =: "--with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib"
+    -- Prefer to use the system's clang-based toolchain and not gcc
+  , "CC" =: "cc"
+  , "CXX" =: "c++"
   , "GHC_VERSION" =: "9.6.4"
   , "CABAL_INSTALL_VERSION" =: "3.10.3.0"
+  , brokenTest "T16992" "requires too much memory for runners"
   ]
 opsysVariables arch (Linux distro) = distroVariables arch distro
 opsysVariables AArch64 (Darwin {}) =


=====================================
.gitlab/jobs.yaml
=====================================
@@ -1136,11 +1136,13 @@
     "variables": {
       "BIGNUM_BACKEND": "gmp",
       "BIN_DIST_NAME": "ghc-x86_64-freebsd14-validate",
+      "BROKEN_TESTS": "T16992",
       "BUILD_FLAVOUR": "validate",
       "CABAL_INSTALL_VERSION": "3.10.3.0",
-      "CONFIGURE_ARGS": "--with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib --enable-strict-ghc-toolchain-check",
+      "CC": "cc",
+      "CONFIGURE_ARGS": "--with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib --with-system-libffi --with-ffi-includes=/usr/local/include --with-ffi-libraries=/usr/local/lib --with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --enable-strict-ghc-toolchain-check",
+      "CXX": "c++",
       "GHC_VERSION": "9.6.4",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
       "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "x86_64-freebsd14-validate",
@@ -3963,11 +3965,14 @@
     "variables": {
       "BIGNUM_BACKEND": "gmp",
       "BIN_DIST_NAME": "ghc-x86_64-freebsd14-release",
+      "BROKEN_TESTS": "T16992",
       "BUILD_FLAVOUR": "release",
       "CABAL_INSTALL_VERSION": "3.10.3.0",
-      "CONFIGURE_ARGS": "--with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib --enable-strict-ghc-toolchain-check",
+      "CC": "cc",
+      "CONFIGURE_ARGS": "--with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib --with-system-libffi --with-ffi-includes=/usr/local/include --with-ffi-libraries=/usr/local/lib --with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --enable-strict-ghc-toolchain-check",
+      "CXX": "c++",
       "GHC_VERSION": "9.6.4",
-      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+      "HADRIAN_ARGS": "--hash-unit-ids",
       "IGNORE_PERF_FAILURES": "all",
       "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
       "RUNTEST_ARGS": "",
@@ -5407,11 +5412,13 @@
     "variables": {
       "BIGNUM_BACKEND": "gmp",
       "BIN_DIST_NAME": "ghc-x86_64-freebsd14-validate",
+      "BROKEN_TESTS": "T16992",
       "BUILD_FLAVOUR": "validate",
       "CABAL_INSTALL_VERSION": "3.10.3.0",
-      "CONFIGURE_ARGS": "--with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib --enable-strict-ghc-toolchain-check",
+      "CC": "cc",
+      "CONFIGURE_ARGS": "--with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib --with-system-libffi --with-ffi-includes=/usr/local/include --with-ffi-libraries=/usr/local/lib --with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --enable-strict-ghc-toolchain-check",
+      "CXX": "c++",
       "GHC_VERSION": "9.6.4",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
       "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "x86_64-freebsd14-validate"


=====================================
m4/find_ld.m4
=====================================
@@ -79,13 +79,16 @@ AC_DEFUN([FIND_LD],[
         dnl See #21712.
         AC_CHECK_TARGET_TOOL([LD], [ld])
         ;;
-    *)
+    *-linux|*-mingw32)
         if test "x$enable_ld_override" = "xyes"; then
             find_ld
         else
             AC_CHECK_TARGET_TOOL([LD], [ld])
         fi
         ;;
+    *)
+        AC_CHECK_TARGET_TOOL([LD], [ld])
+        ;;
     esac
     CHECK_LD_COPY_BUG([$1])
 ])


=====================================
testsuite/tests/concurrent/should_run/all.T
=====================================
@@ -268,6 +268,7 @@ test('T21651',
 test('T21969',
      [ only_ways(['threaded1','threaded2', 'nonmoving_thr', 'profthreaded']),
        when(opsys('mingw32'),skip), # uses POSIX pipes
+       when(opsys('freebsd'), expect_broken(25512)),
        extra_run_opts('50000'),
        run_timeout_multiplier(0.3), # default timeout seems to be 300, but lockups happen quickly
        req_target_smp,


=====================================
testsuite/tests/rts/all.T
=====================================
@@ -531,7 +531,9 @@ test('InitEventLogging',
      ],
      compile_and_run, ['InitEventLogging_c.c'])
 test('RestartEventLogging',
-     [only_ways(['threaded1','threaded2']), extra_run_opts('+RTS -la -RTS')],
+     [only_ways(['threaded1','threaded2']),
+      extra_run_opts('+RTS -la -RTS'),
+      when(opsys('freebsd'), fragile_for(19724))],
      compile_and_run, ['RestartEventLogging_c.c'])
 
 test('T17088',


=====================================
testsuite/tests/rts/linker/all.T
=====================================
@@ -108,6 +108,7 @@ test('T5435_dyn_gcc',
 ######################################
 test('linker_unload',
      [extra_files(['LinkerUnload.hs', 'Test.hs']),
+      when(opsys('freebsd'), expect_broken(25491)),
       req_rts_linker],
      makefile_test, ['linker_unload'])
 


=====================================
testsuite/tests/th/all.T
=====================================
@@ -488,9 +488,9 @@ test('T15471', normal, multimod_compile, ['T15471.hs', '-v0'])
 test('T16180',
      [when(llvm_build(), expect_broken_for(16541, ['ext-interp'])),
       req_asm,
-      # Ideally OpenBSD should have expect_broken_for(14012, ['ext-interp']).
+      # Ideally {Free,Open}BSD should have expect_broken_for(14012, ['ext-interp']).
       # Except the failure is in compilation so skip seems the best we can do.
-      when(opsys('openbsd'), skip),
+      when(opsys('openbsd') or opsys('freebsd'), skip),
       expect_broken_for(16541, ghci_ways)],
      compile_and_run, ['-package ghc'])
 test('T16183', normal, compile, ['-v0 -ddump-splices -dsuppress-uniques'])



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/664ec7785d2bd50b4c96dd6297d4fc03e83b4a8b...3120c80a73bd916589dd4f1e5e899043e4387c4a

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/664ec7785d2bd50b4c96dd6297d4fc03e83b4a8b...3120c80a73bd916589dd4f1e5e899043e4387c4a
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/20241206/c3b00924/attachment-0001.html>


More information about the ghc-commits mailing list