re PR libgomp/90585 (libgomp hsa plugin ftbfs in the x32 multilib variant)
authorJakub Jelinek <jakub@redhat.com>
Fri, 24 May 2019 08:59:37 +0000 (10:59 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 24 May 2019 08:59:37 +0000 (10:59 +0200)
PR libgomp/90585
* plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
HAVE_INTTYPES_H is defined.
(print_uint64_t): New typedef.
(PRIu64): Define if HAVE_INTTYPES_H is not defined.
(print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
"lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
(release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
before casting to void *.
* plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
* oacc-mem.c: Don't include config.h nor stdint.h.
* target.c: Don't include config.h.
* oacc-cuda.c: Likewise.
* oacc-host.c: Don't include stdint.h.

From-SVN: r271597

libgomp/ChangeLog
libgomp/oacc-cuda.c
libgomp/oacc-host.c
libgomp/oacc-mem.c
libgomp/plugin/plugin-hsa.c
libgomp/plugin/plugin-nvptx.c
libgomp/target.c

index 0ead223d83ab52b62439617a6165bbe0f3bccbd9..5b427abc192ded3f36a31e14feefb813c12c9724 100644 (file)
@@ -1,3 +1,20 @@
+2019-05-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/90585
+       * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
+       HAVE_INTTYPES_H is defined.
+       (print_uint64_t): New typedef.
+       (PRIu64): Define if HAVE_INTTYPES_H is not defined.
+       (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
+       "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
+       (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
+       before casting to void *.
+       * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
+       * oacc-mem.c: Don't include config.h nor stdint.h.
+       * target.c: Don't include config.h.
+       * oacc-cuda.c: Likewise.
+       * oacc-host.c: Don't include stdint.h.
+
 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR libgomp/90527
index 07951df5bb0f9cc7aeb5848813d358e0c61dd515..7a42085c877705383215e2bbf1a5a093b8ef4bd7 100644 (file)
@@ -27,7 +27,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include "openacc.h"
-#include "config.h"
 #include "libgomp.h"
 #include "oacc-int.h"
 #include <assert.h>
index 00484b9f6ed9c58b704fcf0f51ad4e41ae5f80cb..12299aee65d28105a647b58347ab7ad608b22b0e 100644 (file)
@@ -32,7 +32,6 @@
 
 #include <stdbool.h>
 #include <stddef.h>
-#include <stdint.h>
 
 static struct gomp_device_descr host_dispatch;
 
index 0f3832f52b3ed4aa5d74bdd5924e4f3c96d55741..2f271009fb87689f40a5073a17d31fcbb0297313 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include "openacc.h"
-#include "config.h"
 #include "libgomp.h"
 #include "gomp-constants.h"
 #include "oacc-int.h"
-#include <stdint.h>
 #include <string.h>
 #include <assert.h>
 
index a2b9bdbeb34ad350ab0aa9a3f973c0259ea3c4c8..80f23f9beb628135b857417ccf3df802b5f4c3a8 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include "config.h"
+#include "gstdint.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <pthread.h>
+#ifdef HAVE_INTTYPES_H
 #include <inttypes.h>
+#endif
 #include <stdbool.h>
 #include <hsa.h>
 #include <plugin/hsa_ext_finalize.h>
 #include "gomp-constants.h"
 #include "secure_getenv.h"
 
+#ifdef HAVE_INTTYPES_H
+typedef uint64_t print_uint64_t;
+#else
+#define PRIu64 "lu"
+typedef unsigned long print_uint64_t; 
+#endif
+
 /* As an HSA runtime is dlopened, following structure defines function
    pointers utilized by the HSA plug-in.  */
 
@@ -1154,8 +1164,9 @@ create_single_kernel_dispatch (struct kernel_info *kernel,
 static void
 release_kernel_dispatch (struct GOMP_hsa_kernel_dispatch *shadow)
 {
-  HSA_DEBUG ("Released kernel dispatch: %p has value: %lu (%p)\n", shadow,
-            shadow->debug, (void *) shadow->debug);
+  HSA_DEBUG ("Released kernel dispatch: %p has value: %" PRIu64 " (%p)\n",
+            shadow, (print_uint64_t) shadow->debug,
+            (void *) (uintptr_t) shadow->debug);
 
   hsa_fns.hsa_memory_free_fn (shadow->kernarg_address);
 
@@ -1276,9 +1287,9 @@ print_kernel_dispatch (struct GOMP_hsa_kernel_dispatch *dispatch, unsigned inden
   indent_stream (stderr, indent);
   fprintf (stderr, "kernarg_address: %p\n", dispatch->kernarg_address);
   indent_stream (stderr, indent);
-  fprintf (stderr, "object: %lu\n", dispatch->object);
+  fprintf (stderr, "object: %" PRIu64 "\n", (print_uint64_t) dispatch->object);
   indent_stream (stderr, indent);
-  fprintf (stderr, "signal: %lu\n", dispatch->signal);
+  fprintf (stderr, "signal: %" PRIu64 "\n", (print_uint64_t) dispatch->signal);
   indent_stream (stderr, indent);
   fprintf (stderr, "private_segment_size: %u\n",
           dispatch->private_segment_size);
@@ -1286,8 +1297,8 @@ print_kernel_dispatch (struct GOMP_hsa_kernel_dispatch *dispatch, unsigned inden
   fprintf (stderr, "group_segment_size: %u\n",
           dispatch->group_segment_size);
   indent_stream (stderr, indent);
-  fprintf (stderr, "children dispatches: %lu\n",
-          dispatch->kernel_dispatch_count);
+  fprintf (stderr, "children dispatches: %" PRIu64 "\n",
+          (print_uint64_t) dispatch->kernel_dispatch_count);
   indent_stream (stderr, indent);
   fprintf (stderr, "omp_num_threads: %u\n",
           dispatch->omp_num_threads);
@@ -1594,8 +1605,8 @@ run_kernel (struct kernel_info *kernel, void *vars,
        hsa_signal_t child_s;
        child_s.handle = shadow->children_dispatches[i]->signal;
 
-       HSA_DEBUG ("Waiting for children completion signal: %lu\n",
-                  shadow->children_dispatches[i]->signal);
+       HSA_DEBUG ("Waiting for children completion signal: %" PRIu64 "\n",
+                  (print_uint64_t) shadow->children_dispatches[i]->signal);
        hsa_fns.hsa_signal_load_acquire_fn (child_s);
       }
 
index 3469116cf61025bff338a9d7be9ab08263c12dde..4e51f645cf8cb85a72390e769d6fe67b40302108 100644 (file)
@@ -34,6 +34,7 @@
 #define _GNU_SOURCE
 #include "openacc.h"
 #include "config.h"
+#include "gstdint.h"
 #include "libgomp-plugin.h"
 #include "oacc-plugin.h"
 #include "gomp-constants.h"
@@ -42,7 +43,6 @@
 #include <pthread.h>
 #include <cuda.h>
 #include <stdbool.h>
-#include <stdint.h>
 #include <limits.h>
 #include <string.h>
 #include <stdio.h>
index 2e0905effb3b3f56f503dfb60d065011e31ff10c..9416401806fb4fbe60b4661f46c31b389c86d76a 100644 (file)
@@ -25,7 +25,6 @@
 
 /* This file contains the support of offloading.  */
 
-#include "config.h"
 #include "libgomp.h"
 #include "oacc-plugin.h"
 #include "oacc-int.h"