Hi! On Sat, 1 Aug 2015 20:20:49 -0400, Nathan Sidwell <nat...@acm.org> 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 <tho...@codesourcery.com> + + * 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 <nat...@codesourcery.com> * 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 <ilya.ver...@intel.com>. @@ -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