https://gcc.gnu.org/g:b1a3ff0e9f34fba8c7f5998838a4da713ea20a9a
commit r16-8537-gb1a3ff0e9f34fba8c7f5998838a4da713ea20a9a Author: Rainer Orth <[email protected]> Date: Wed Apr 8 18:38:07 2026 +0200 libphobos: Skip libphobos.shared/finalize.d etc. on Solaris [PR88150] Three libphobos tests currently FAIL on Solaris: FAIL: libphobos.shared/finalize.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load.d -shared-libphobos -ldl execution test FAIL: libphobos.shared/load_13414.d -shared-libphobos -ldl execution test As discussed in PR d/88150, those tests cannot work with refCounted = false in gcc.sections.elf.handleForName. Because the test names include additional options, the file name needs to be extracted first before matching against libphobos_skip_tests. Tested on i386-pc-solaris2.11 and sparc-sun-solaris2.11. 2026-04-01 Rainer Orth <[email protected]> libphobos: PR d/88150 * testsuite/lib/libphobos.exp (libphobos_skipped_test_p): Extract filename from $test. * testsuite/libphobos.shared/shared.exp (libphobos_skip_tests): Skip libphobos.shared/finalize.d etc. on Solaris. Diff: --- libphobos/testsuite/lib/libphobos.exp | 2 ++ libphobos/testsuite/libphobos.shared/shared.exp | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/libphobos/testsuite/lib/libphobos.exp b/libphobos/testsuite/lib/libphobos.exp index b154f22f5abe..33f13e724f6a 100644 --- a/libphobos/testsuite/lib/libphobos.exp +++ b/libphobos/testsuite/lib/libphobos.exp @@ -312,6 +312,8 @@ proc filter_libphobos_unittests { list } { proc libphobos_skipped_test_p { test } { global libphobos_skip_tests + # Extract test name. + set test [lindex $test 0] set row [lsearch -inline -index 0 $libphobos_skip_tests $test] if { $row eq "" } { return "" diff --git a/libphobos/testsuite/libphobos.shared/shared.exp b/libphobos/testsuite/libphobos.shared/shared.exp index a0612a789e84..677ed2f13fcd 100644 --- a/libphobos/testsuite/libphobos.shared/shared.exp +++ b/libphobos/testsuite/libphobos.shared/shared.exp @@ -64,6 +64,13 @@ shared_library "$srcdir/$subdir/lib_13414.d" "lib_13414.so" "" shared_library "$srcdir/$subdir/plugin.d" "plugin1.so" "" shared_library "$srcdir/$subdir/plugin.d" "plugin2.so" "" +set libphobos_skip_tests { + # Skip some tests: dlopen handles are not unique on Solaris (PR d/88150). + { libphobos.shared/finalize.d { *-*-solaris2* } } + { libphobos.shared/load.d { *-*-solaris2* } } + { libphobos.shared/load_13414.d { *-*-solaris2* } } +} + # Initialize dg. dg-init
