From: Marcel Vollweiler Date: Wed, 19 Jan 2022 13:57:54 +0000 (-0800) Subject: libgomp, OpenMP: Fix issue for omp_get_device_num on gcn targets. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ee542ed40259d830ff0e8944266d74c715b2ec8;p=thirdparty%2Fgcc.git 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 --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp index 88826ce29440..568ffb839cfa 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 34e0f8346f23..9676427e28b7 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)