From: Jakub Jelinek Date: Fri, 19 May 2023 08:13:14 +0000 (+0200) Subject: libgomp: Fix up -static -fopenmp linking [PR109904] X-Git-Tag: basepoints/gcc-15~9148 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9abc830247e547186a48caadca43f5372eae1195;p=thirdparty%2Fgcc.git libgomp: Fix up -static -fopenmp linking [PR109904] 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 PR libgomp/109904 * configure.ac (link_gomp): Include also $DL_LIBS. * configure: Regenerated. --- diff --git a/libgomp/configure b/libgomp/configure index 68ab844a1dfd..60dd526df757 100755 --- a/libgomp/configure +++ b/libgomp/configure @@ -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 diff --git a/libgomp/configure.ac b/libgomp/configure.ac index 668873a4b816..45c71bde0e6b 100644 --- a/libgomp/configure.ac +++ b/libgomp/configure.ac @@ -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)