From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7845) id 822CB3858C27; Wed, 19 Jan 2022 13:59:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 822CB3858C27 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Marcel Vollweiler To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/omp/gcc-11] libgomp, OpenMP: Fix issue for omp_get_device_num on gcn targets. X-Act-Checkin: gcc X-Git-Author: Marcel Vollweiler X-Git-Refname: refs/heads/devel/omp/gcc-11 X-Git-Oldrev: b5435aab8658396c9209027007eed268fa9232f1 X-Git-Newrev: 9ee542ed40259d830ff0e8944266d74c715b2ec8 Message-Id: <20220119135914.822CB3858C27@sourceware.org> Date: Wed, 19 Jan 2022 13:59:14 +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, 19 Jan 2022 13:59:14 -0000 https://gcc.gnu.org/g:9ee542ed40259d830ff0e8944266d74c715b2ec8 commit 9ee542ed40259d830ff0e8944266d74c715b2ec8 Author: Marcel Vollweiler Date: Wed Jan 19 05:57:54 2022 -0800 libgomp, OpenMP: Fix issue for omp_get_device_num on gcn targets. Currently omp_get_device_num does not work on gcn targets with more than one offload device. The reason is that GOMP_DEVICE_NUM_VAR is static in icv-device.c and thus "__gomp_device_num" is not visible in the offload image. This patch removes "static" such that "__gomp_device_num" is now part of the offload image and can now be found in GOMP_OFFLOAD_load_image in the plugin. This is not an issue for nvptx. There, "__gomp_device_num" is in the offload image even with "static". libgomp/ChangeLog: * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove "static") to make the device num available in the offload image. (cherry picked from commit 0bd247bbbe4cf396173f09eeec37e116e98f8471) Diff: --- gcc/ChangeLog.omp | 6 ++++++ libgomp/config/gcn/icv-device.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp index 88826ce2944..568ffb839cf 100644 --- a/gcc/ChangeLog.omp +++ b/gcc/ChangeLog.omp @@ -1,3 +1,9 @@ +2022-01-19 Marcel Vollweiler + + Backport from master: + * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove + "static") to make the device num available in the offload image. + 2021-12-22 Andrew Stubbs Backport from master: diff --git a/libgomp/config/gcn/icv-device.c b/libgomp/config/gcn/icv-device.c index 34e0f8346f2..9676427e28b 100644 --- a/libgomp/config/gcn/icv-device.c +++ b/libgomp/config/gcn/icv-device.c @@ -72,7 +72,7 @@ omp_is_initial_device (void) /* This is set to the device number of current GPU during device initialization, when the offload image containing this libgomp portion is loaded. */ -static volatile int GOMP_DEVICE_NUM_VAR; +volatile int GOMP_DEVICE_NUM_VAR; int omp_get_device_num (void)