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

Reply via email to