]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libgomp: Fix up OMP_PROC_BIND handling [PR106894]
authorJakub Jelinek <jakub@redhat.com>
Fri, 9 Sep 2022 13:35:18 +0000 (15:35 +0200)
committerTobias Burnus <tobias@codesourcery.com>
Fri, 9 Sep 2022 13:35:18 +0000 (15:35 +0200)
While the first param is char (gomp_global_icv.bind_var), the second param
is char * (gomp_bind_var_list), so we shouldn't access it through *(char *).

2022-09-09  Jakub Jelinek  <jakub@redhat.com>

PR libgomp/106894
* env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
char * for dest[1] initialization from params[1].  Formatting fixes.

(cherry picked from commit 26a1f4fcb264d110708483815c8c8d7bb4ff6788)

libgomp/ChangeLog.omp
libgomp/env.c

index 5779390952f01d7fb6992dd88d5b30001d32ebb4..df32c355610b5bd59345b3d4f1d85d521abe571a 100644 (file)
@@ -1,3 +1,12 @@
+2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       Backport from mainline:
+       2022-09-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/106894
+       * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
+       char * for dest[1] initialization from params[1].  Formatting fixes.
+
 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
 
        Backport from mainline:
index 82e22ac789f3a2072cfaa27aadaaf267a3c4d5e6..92f32f72020f398dabaf782ab42c9a1618d9fee5 100644 (file)
@@ -2184,12 +2184,10 @@ initialize_env (void)
            *(int *) (host_envvars[omp_var].dest[1]) = *(int *) params[1];
            break;
          case PARSE_BIND:
-           *(char *) (host_envvars[omp_var].dest[0])
-                 = *(char *) params[0];
-           *(char *) (host_envvars[omp_var].dest[1])
-                 = *(char *) params[1];
+           *(char *) (host_envvars[omp_var].dest[0]) = *(char *) params[0];
+           *(char **) (host_envvars[omp_var].dest[1]) = *(char **) params[1];
            *(unsigned long *) (host_envvars[omp_var].dest[2])
-                 = *(unsigned long *) params[2];
+             = *(unsigned long *) params[2];
            break;
          }
       }