From patchwork Thu May 5 19:20:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 53535 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0CCD03857355 for ; Thu, 5 May 2022 19:21:15 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id 1BA423858016 for ; Thu, 5 May 2022 19:20:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1BA423858016 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.91,203,1647331200"; d="scan'208,223";a="75194625" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 05 May 2022 11:20:58 -0800 IronPort-SDR: 7hcVUVfFu0+33oZw/v0bwoSi6USOy9RlYQN19604KeSfK+bGL9Qf4cdjcMgHWbonFrDu/D/YSZ EyIa0mki3CLDeX7olbF6/KfX04mDe9b6H1v/7DMvb4Vq+3lR6dnug/BMimDQzplwsbtO6G/j64 fzQbLApqjpIAzmh64PHaL1oOOVrMLUQY5J1ZAUAulBHWC6Ug8+xVvK/7lIcpyrU7CHwXUv9qiH oX7GE6tGKSjQmI5gp1Ih+OeBN6w8fgKw4vC4+9iH3GJAGHJrmDSXAhUwUDSr+V6+mdFuhJV1IN mYo= From: Thomas Schwinge To: Andrew Stubbs , Julian Brown , Subject: [PING^2] libgomp testsuite: Don't amend 'LD_LIBRARY_PATH' for system-provided HSA Runtime library (was: [PATCH 1/4] Remove build dependence on HSA run-time) In-Reply-To: <87h76de2ua.fsf@euler.schwinge.homeip.net> References: <20161118102310.GP3541@tucnak.redhat.com> <20161122132744.lrxg63wvfa3qfvhf@virgil.suse.cz> <87o8hrindc.fsf@euler.schwinge.homeip.net> <875ynma7ps.fsf@euler.schwinge.homeip.net> <87h76de2ua.fsf@euler.schwinge.homeip.net> User-Agent: Notmuch/0.29.1+93~g67ed7df (https://notmuchmail.org) Emacs/27.1 (i686-pc-linux-gnu) Date: Thu, 5 May 2022 21:20:51 +0200 Message-ID: <8735hnvl9o.fsf@dirichlet.schwinge.homeip.net> MIME-Version: 1.0 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-07.mgc.mentorg.com (139.181.222.7) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jakub Jelinek Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" Hi! Ping^2. Grüße Thomas On 2022-04-28T15:48:13+0200, I wrote: > Hi! > > Ping. > > On 2022-04-06T11:20:47+0200, I wrote: >> On 2021-01-14T15:50:23+0100, I wrote: >>> I'm raising here an issue with HSA libgomp plugin code changes from a >>> while ago. While HSA is now no longer relevant for GCC master branch, >>> the same code has also been copied into the GCN libgomp plugin. >> >> Here is another small clean-up patch (to enable further clean-up): >> >>> This is commit b8d89b03db5f212919e4571671ebb4f5f8b1e19d (r242749) "Remove >>> build dependence on HSA run-time": >>> >>> On 2016-11-22T14:27:44+0100, Martin Jambor wrote: >>>> --- a/libgomp/plugin/configfrag.ac >>>> +++ b/libgomp/plugin/configfrag.ac >>> >>>> @@ -195,8 +183,8 @@ if test x"$enable_offload_targets" != x; then >>>> tgt_name=hsa >>>> PLUGIN_HSA=$tgt >>>> PLUGIN_HSA_CPPFLAGS=$HSA_RUNTIME_CPPFLAGS >>>> - PLUGIN_HSA_LDFLAGS="$HSA_RUNTIME_LDFLAGS $HSA_KMT_LDFLAGS" >>>> - PLUGIN_HSA_LIBS="-lhsa-runtime64 -lhsakmt" >>>> + PLUGIN_HSA_LDFLAGS="$HSA_RUNTIME_LDFLAGS" >>>> + PLUGIN_HSA_LIBS="-ldl" >>> >>> So this switched from directly linking against 'libhsa-runtime64.so' to a >>> 'libdl'-based runtime linking variant. >> >> (Not intending to change anything regarding that.) >> >>> For avoidance of doubt, [an earlier] change doesn't affect (build-tree) testsuite >>> usage, where we have: >>> >>> libgomp/testsuite/libgomp-test-support.exp.in:set hsa_runtime_lib "@HSA_RUNTIME_LIB@" >>> >>> libgomp/testsuite/lib/libgomp.exp: append always_ld_library_path ":$hsa_runtime_lib" >> >> But, as I argue in the attached "libgomp testsuite: Don't amend >> 'LD_LIBRARY_PATH' for system-provided HSA Runtime library", we should >> actually clean this up as well. OK to push that? >> >> >> Grüße >> Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955 From 364d01339883f5276ef09d68a5d9a2e0010ab641 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 6 Apr 2022 10:39:56 +0200 Subject: [PATCH] libgomp testsuite: Don't amend 'LD_LIBRARY_PATH' for system-provided HSA Runtime library This is only active if GCC is 'configure'd with '--with-hsa-runtime=[...]' or '--with-hsa-runtime-lib=[...]' -- which nobody really is doing, as far as I can tell. 'libgomp/testsuite/lib/libgomp.exp:libgomp_init' states: # For build-tree testing, also consider the library paths used for builing. # For installed testing, we assume all that to be provided in the sysroot. if { $blddir != "" } { [...] global hsa_runtime_lib if { $hsa_runtime_lib != "" } { append always_ld_library_path ":$hsa_runtime_lib" } } However, the libgomp GCN plugin is unconditionally built against the GCC-shipped 'include/hsa*.h' header files, and at run time does 'dlopen("libhsa-runtime64.so.1")', so there is no system-provided HSA Runtime library "used for builing". It thus doesn't make sense to amend 'LD_LIBRARY_PATH' for system-provided HSA Runtime library. libgomp/ * testsuite/lib/libgomp.exp (libgomp_init): Don't 'append always_ld_library_path ":$hsa_runtime_lib"'. * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set. --- libgomp/testsuite/lib/libgomp.exp | 4 ---- libgomp/testsuite/libgomp-test-support.exp.in | 1 - 2 files changed, 5 deletions(-) diff --git a/libgomp/testsuite/lib/libgomp.exp b/libgomp/testsuite/lib/libgomp.exp index 8c5ecfff0ac..0aaa58f19c5 100644 --- a/libgomp/testsuite/lib/libgomp.exp +++ b/libgomp/testsuite/lib/libgomp.exp @@ -202,10 +202,6 @@ proc libgomp_init { args } { lappend ALWAYS_CFLAGS "additional_flags=-L$cuda_driver_lib" append always_ld_library_path ":$cuda_driver_lib" } - global hsa_runtime_lib - if { $hsa_runtime_lib != "" } { - append always_ld_library_path ":$hsa_runtime_lib" - } } # We use atomic operations in the testcases to validate results. diff --git a/libgomp/testsuite/libgomp-test-support.exp.in b/libgomp/testsuite/libgomp-test-support.exp.in index 98fb442b537..3c88d1d5a62 100644 --- a/libgomp/testsuite/libgomp-test-support.exp.in +++ b/libgomp/testsuite/libgomp-test-support.exp.in @@ -1,6 +1,5 @@ set cuda_driver_include "@CUDA_DRIVER_INCLUDE@" set cuda_driver_lib "@CUDA_DRIVER_LIB@" -set hsa_runtime_lib "@HSA_RUNTIME_LIB@" set offload_plugins "@offload_plugins@" set offload_targets "@offload_targets@" -- 2.35.1