Hi! On Sat, 1 Aug 2015 20:20:49 -0400, Nathan Sidwell <[email protected]> wrote: > this is the gomp4 committed version.
> --- liboffloadmic/plugin/libgomp-plugin-intelmic.cpp (revision 226462)
> +++ liboffloadmic/plugin/libgomp-plugin-intelmic.cpp (working copy)
> @@ -327,12 +327,26 @@ offload_image (const void *target_image)
> free (image);
> }
>
> +/* Return the libgomp version number we're compatible with. There is
> + no requirement for cross-version compatibility. */
> +
> +extern "C" unsigned
> +GOMP_OFFLOAD_version (void)
> +{
> + return GOMP_VERSION;
> +}
> +
> extern "C" int
> -GOMP_OFFLOAD_load_image (int device, const void *target_image,
> - addr_pair **result)
> +GOMP_OFFLOAD_load_image (int device, const unsigned version,
> + void *target_image, addr_pair **result)
> {
> TRACE ("(device = %d, target_image = %p)", device, target_image);
>
> + if (GOMP_VERSION_DEV (version) > GOMP_VERSION_INTEL_MIC)
> + GOMP_PLUGIN_fatal ("Offload data incompatible with intelmic plugin"
> + " (expected %u, received %u)",
> + GOMP_VERSION_INTEL_MIC, GOMP_VERSION_DEV (version));
> +
> /* If target_image is already present in address_table, then there is no
> need
> to offload it. */
> if (address_table->count (target_image) == 0)
> @@ -353,8 +367,12 @@ GOMP_OFFLOAD_load_image (int device, con
> }
>
> extern "C" void
> -GOMP_OFFLOAD_unload_image (int device, const void *target_image)
> +GOMP_OFFLOAD_unload_image (int device, unsigned version,
> + const void *target_image)
> {
> + if (GOMP_VERSION_DEV (version) > GOMP_VERSION_INTEL_MIC)
> + return;
> +
> TRACE ("(device = %d, target_image = %p)", device, target_image);
>
> /* TODO: Currently liboffloadmic doesn't support __offload_unregister_image
Committed to gomp-4_0-branch in r226497:
commit 4e0158f41a00d6c4d09ca8a48eb63832abdd2f84
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Mon Aug 3 11:14:24 2015 +0000
Fix intelmic libgomp plugin build
... which got broken in r226469:
[...]/source-gcc/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp: In
function 'unsigned int GOMP_OFFLOAD_version()':
[...]/source-gcc/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp:336:10:
error: 'GOMP_VERSION' was not declared in this scope
return GOMP_VERSION;
^
[...]/source-gcc/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp: In
function 'int GOMP_OFFLOAD_load_image(int, unsigned int, void*, addr_pair**)':
[...]/source-gcc/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp:345:32:
error: 'GOMP_VERSION_DEV' was not declared in this scope
if (GOMP_VERSION_DEV (version) > GOMP_VERSION_INTEL_MIC)
^
[...]/source-gcc/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp:345:36:
error: 'GOMP_VERSION_INTEL_MIC' was not declared in this scope
if (GOMP_VERSION_DEV (version) > GOMP_VERSION_INTEL_MIC)
^
[...]/source-gcc/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp: In
function 'void GOMP_OFFLOAD_unload_image(int, unsigned int, const void*)':
[...]/source-gcc/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp:373:32:
error: 'GOMP_VERSION_DEV' was not declared in this scope
if (GOMP_VERSION_DEV (version) > GOMP_VERSION_INTEL_MIC)
^
[...]/source-gcc/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp:373:36:
error: 'GOMP_VERSION_INTEL_MIC' was not declared in this scope
if (GOMP_VERSION_DEV (version) > GOMP_VERSION_INTEL_MIC)
^
make[6]: *** [libgomp_plugin_intelmic_la-libgomp-plugin-intelmic.lo]
Error 1
liboffloadmic/
* plugin/Makefile.am (include_src_dir): Set.
[PLUGIN_HOST] (libgomp_plugin_intelmic_la_CPPFLAGS): Use it.
* plugin/Makefile.in: Regenerate.
* plugin/libgomp-plugin-intelmic.cpp: Include "gomp-constants.h".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@226497
138bc75d-0d04-0410-961f-82ee72b054a4
---
liboffloadmic/ChangeLog.gomp | 7 +++++++
liboffloadmic/plugin/Makefile.am | 3 ++-
liboffloadmic/plugin/Makefile.in | 3 ++-
liboffloadmic/plugin/libgomp-plugin-intelmic.cpp | 3 ++-
4 files changed, 13 insertions(+), 3 deletions(-)
diff --git liboffloadmic/ChangeLog.gomp liboffloadmic/ChangeLog.gomp
index 93d1e02..adb9e05 100644
--- liboffloadmic/ChangeLog.gomp
+++ liboffloadmic/ChangeLog.gomp
@@ -1,3 +1,10 @@
+2015-08-03 Thomas Schwinge <[email protected]>
+
+ * plugin/Makefile.am (include_src_dir): Set.
+ [PLUGIN_HOST] (libgomp_plugin_intelmic_la_CPPFLAGS): Use it.
+ * plugin/Makefile.in: Regenerate.
+ * plugin/libgomp-plugin-intelmic.cpp: Include "gomp-constants.h".
+
2015-08-01 Nathan Sidwell <[email protected]>
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_version): New.
diff --git liboffloadmic/plugin/Makefile.am liboffloadmic/plugin/Makefile.am
index 19d69ab..6ec444c 100644
--- liboffloadmic/plugin/Makefile.am
+++ liboffloadmic/plugin/Makefile.am
@@ -36,6 +36,7 @@ build_dir = $(top_builddir)
source_dir = $(top_srcdir)
coi_inc_dir = $(top_srcdir)/../include/coi
myo_inc_dir = $(top_srcdir)/../include/myo
+include_src_dir = $(top_srcdir)/../../include
libgomp_src_dir = $(top_srcdir)/../../libgomp
libgomp_dir = $(build_dir)/../../libgomp
liboffload_src_dir = $(top_srcdir)/../runtime
@@ -52,7 +53,7 @@ target_install_dir =
$(accel_search_dir)/lib/gcc/$(accel_target)/$(gcc_version)$
if PLUGIN_HOST
toolexeclib_LTLIBRARIES = libgomp-plugin-intelmic.la
libgomp_plugin_intelmic_la_SOURCES = libgomp-plugin-intelmic.cpp
- libgomp_plugin_intelmic_la_CPPFLAGS = $(CPPFLAGS) -DLINUX
-DCOI_LIBRARY_VERSION=2 -DMYO_SUPPORT -DOFFLOAD_DEBUG=1 -DSEP_SUPPORT
-DTIMING_SUPPORT -DHOST_LIBRARY=1 -I$(coi_inc_dir) -I$(myo_inc_dir)
-I$(liboffload_src_dir) -I$(libgomp_src_dir) -I$(libgomp_dir)
-I$(target_prefix_dir)/include -I$(target_build_dir)
-I$(target_install_dir)/include
+ libgomp_plugin_intelmic_la_CPPFLAGS = $(CPPFLAGS) -DLINUX
-DCOI_LIBRARY_VERSION=2 -DMYO_SUPPORT -DOFFLOAD_DEBUG=1 -DSEP_SUPPORT
-DTIMING_SUPPORT -DHOST_LIBRARY=1 -I$(coi_inc_dir) -I$(myo_inc_dir)
-I$(liboffload_src_dir) -I$(libgomp_src_dir) -I$(libgomp_dir)
-I$(include_src_dir) -I$(target_prefix_dir)/include -I$(target_build_dir)
-I$(target_install_dir)/include
libgomp_plugin_intelmic_la_LDFLAGS = -L$(liboffload_dir)/.libs
-loffloadmic_host -version-info 1:0:0
else # PLUGIN_TARGET
plugin_includedir = $(libsubincludedir)
diff --git liboffloadmic/plugin/Makefile.in liboffloadmic/plugin/Makefile.in
index 19a1a96..458c9b2 100644
--- liboffloadmic/plugin/Makefile.in
+++ liboffloadmic/plugin/Makefile.in
@@ -306,6 +306,7 @@ build_dir = $(top_builddir)
source_dir = $(top_srcdir)
coi_inc_dir = $(top_srcdir)/../include/coi
myo_inc_dir = $(top_srcdir)/../include/myo
+include_src_dir = $(top_srcdir)/../../include
libgomp_src_dir = $(top_srcdir)/../../libgomp
libgomp_dir = $(build_dir)/../../libgomp
liboffload_src_dir = $(top_srcdir)/../runtime
@@ -320,7 +321,7 @@ target_build_dir =
$(accel_search_dir)/$(accel_target)$(MULTISUBDIR)/liboffloadm
target_install_dir =
$(accel_search_dir)/lib/gcc/$(accel_target)/$(gcc_version)$(MULTISUBDIR)
@PLUGIN_HOST_TRUE@toolexeclib_LTLIBRARIES = libgomp-plugin-intelmic.la
@PLUGIN_HOST_TRUE@libgomp_plugin_intelmic_la_SOURCES =
libgomp-plugin-intelmic.cpp
-@PLUGIN_HOST_TRUE@libgomp_plugin_intelmic_la_CPPFLAGS = $(CPPFLAGS) -DLINUX
-DCOI_LIBRARY_VERSION=2 -DMYO_SUPPORT -DOFFLOAD_DEBUG=1 -DSEP_SUPPORT
-DTIMING_SUPPORT -DHOST_LIBRARY=1 -I$(coi_inc_dir) -I$(myo_inc_dir)
-I$(liboffload_src_dir) -I$(libgomp_src_dir) -I$(libgomp_dir)
-I$(target_prefix_dir)/include -I$(target_build_dir)
-I$(target_install_dir)/include
+@PLUGIN_HOST_TRUE@libgomp_plugin_intelmic_la_CPPFLAGS = $(CPPFLAGS) -DLINUX
-DCOI_LIBRARY_VERSION=2 -DMYO_SUPPORT -DOFFLOAD_DEBUG=1 -DSEP_SUPPORT
-DTIMING_SUPPORT -DHOST_LIBRARY=1 -I$(coi_inc_dir) -I$(myo_inc_dir)
-I$(liboffload_src_dir) -I$(libgomp_src_dir) -I$(libgomp_dir)
-I$(include_src_dir) -I$(target_prefix_dir)/include -I$(target_build_dir)
-I$(target_install_dir)/include
@PLUGIN_HOST_TRUE@libgomp_plugin_intelmic_la_LDFLAGS =
-L$(liboffload_dir)/.libs -loffloadmic_host -version-info 1:0:0
@PLUGIN_HOST_FALSE@plugin_includedir = $(libsubincludedir)
@PLUGIN_HOST_FALSE@plugin_include_HEADERS = main_target_image.h
diff --git liboffloadmic/plugin/libgomp-plugin-intelmic.cpp
liboffloadmic/plugin/libgomp-plugin-intelmic.cpp
index b852b42..fde7d9e 100644
--- liboffloadmic/plugin/libgomp-plugin-intelmic.cpp
+++ liboffloadmic/plugin/libgomp-plugin-intelmic.cpp
@@ -1,6 +1,6 @@
/* Plugin for offload execution on Intel MIC devices.
- Copyright (C) 2014 Free Software Foundation, Inc.
+ Copyright (C) 2014-2015 Free Software Foundation, Inc.
Contributed by Ilya Verbin <[email protected]>.
@@ -38,6 +38,7 @@
#include "libgomp-plugin.h"
#include "compiler_if_host.h"
#include "main_target_image.h"
+#include "gomp-constants.h"
#define LD_LIBRARY_PATH_ENV "LD_LIBRARY_PATH"
#define MIC_LD_LIBRARY_PATH_ENV "MIC_LD_LIBRARY_PATH"
Grüße,
Thomas
signature.asc
Description: PGP signature
