]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libgomp: Fix up -static -fopenmp linking [PR109904]
authorJakub Jelinek <jakub@redhat.com>
Fri, 19 May 2023 08:13:14 +0000 (10:13 +0200)
committerJakub Jelinek <jakub@redhat.com>
Fri, 19 May 2023 08:16:30 +0000 (10:16 +0200)
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.

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

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

libgomp/configure
libgomp/configure.ac

index 68ab844a1dfd2e6fe2b35eb9fc47d87498a8a829..60dd526df75744bd2fc69dba4242ff5c2ec9676a 100755 (executable)
@@ -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
 
 
index 668873a4b81624b3b90a1d18bfc1650487152d8f..45c71bde0e6baa4e81a006ea47cef6da27de2d0f 100644 (file)
@@ -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)