[libgomp, nvptx] Allow cuGetErrorString to be NULL
authorTom de Vries <tdevries@suse.de>
Wed, 8 Aug 2018 14:26:28 +0000 (14:26 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Wed, 8 Aug 2018 14:26:28 +0000 (14:26 +0000)
commitcedd9bd016db29cc7f7f358125a89193d81dfa50
tree5eaefa2fde4ae620a9d6848791130ac97f8d7443
parentb113af959cc00dd8726298003e837b5824288649
[libgomp, nvptx] Allow cuGetErrorString to be NULL

Cuda driver api function cuGetErrorString is available in version 6.0 and
higher.

Currently, when the driver that is used does not contain this function, the
libgomp nvptx plugin will not build (PLUGIN_NVPTX_DYNAMIC == 0) or run
(PLUGIN_NVPTX_DYNAMIC == 1).

This patch fixes this problem by testing for the presence of the function, and
handling absence.

Build on x86_64 with nvptx accelerator and reg-tested libgomp, both with and
without --without-cuda-driver.

2018-08-08  Tom de Vries  <tdevries@suse.de>

* plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
* plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
present.

From-SVN: r263407
libgomp/ChangeLog
libgomp/plugin/cuda-lib.def
libgomp/plugin/plugin-nvptx.c