As stated in the PR, this issue is possibly related to the version of glibc installed on some systems. I can't test this on so many systems, so I want to see if the auto testers pick it up. The patch is fairly simple. I copied Tobias as the original reporter.

Assisted by Claude Sonnet 4.6 to be clear. See attached.

OK for mainline? If accepted probably should be backported to 16.

Jerry

---
fortran: also link -lpthread when -fcoarray=shared is used

 [PR125324]

When the driver auto-links -lcaf_shmem for -fcoarray=shared it must also
link -lpthread because the shmem CAF runtime uses POSIX threads internally.

        PR fortran/125324

gcc/fortran/ChangeLog:

        * gfortranspec.cc (lang_specific_driver): Also append -lpthread
        when need_caf_shmem is set.

Assisted by: Claude Sonnet 4.6
---
From bc334e5e5add66b300df0dabc067c785e3db9a15 Mon Sep 17 00:00:00 2001
From: Jerry DeLisle <[email protected]>
Date: Wed, 27 May 2026 09:24:26 -0700
Subject: [PATCH] fortran: also link -lpthread when -fcoarray=shared is used
 [PR125324]

When the driver auto-links -lcaf_shmem for -fcoarray=shared it must also
link -lpthread because the shmem CAF runtime uses POSIX threads internally.

Assisted by: Claude Sonnet 4.6

	PR fortran/125324

gcc/fortran/ChangeLog:

	* gfortranspec.cc (lang_specific_driver): Also append -lpthread
	when need_caf_shmem is set.

---
 gcc/fortran/gfortranspec.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gcc/fortran/gfortranspec.cc b/gcc/fortran/gfortranspec.cc
index 13b240013e8..a98c538889e 100644
--- a/gcc/fortran/gfortranspec.cc
+++ b/gcc/fortran/gfortranspec.cc
@@ -428,7 +428,10 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
 	}
 
       if (need_caf_shmem)
-	append_option (OPT_l, CAF_SHMEM_LIBRARY, 1);
+	{
+	  append_option (OPT_l, CAF_SHMEM_LIBRARY, 1);
+	  append_option (OPT_l, "pthread", 1);
+	}
     }
 
 #ifdef ENABLE_SHARED_LIBGCC
-- 
2.54.0

Reply via email to