public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-6204] libgomp: Fix GOMP_DEVICE_NUM_VAR stringification during offload image load
@ 2022-01-04  9:27 Chung-Lin Tang
  0 siblings, 0 replies; only message in thread
From: Chung-Lin Tang @ 2022-01-04  9:27 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:fbb592407c9dd244b4cea086cbb90d7bd0bf60bb

commit r12-6204-gfbb592407c9dd244b4cea086cbb90d7bd0bf60bb
Author: Chung-Lin Tang <cltang@codesourcery.com>
Date:   Tue Jan 4 17:26:23 2022 +0800

    libgomp: Fix GOMP_DEVICE_NUM_VAR stringification during offload image load
    
    In the patch that implemented omp_get_device_num(), there was an error where
    the stringification of GOMP_DEVICE_NUM_VAR, which is the macro expanding to
    the actual symbol used, was erroneously using the STRINGX() macro in the
    libgomp offload image symbol search, and expansion of the variable name
    string through the additional layer of preprocessor symbol was not properly
    achieved.
    
    This patch fixes this by changing to properly use XSTRING(), also from
    include/symcat.h.
    
    libgomp/ChangeLog:
    
            * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
            into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
            * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.

Diff:
---
 libgomp/plugin/plugin-gcn.c   | 4 ++--
 libgomp/plugin/plugin-nvptx.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libgomp/plugin/plugin-gcn.c b/libgomp/plugin/plugin-gcn.c
index 8ffd3d1a2cf..d0f05b28bf3 100644
--- a/libgomp/plugin/plugin-gcn.c
+++ b/libgomp/plugin/plugin-gcn.c
@@ -3401,12 +3401,12 @@ GOMP_OFFLOAD_load_image (int ord, unsigned version, const void *target_data,
 	}
     }
 
-  GCN_DEBUG ("Looking for variable %s\n", STRINGX (GOMP_DEVICE_NUM_VAR));
+  GCN_DEBUG ("Looking for variable %s\n", XSTRING (GOMP_DEVICE_NUM_VAR));
 
   hsa_status_t status;
   hsa_executable_symbol_t var_symbol;
   status = hsa_fns.hsa_executable_get_symbol_fn (agent->executable, NULL,
-						 STRINGX (GOMP_DEVICE_NUM_VAR),
+						 XSTRING (GOMP_DEVICE_NUM_VAR),
 						 agent->id, 0, &var_symbol);
   if (status == HSA_STATUS_SUCCESS)
     {
diff --git a/libgomp/plugin/plugin-nvptx.c b/libgomp/plugin/plugin-nvptx.c
index f32276b0a18..b4f0a84d77a 100644
--- a/libgomp/plugin/plugin-nvptx.c
+++ b/libgomp/plugin/plugin-nvptx.c
@@ -1353,7 +1353,7 @@ GOMP_OFFLOAD_load_image (int ord, unsigned version, const void *target_data,
   size_t device_num_varsize;
   CUresult r = CUDA_CALL_NOCHECK (cuModuleGetGlobal, &device_num_varptr,
 				  &device_num_varsize, module,
-				  STRINGX (GOMP_DEVICE_NUM_VAR));
+				  XSTRING (GOMP_DEVICE_NUM_VAR));
   if (r == CUDA_SUCCESS)
     {
       targ_tbl->start = (uintptr_t) device_num_varptr;


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-01-04  9:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-04  9:27 [gcc r12-6204] libgomp: Fix GOMP_DEVICE_NUM_VAR stringification during offload image load Chung-Lin Tang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).