[committed] libgomp: Fix up -static -fopenmp linking [PR109904]

Message ID ZGcwyQG4dEaGPArd@tucnak
State Unresolved
Headers
Series [committed] libgomp: Fix up -static -fopenmp linking [PR109904] |

Checks

Context Check Description
snail/gcc-patch-check warning Git am fail log

Commit Message

Jakub Jelinek May 19, 2023, 8:18 a.m. UTC
  Hi!

When an OpenMP program with target regions is linked statically,
it fails to link on various arches (doesn't when using recent glibc
because it has libdl stuff in libc), because libgomp.a(target.o) uses
dlopen/dlsym/dlclose, but we aren't linking against -ldl (unless
user asked for that).  We already have libgomp.spec so that we
can supply extra libraries to link against in the -static case,
this patch adds -ldl to that if plugins are supported.

Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk.

2023-05-19  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/109904
	* configure.ac (link_gomp): Include also $DL_LIBS.
	* configure: Regenerated.


	Jakub
  

Patch

--- libgomp/configure.ac.jj	2023-05-15 19:12:35.138624638 +0200
+++ libgomp/configure.ac	2023-05-18 20:41:58.512501769 +0200
@@ -398,9 +398,9 @@  fi
 # which will force linkage against -lpthread (or equivalent for the system).
 # That's not 100% ideal, but about the best we can do easily.
 if test $enable_shared = yes; then
-  link_gomp="-lgomp %{static: $LIBS}"
+  link_gomp="-lgomp %{static: $LIBS${DL_LIBS:+ $DL_LIBS}}"
 else
-  link_gomp="-lgomp $LIBS"
+  link_gomp="-lgomp $LIBS${DL_LIBS:+ $DL_LIBS}"
 fi
 AC_SUBST(link_gomp)
 
--- libgomp/configure.jj	2023-05-15 19:12:35.138624638 +0200
+++ libgomp/configure	2023-05-18 20:42:12.703299052 +0200
@@ -16788,9 +16788,9 @@  fi
 # which will force linkage against -lpthread (or equivalent for the system).
 # That's not 100% ideal, but about the best we can do easily.
 if test $enable_shared = yes; then
-  link_gomp="-lgomp %{static: $LIBS}"
+  link_gomp="-lgomp %{static: $LIBS${DL_LIBS:+ $DL_LIBS}}"
 else
-  link_gomp="-lgomp $LIBS"
+  link_gomp="-lgomp $LIBS${DL_LIBS:+ $DL_LIBS}"
 fi