[packages/gcc/GCC_4_9] - added two isl0.15 patches (isl 0.15 compatibility) - use external java-ecj package

qboosh qboosh at pld-linux.org
Tue Sep 15 21:15:53 CEST 2015


commit 16f75e488f51b1b12d65f9556e5d55f44b100aa9
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Tue Sep 15 21:17:34 2015 +0200

    - added two isl0.15 patches (isl 0.15 compatibility)
    - use external java-ecj package

 gcc-isl0.15-1.patch | 237 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 gcc-isl0.15-2.patch |  86 +++++++++++++++++++
 gcc.spec            |  19 ++---
 3 files changed, 332 insertions(+), 10 deletions(-)
---
diff --git a/gcc.spec b/gcc.spec
index f4a94a0..9a209b4 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -110,7 +110,7 @@
 
 %define		major_ver	4.9
 %define		minor_ver	3
-%define		major_ecj_ver	4.9
+%define		ecj_ver		4.9
 # class data version seen with file(1) that this jvm is able to load
 %define		_classdataversion 50.0
 %define		gcj_soname_ver	15
@@ -128,8 +128,6 @@ Group:		Development/Languages
 Source0:	https://ftp.gnu.org/pub/gnu/gcc/gcc-%{version}/%{name}-%{version}.tar.bz2
 # Source0-md5:	6f831b4d251872736e8e9cc09746f327
 Source1:	%{name}-optimize-la.pl
-Source2:	ftp://sourceware.org/pub/java/ecj-%{major_ecj_ver}.jar
-# Source2-md5:	7339f199ba11c941890031fd9981d7be
 # check libffi version with libffi/configure.ac
 Source3:	libffi.pc.in
 # svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_4_9_3_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch > gcc-branch.diff
@@ -145,6 +143,8 @@ Patch7:		%{name}-libjava-multilib.patch
 Patch8:		%{name}-enable-java-awt-qt.patch
 Patch10:	%{name}-moresparcs.patch
 Patch11:	%{name}-install-libffi.patch
+Patch12:	%{name}-isl0.15-1.patch
+Patch13:	%{name}-isl0.15-2.patch
 URL:		http://gcc.gnu.org/
 BuildRequires:	autoconf >= 2.64
 %{?with_tests:BuildRequires:	autogen}
@@ -196,6 +196,7 @@ BuildRequires:	glibc-devel(sparcv9)
 BuildRequires:	gmp-c++-devel >= 4.1
 BuildRequires:	gmp-devel >= 4.1
 BuildRequires:	isl-devel >= 0.13
+BuildRequires:	java-ecj >= %{ecj_ver}
 BuildRequires:	libmpc-devel
 BuildRequires:	mpfr-devel >= 2.3.0
 %if %{with python}
@@ -1437,10 +1438,10 @@ Summary(es.UTF-8):	Soporte de Java para GCC
 Summary(pl.UTF-8):	Obsługa języka Java dla GCC
 Group:		Development/Languages/Java
 Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	java-ecj >= %{ecj_ver}
 Requires:	libgcj-devel = %{epoch}:%{version}-%{release}
 Provides:	gcc-java-tools
 Provides:	gcj = %{epoch}:%{version}-%{release}
-Obsoletes:	eclipse-ecj
 Obsoletes:	gcc-java-tools
 Obsoletes:	java-gnu-classpath-tools
 
@@ -2789,14 +2790,11 @@ Ten pakiet zawiera wersję %{m2_desc} statycznej biblioteki GNU Atomic.
 %if %{with gcc_libffi}
 %patch11 -p0
 %endif
+%patch12 -p1
+%patch13 -p1
 
 mv ChangeLog ChangeLog.general
 
-%if %{with java}
-# see contrib/download_ecj
-cp -p %{SOURCE2} ecj.jar
-%endif
-
 # override snapshot version.
 echo %{version} > gcc/BASE-VER
 echo "release" > gcc/DEV-PHASE
@@ -2842,6 +2840,7 @@ TEXCONFIG=false \
 	--enable-gnu-unique-object \
 	--enable-gnu-indirect-function \
 	--enable-initfini-array \
+	--disable-isl-version-check \
 	--enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,fortran}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}%{?with_go:,go}" \
 	--%{?with_gomp:en}%{!?with_gomp:dis}able-libgomp \
 	--enable-libitm \
@@ -2869,6 +2868,7 @@ TEXCONFIG=false \
 	--with-cpu=ultrasparc \
 %endif
 	--with-demangler-in-ld \
