From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1729) id E3E2A384F025; Wed, 29 Jun 2022 14:48:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E3E2A384F025 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Kwok Yeung To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/omp/gcc-12] Refactor '-ldl' handling for libgomp proper and plugins X-Act-Checkin: gcc X-Git-Author: Thomas Schwinge X-Git-Refname: refs/heads/devel/omp/gcc-12 X-Git-Oldrev: d2a0dc627197555d769bb590b891658c36301e0b X-Git-Newrev: 6468241ffe19f698a8d456c8cd6f908b0cbde0ef Message-Id: <20220629144817.E3E2A384F025@sourceware.org> Date: Wed, 29 Jun 2022 14:48:17 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jun 2022 14:48:18 -0000 https://gcc.gnu.org/g:6468241ffe19f698a8d456c8cd6f908b0cbde0ef commit 6468241ffe19f698a8d456c8cd6f908b0cbde0ef Author: Thomas Schwinge Date: Thu May 5 23:01:36 2022 +0200 Refactor '-ldl' handling for libgomp proper and plugins Instead of implicit global 'LIBS="-ldl $LIBS"' via 'AC_CHECK_LIB', make '-ldl' explicit for libgomp proper, and clean up 'PLUGIN_GCN_LIBS', 'PLUGIN_NVPTX_LIBS' accordingly. libgomp/ * Makefile.am (libgomp_la_LIBADD): Initialize. * plugin/configfrag.ac (DL_LIBS): New. (PLUGIN_GCN_LIBS): Remove. (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case. * plugin/Makefrag.am (libgomp_la_LIBADD) (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'. (libgomp_plugin_nvptx_la_LIBADD) : Likewise. * Makefile.in: Regenerate. * config.h.in: Likewise. * configure: Likewise. * testsuite/Makefile.in: Likewise. (cherry picked from commit dcc266796a6afa18eeba1edde81f9eb78e6c83ce) Diff: --- libgomp/ChangeLog.omp | 17 +++++++++++++++++ libgomp/Makefile.am | 1 + libgomp/Makefile.in | 8 ++++---- libgomp/config.h.in | 3 --- libgomp/configure | 16 ++++------------ libgomp/plugin/Makefrag.am | 8 ++++++-- libgomp/plugin/configfrag.ac | 9 +++------ libgomp/testsuite/Makefile.in | 2 +- 8 files changed, 36 insertions(+), 28 deletions(-) diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp index af63bbc60d9..e17c2cb7fe9 100644 --- a/libgomp/ChangeLog.omp +++ b/libgomp/ChangeLog.omp @@ -1,3 +1,20 @@ +2022-05-05 Thomas Schwinge + + Backport from mainline: + 2022-05-05 Thomas Schwinge + + * Makefile.am (libgomp_la_LIBADD): Initialize. + * plugin/configfrag.ac (DL_LIBS): New. + (PLUGIN_GCN_LIBS): Remove. + (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case. + * plugin/Makefrag.am (libgomp_la_LIBADD) + (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'. + (libgomp_plugin_nvptx_la_LIBADD) : Likewise. + * Makefile.in: Regenerate. + * config.h.in: Likewise. + * configure: Likewise. + * testsuite/Makefile.in: Likewise. + 2022-04-07 Thomas Schwinge Backport from mainline: diff --git a/libgomp/Makefile.am b/libgomp/Makefile.am index 273c7fc89aa..7ba84cc89b4 100644 --- a/libgomp/Makefile.am +++ b/libgomp/Makefile.am @@ -56,6 +56,7 @@ endif libgomp_version_info = -version-info $(libtool_VERSION) libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \ $(lt_host_flags) +libgomp_la_LIBADD = libgomp_la_DEPENDENCIES = $(libgomp_version_dep) libgomp_la_LINK = $(LINK) $(libgomp_la_LDFLAGS) diff --git a/libgomp/Makefile.in b/libgomp/Makefile.in index ef2a155ed55..5546d1e50cc 100644 --- a/libgomp/Makefile.in +++ b/libgomp/Makefile.in @@ -125,7 +125,7 @@ target_triplet = @target@ @PLUGIN_NVPTX_DYNAMIC_FALSE@@PLUGIN_NVPTX_TRUE@ -DPLUGIN_NVPTX_LINK_LIBCUDA # 'dlopen'ing the CUDA Driver library vs. linking it. -@PLUGIN_NVPTX_DYNAMIC_TRUE@@PLUGIN_NVPTX_TRUE@am__append_3 = $(PLUGIN_NVPTX_LIBS) +@PLUGIN_NVPTX_DYNAMIC_TRUE@@PLUGIN_NVPTX_TRUE@am__append_3 = $(DL_LIBS) @PLUGIN_NVPTX_DYNAMIC_FALSE@@PLUGIN_NVPTX_TRUE@am__append_4 = $(PLUGIN_NVPTX_LIBS) @PLUGIN_GCN_TRUE@am__append_5 = libgomp-plugin-gcn.la @USE_FORTRAN_TRUE@am__append_6 = openacc.f90 @@ -219,7 +219,6 @@ libgomp_plugin_nvptx_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(libgomp_plugin_nvptx_la_LDFLAGS) $(LDFLAGS) -o $@ @PLUGIN_NVPTX_TRUE@am_libgomp_plugin_nvptx_la_rpath = -rpath \ @PLUGIN_NVPTX_TRUE@ $(toolexeclibdir) -libgomp_la_LIBADD = @USE_FORTRAN_TRUE@am__objects_1 = openacc.lo am_libgomp_la_OBJECTS = alloc.lo atomic.lo barrier.lo critical.lo \ env.lo error.lo icv.lo icv-device.lo iter.lo iter_ull.lo \ @@ -385,6 +384,7 @@ CUDA_DRIVER_LIB = @CUDA_DRIVER_LIB@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ @@ -442,7 +442,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ -PLUGIN_GCN_LIBS = @PLUGIN_GCN_LIBS@ PLUGIN_NVPTX_CPPFLAGS = @PLUGIN_NVPTX_CPPFLAGS@ PLUGIN_NVPTX_LDFLAGS = @PLUGIN_NVPTX_LDFLAGS@ PLUGIN_NVPTX_LIBS = @PLUGIN_NVPTX_LIBS@ @@ -555,6 +554,7 @@ libgomp_version_info = -version-info $(libtool_VERSION) libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \ $(lt_host_flags) +libgomp_la_LIBADD = $(DL_LIBS) libgomp_la_DEPENDENCIES = $(libgomp_version_dep) libgomp_la_LINK = $(LINK) $(libgomp_la_LDFLAGS) libgomp_la_SOURCES = alloc.c atomic.c barrier.c critical.c env.c \ @@ -589,7 +589,7 @@ libgomp_la_SOURCES = alloc.c atomic.c barrier.c critical.c env.c \ @PLUGIN_GCN_TRUE@libgomp_plugin_gcn_la_LDFLAGS = $(libgomp_plugin_gcn_version_info) \ @PLUGIN_GCN_TRUE@ $(lt_host_flags) -@PLUGIN_GCN_TRUE@libgomp_plugin_gcn_la_LIBADD = libgomp.la $(PLUGIN_GCN_LIBS) +@PLUGIN_GCN_TRUE@libgomp_plugin_gcn_la_LIBADD = libgomp.la $(DL_LIBS) @PLUGIN_GCN_TRUE@libgomp_plugin_gcn_la_LIBTOOLFLAGS = --tag=disable-static nodist_noinst_HEADERS = libgomp_f.h nodist_libsubinclude_HEADERS = omp.h openacc.h acc_prof.h diff --git a/libgomp/config.h.in b/libgomp/config.h.in index d971ea38c46..46d3eac1e61 100644 --- a/libgomp/config.h.in +++ b/libgomp/config.h.in @@ -51,9 +51,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the `dl' library (-ldl). */ -#undef HAVE_LIBDL - /* Define to 1 if you have the `memalign' function. */ #undef HAVE_MEMALIGN diff --git a/libgomp/configure b/libgomp/configure index 0df47cf96e3..66dface222e 100755 --- a/libgomp/configure +++ b/libgomp/configure @@ -675,12 +675,12 @@ offload_additional_lib_paths offload_additional_options offload_targets offload_plugins -PLUGIN_GCN_LIBS PLUGIN_NVPTX_LIBS PLUGIN_NVPTX_LDFLAGS PLUGIN_NVPTX_CPPFLAGS CUDA_DRIVER_LIB CUDA_DRIVER_INCLUDE +DL_LIBS libtool_VERSION ac_ct_FC FCFLAGS @@ -15057,6 +15057,8 @@ _ACEOF # . plugin_support=yes +DL_LIBS= + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5 $as_echo_n "checking for dlsym in -ldl... " >&6; } if ${ac_cv_lib_dl_dlsym+:} false; then : @@ -15094,12 +15096,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5 $as_echo "$ac_cv_lib_dl_dlsym" >&6; } if test "x$ac_cv_lib_dl_dlsym" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBDL 1 -_ACEOF - - LIBS="-ldl $LIBS" - + DL_LIBS=-ldl else plugin_support=no fi @@ -15221,8 +15218,6 @@ PLUGIN_NVPTX_DYNAMIC=0 PLUGIN_GCN=0 -PLUGIN_GCN_LIBS= - # Parse '--enable-offload-targets', figure out the corresponding libgomp # plugins, and configure to find the corresponding offload compilers. @@ -15295,7 +15290,6 @@ rm -f core conftest.err conftest.$ac_objext \ && (test "x$CUDA_DRIVER_LIB" = x \ || test "x$CUDA_DRIVER_LIB" = xno); then PLUGIN_NVPTX=1 - PLUGIN_NVPTX_LIBS='-ldl' PLUGIN_NVPTX_DYNAMIC=1 else PLUGIN_NVPTX=0 @@ -15321,8 +15315,6 @@ rm -f core conftest.err conftest.$ac_objext \ ;; *) tgt_plugin=gcn - PLUGIN_GCN=$tgt - PLUGIN_GCN_LIBS="-ldl" PLUGIN_GCN=1 ;; esac diff --git a/libgomp/plugin/Makefrag.am b/libgomp/plugin/Makefrag.am index 3eeb3419f9c..3e453ff6fee 100644 --- a/libgomp/plugin/Makefrag.am +++ b/libgomp/plugin/Makefrag.am @@ -26,6 +26,8 @@ # see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # . +libgomp_la_LIBADD += $(DL_LIBS) + if PLUGIN_NVPTX # Nvidia PTX OpenACC plugin. libgomp_plugin_nvptx_version_info = -version-info $(libtool_VERSION) @@ -46,7 +48,7 @@ endif # 'dlopen'ing the CUDA Driver library vs. linking it. if PLUGIN_NVPTX_DYNAMIC -libgomp_plugin_nvptx_la_LIBADD += $(PLUGIN_NVPTX_LIBS) +libgomp_plugin_nvptx_la_LIBADD += $(DL_LIBS) else libgomp_plugin_nvptx_la_CPPFLAGS += -DPLUGIN_NVPTX_LINK_LIBCUDA libgomp_plugin_nvptx_la_LIBADD += $(PLUGIN_NVPTX_LIBS) @@ -62,6 +64,8 @@ libgomp_plugin_gcn_la_CPPFLAGS = $(AM_CPPFLAGS) \ -D_GNU_SOURCE libgomp_plugin_gcn_la_LDFLAGS = $(libgomp_plugin_gcn_version_info) \ $(lt_host_flags) -libgomp_plugin_gcn_la_LIBADD = libgomp.la $(PLUGIN_GCN_LIBS) +libgomp_plugin_gcn_la_LIBADD = libgomp.la libgomp_plugin_gcn_la_LIBTOOLFLAGS = --tag=disable-static + +libgomp_plugin_gcn_la_LIBADD += $(DL_LIBS) endif diff --git a/libgomp/plugin/configfrag.ac b/libgomp/plugin/configfrag.ac index c16224104e3..14203048bdb 100644 --- a/libgomp/plugin/configfrag.ac +++ b/libgomp/plugin/configfrag.ac @@ -27,7 +27,9 @@ # . plugin_support=yes -AC_CHECK_LIB(dl, dlsym, , [plugin_support=no]) +DL_LIBS= +AC_SUBST(DL_LIBS) +AC_CHECK_LIB(dl, dlsym, [DL_LIBS=-ldl], [plugin_support=no]) if test x"$plugin_support" = xyes; then AC_DEFINE(PLUGIN_SUPPORT, 1, [Define if all infrastructure, needed for plugins, is supported.]) @@ -91,8 +93,6 @@ AC_SUBST(PLUGIN_NVPTX_LDFLAGS) AC_SUBST(PLUGIN_NVPTX_LIBS) PLUGIN_GCN=0 -PLUGIN_GCN_LIBS= -AC_SUBST(PLUGIN_GCN_LIBS) # Parse '--enable-offload-targets', figure out the corresponding libgomp # plugins, and configure to find the corresponding offload compilers. @@ -154,7 +154,6 @@ if test x"$enable_offload_targets" != x; then && (test "x$CUDA_DRIVER_LIB" = x \ || test "x$CUDA_DRIVER_LIB" = xno); then PLUGIN_NVPTX=1 - PLUGIN_NVPTX_LIBS='-ldl' PLUGIN_NVPTX_DYNAMIC=1 else PLUGIN_NVPTX=0 @@ -180,8 +179,6 @@ if test x"$enable_offload_targets" != x; then ;; *) tgt_plugin=gcn - PLUGIN_GCN=$tgt - PLUGIN_GCN_LIBS="-ldl" PLUGIN_GCN=1 ;; esac diff --git a/libgomp/testsuite/Makefile.in b/libgomp/testsuite/Makefile.in index 74a07d4e7de..11958a5b707 100644 --- a/libgomp/testsuite/Makefile.in +++ b/libgomp/testsuite/Makefile.in @@ -152,6 +152,7 @@ CUDA_DRIVER_LIB = @CUDA_DRIVER_LIB@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ @@ -209,7 +210,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ -PLUGIN_GCN_LIBS = @PLUGIN_GCN_LIBS@ PLUGIN_NVPTX_CPPFLAGS = @PLUGIN_NVPTX_CPPFLAGS@ PLUGIN_NVPTX_LDFLAGS = @PLUGIN_NVPTX_LDFLAGS@ PLUGIN_NVPTX_LIBS = @PLUGIN_NVPTX_LIBS@