[Git][ghc/ghc][wip/freebsd] 7 commits: gitlab-ci: Use system libffi on FreeBSD
Ben Gamari (@bgamari)
gitlab at gitlab.haskell.org
Tue Dec 10 12:49:35 UTC 2024
Ben Gamari pushed to branch wip/freebsd at Glasgow Haskell Compiler / GHC
Commits:
d8aeea2f by Ben Gamari at 2024-12-10T07:49:26-05:00
gitlab-ci: Use system libffi on FreeBSD
- - - - -
5ac3f203 by Ben Gamari at 2024-12-10T07:49:26-05:00
testsuite: Mark linker_unload as broken on FreeeBSD
Due to #25491.
- - - - -
ebc03d0b by Ben Gamari at 2024-12-10T07:49:26-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.
- - - - -
bfebcc29 by Ben Gamari at 2024-12-10T07:49:26-05:00
testsuite: Mark T21969 as broken on FreeBSD
Due to #25512.
- - - - -
9963ddf1 by Ben Gamari at 2024-12-10T07:49:26-05:00
testsuite: Mark RestartEventLogging as broken on FreeBSD
I am seeing this fail quite reproducibly.
Due to #19724.
- - - - -
c939ca01 by Ben Gamari at 2024-12-10T07:49:26-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.
- - - - -
4ab378d0 by Ben Gamari at 2024-12-10T07:49:26-05:00
testsuite: Skip T16992 unless in slow speed
This test has extraordinary memory requirements and tests a rather
niche aspect of the compact region mechanism. It has been suggested
multiple times that we shouldn't run it in the default testsuite
configuration. Finally implement this.
See #21890.
See #21892.
- - - - -
8 changed files:
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- libraries/ghc-compact/tests/all.T
- testsuite/driver/testlib.py
- 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,7 +428,12 @@ 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"
+ "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"
]
=====================================
.gitlab/jobs.yaml
=====================================
@@ -1138,7 +1138,9 @@
"BIN_DIST_NAME": "ghc-x86_64-freebsd14-validate",
"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",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
@@ -3964,7 +3966,9 @@
"BIN_DIST_NAME": "ghc-x86_64-freebsd14-release",
"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",
"IGNORE_PERF_FAILURES": "all",
@@ -5408,7 +5412,9 @@
"BIN_DIST_NAME": "ghc-x86_64-freebsd14-validate",
"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",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
=====================================
libraries/ghc-compact/tests/all.T
=====================================
@@ -28,5 +28,8 @@ test('T18757', omit_ghci, compile_and_run, [''])
# N.B. Sanity check times out due to large list.
test('T16992', [when(wordsize(32), skip), # Resource limit exceeded on 32-bit
high_memory_usage,
+ # This test has extraordinary memory requirement,
+ # skip unless testing slow speed
+ unless(slow(), skip),
run_timeout_multiplier(5),
omit_ways(['sanity'])], compile_and_run, [''])
=====================================
testsuite/driver/testlib.py
=====================================
@@ -970,6 +970,9 @@ def tables_next_to_code() -> bool:
def fast() -> bool:
return config.speed == 2
+def slow() -> bool:
+ return config.speed == 0
+
def platform( plat: str ) -> bool:
return config.platform == plat
=====================================
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(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/91a26d7f5bfc3e231a54c13382d413a1c0e8bc2e...4ab378d0de13574c11581b52b68f95d8a600c2f3
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/91a26d7f5bfc3e231a54c13382d413a1c0e8bc2e...4ab378d0de13574c11581b52b68f95d8a600c2f3
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/20241210/f2207b66/attachment-0001.html>
More information about the ghc-commits
mailing list