+	--with-ecj-jar=%{_javadir}/ecj.jar \
 	--with-gnu-as \
 	--with-gnu-ld \
 	--with-linker-hash-style=gnu \
@@ -4097,7 +4097,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libxmlj.so*
 %{_libdir}/logging.properties
 %{_javadir}/libgcj*.jar
-%{_javadir}/ecj.jar
 %{_mandir}/man1/gij.1*
 
 %files -n libgcj-devel
diff --git a/gcc-isl0.15-1.patch b/gcc-isl0.15-1.patch
new file mode 100644
index 0000000..4cdc746
--- /dev/null
+++ b/gcc-isl0.15-1.patch
@@ -0,0 +1,237 @@
+List-Id: <gcc-patches.gcc.gnu.org>
+List-Archive: <http://gcc.gnu.org/ml/gcc-patches/>
+From: Mike Frysinger <vapier at gentoo dot org>
+To: gcc-patches at gcc dot gnu dot org
+Subject: [PATCH] gcc: fix building w/isl-0.15
+Date: Tue, 14 Jul 2015 10:45:12 -0400
+Message-Id: <1436885112-2174-1-git-send-email-vapier at gentoo.org>
+
+---
+ gcc/config.in               |  6 ++++++
+ gcc/configure               | 31 +++++++++++++++++++++++++++++++
+ gcc/configure.ac            | 14 ++++++++++++++
+ gcc/graphite-dependences.c  | 14 +++++++-------
+ gcc/graphite-optimize-isl.c |  8 ++++++--
+ gcc/graphite-poly.h         |  5 +++++
+ 6 files changed, 69 insertions(+), 9 deletions(-)
+
+diff --git a/gcc/config.in b/gcc/config.in
+index b031a62..23e1757 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -1326,6 +1326,12 @@
+ #endif
+ 
+ 
++/* Define if isl_options_set_schedule_serialize_sccs exists. */
++#ifndef USED_FOR_TARGET
++#undef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
++#endif
++
++
+ /* Define if isl_schedule_constraints_compute_schedule exists. */
+ #ifndef USED_FOR_TARGET
+ #undef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
+diff --git a/gcc/configure b/gcc/configure
+index 9561e5c..6e81298 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -27947,6 +27947,8 @@
+ 
+   # Check whether isl_schedule_constraints_compute_schedule is available;
+   # it's new in ISL-0.13.
++  # Check whether isl_options_set_schedule_serialize_sccs is available;
++  # it's new in ISL-0.15.
+   saved_CFLAGS="$CFLAGS"
+   CFLAGS="$CFLAGS $ISLINC"
+   saved_LIBS="$LIBS"
+@@ -27975,6 +27977,29 @@
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_schedule_constraints_compute_schedule" >&5
+ $as_echo "$ac_has_isl_schedule_constraints_compute_schedule" >&6; }
+ 
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for isl_options_set_schedule_serialize_sccs" >&5
++$as_echo_n "checking Checking for isl_options_set_schedule_serialize_sccs... " >&6; }
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <isl/schedule.h>
++int
++main ()
++{
++isl_options_set_schedule_serialize_sccs (NULL, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_link "$LINENO"; then :
++  ac_has_isl_options_set_schedule_serialize_sccs=yes
++else
++  ac_has_isl_options_set_schedule_serialize_sccs=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++    conftest$ac_exeext conftest.$ac_ext
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_options_set_schedule_serialize_sccs" >&5
++$as_echo "$ac_has_isl_options_set_schedule_serialize_sccs" >&6; }
++
+   LIBS="$saved_LIBS"
+   CFLAGS="$saved_CFLAGS"
+ 
+@@ -27983,6 +28008,12 @@
+ $as_echo "#define HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE 1" >>confdefs.h
+ 
+   fi
++
++  if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
++
++$as_echo "#define HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS 1" >>confdefs.h
++
++  fi
+ fi
+ 
+ 
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index cb14639..7fb964a 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -5535,6 +5535,8 @@
+ 
+   # Check whether isl_schedule_constraints_compute_schedule is available;
+   # it's new in ISL-0.13.
++  # Check whether isl_options_set_schedule_serialize_sccs is available;
++  # it's new in ISL-0.15.
+   saved_CFLAGS="$CFLAGS"
+   CFLAGS="$CFLAGS $ISLINC"
+   saved_LIBS="$LIBS"
+@@ -5547,6 +5549,13 @@
+               [ac_has_isl_schedule_constraints_compute_schedule=no])
+   AC_MSG_RESULT($ac_has_isl_schedule_constraints_compute_schedule)
+ 
++  AC_MSG_CHECKING([Checking for isl_options_set_schedule_serialize_sccs])
++  AC_TRY_LINK([#include <isl/schedule.h>],
++              [isl_options_set_schedule_serialize_sccs (NULL, 0);],
++              [ac_has_isl_options_set_schedule_serialize_sccs=yes],
++              [ac_has_isl_options_set_schedule_serialize_sccs=no])
++  AC_MSG_RESULT($ac_has_isl_options_set_schedule_serialize_sccs)
++
+   LIBS="$saved_LIBS"
+   CFLAGS="$saved_CFLAGS"
+ 
+@@ -5554,6 +5563,11 @@
+      AC_DEFINE(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE, 1,
+                [Define if isl_schedule_constraints_compute_schedule exists.])
+   fi
++
++  if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
++     AC_DEFINE(HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS, 1,
++               [Define if isl_options_set_schedule_serialize_sccs exists.])
++  fi
+ fi
+ 
+ 
+diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
+index 50fe73e..9a0986d 100644
+--- a/gcc/graphite-dependences.c
++++ b/gcc/graphite-dependences.c
+@@ -205,7 +205,7 @@ scop_get_transformed_schedule (scop_p scop, vec<poly_bb_p> pbbs)
+ /* Helper function used on each MAP of a isl_union_map.  Computes the
+    maximal output dimension.  */
+ 
+-static int
++static isl_stat
+ max_number_of_out_dimensions (__isl_take isl_map *map, void *user)
+ {
+   int global_max = *((int *) user);
+@@ -217,7 +217,7 @@ max_number_of_out_dimensions (__isl_take isl_map *map, void *user)
+ 
+   isl_map_free (map);
+   isl_space_free (space);
+-  return 0;
++  return isl_stat_ok;
+ }
+ 
+ /* Extends the output dimension of MAP to MAX dimensions.  */
+@@ -241,12 +241,12 @@ struct extend_schedule_str {
+ 
+ /* Helper function for extend_schedule.  */
+ 
+-static int
++static isl_stat
+ extend_schedule_1 (__isl_take isl_map *map, void *user)
+ {
+   struct extend_schedule_str *str = (struct extend_schedule_str *) user;
+   str->umap = isl_union_map_add_map (str->umap, extend_map (map, str->max));
+-  return 0;
++  return isl_stat_ok;
+ }
+ 
+ /* Return a relation that has uniform output dimensions.  */
+@@ -255,16 +255,16 @@ __isl_give isl_union_map *
+ extend_schedule (__isl_take isl_union_map *x)
+ {
+   int max = 0;
+-  int res;
++  isl_stat res;
+   struct extend_schedule_str str;
+ 
+   res = isl_union_map_foreach_map (x, max_number_of_out_dimensions, (void *) &max);
+-  gcc_assert (res == 0);
++  gcc_assert (res == isl_stat_ok);
+ 
+   str.max = max;
+   str.umap = isl_union_map_empty (isl_union_map_get_space (x));
+   res = isl_union_map_foreach_map (x, extend_schedule_1, (void *) &str);
+-  gcc_assert (res == 0);
++  gcc_assert (res == isl_stat_ok);
+ 
+   isl_union_map_free (x);
+   return str.umap;
+diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
+index f490401..388e25c 100644
+--- a/gcc/graphite-optimize-isl.c
++++ b/gcc/graphite-optimize-isl.c
+@@ -506,13 +506,13 @@ getScheduleMap (isl_schedule *Schedule, isl_union_map **map_sepcl)
+   return ScheduleMap;
+ }
+ 
+-static int
++static isl_stat
+ getSingleMap (__isl_take isl_map *map, void *user)
+ {
+   isl_map **singleMap = (isl_map **) user;
+   *singleMap = map;
+ 
+-  return 0;
++  return isl_stat_ok;
+ }
+ 
+ static void
+@@ -584,7 +584,11 @@ optimize_isl (scop_p scop)
+ 
+   isl_options_set_schedule_max_constant_term (scop->ctx, CONSTANT_BOUND);
+   isl_options_set_schedule_maximize_band_depth (scop->ctx, 1);
++#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
++  isl_options_set_schedule_serialize_sccs (scop->ctx, 1);
++#else
+   isl_options_set_schedule_fuse (scop->ctx, ISL_SCHEDULE_FUSE_MIN);
++#endif
+   isl_options_set_on_error (scop->ctx, ISL_ON_ERROR_CONTINUE);
+ 
+ #ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
+diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
+index 7ffd18e..7022a1d 100644
+--- a/gcc/graphite-poly.h
++++ b/gcc/graphite-poly.h
+@@ -24,6 +24,11 @@ along with GCC; see the file COPYING3.  If not see
+ 
+ #include "sese.h"
+ 
++#ifndef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
++# define isl_stat int
++# define isl_stat_ok 0
++#endif
++
+ typedef struct poly_dr *poly_dr_p;
+ 
+ typedef struct poly_bb *poly_bb_p;
+-- 
+2.4.4
+
diff --git a/gcc-isl0.15-2.patch b/gcc-isl0.15-2.patch
new file mode 100644
index 0000000..a12a08f
--- /dev/null
+++ b/gcc-isl0.15-2.patch
@@ -0,0 +1,86 @@
+List-Id: <gcc-patches.gcc.gnu.org>
+List-Archive: <http://gcc.gnu.org/ml/gcc-patches/>
+From: Bernhard Reutner-Fischer <rep dot dot dot nop at gmail dot com>
+To: gcc-patches at gcc dot gnu dot org
+Subject: [PATCH] gcc/: Fix building with isl-0.15.0; includes
+Date: Fri, 17 Jul 2015 13:10:26 +0200
+Message-Id: <1437131426-27008-1-git-send-email-rep.dot.nop at gmail.com>
+In-Reply-To: <1436885112-2174-1-git-send-email-vapier at gentoo dot org>
+References: <1436885112-2174-1-git-send-email-vapier at gentoo.org>
+
+In addition to Mike's "[PATCH] gcc: fix building w/isl-0.15" in
+https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01162.html
+I seem to also need a couple of more includes for isl-0.15.0:
+
+2015-07-15  Bernhard Reutner-Fischer  <aldot at gcc.gnu.org>
+
+	* graphite-blocking.c, graphite-dependences.c,
+	graphite-interchange.c, graphite-isl-ast-to-gimple.c,
+	graphite-optimize-isl.c, graphite-poly.c,
+	graphite-scop-detection.c, graphite-sese-to-poly.c,
+	graphite.c: Add missing isl includes.
+---
+ gcc/graphite-blocking.c          |    1 +
+ gcc/graphite-dependences.c       |    1 +
+ gcc/graphite-interchange.c       |    1 +
+ gcc/graphite-isl-ast-to-gimple.c |    2 ++
+ gcc/graphite-optimize-isl.c      |    2 ++
+ gcc/graphite-poly.c              |    1 +
+ gcc/graphite-scop-detection.c    |    1 +
+ gcc/graphite-sese-to-poly.c      |    1 +
+ gcc/graphite.c                   |    1 +
+ 9 files changed, 11 insertions(+)
+
+diff --git a/gcc/graphite-interchange.c b/gcc/graphite-interchange.c
+index aee51a8..bcf7f3b 100644
+--- a/gcc/graphite-interchange.c
++++ b/gcc/graphite-interchange.c
+@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.
+ #include "config.h"
+ 
+ #ifdef HAVE_cloog
++#include <isl/constraint.h>
+ #include <isl/aff.h>
+ #include <isl/set.h>
+ #include <isl/map.h>
+diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
+index 388e25c..2b55783 100644
+--- a/gcc/graphite-optimize-isl.c
++++ b/gcc/graphite-optimize-isl.c
+@@ -21,7 +21,9 @@ along with GCC; see the file COPYING3.
+ #include "config.h"
+ 
+ #ifdef HAVE_cloog
++#include <isl/constraint.h>
+ #include <isl/set.h>
++#include <isl/union_set.h>
+ #include <isl/map.h>
+ #include <isl/union_map.h>
+ #include <isl/schedule.h>
+diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
+index 47e0da0..22fdde3 100644
+--- a/gcc/graphite-scop-detection.c
++++ b/gcc/graphite-scop-detection.c
+@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.
+ #include "config.h"
+ 
+ #ifdef HAVE_cloog
++#include <isl/constraint.h>
+ #include <isl/set.h>
+ #include <isl/map.h>
+ #include <isl/union_map.h>
+diff --git a/gcc/graphite.c b/gcc/graphite.c
+index a81ef6a..32f405a 100644
+--- a/gcc/graphite.c
++++ b/gcc/graphite.c
+@@ -35,6 +35,7 @@ along with GCC; see the file COPYING3.
+ #include "config.h"
+ 
+ #ifdef HAVE_cloog
++#include <isl/constraint.h>
+ #include <isl/set.h>
+ #include <isl/map.h>
+ #include <isl/options.h>
+-- 
+1.7.10.4
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gcc.git/commitdiff/16f75e488f51b1b12d65f9556e5d55f44b100aa9



More information about the pld-cvs-commit mailing list