changeset 2554:1363365ca66b

PR2350: Update to latest CACAO 2015-05-12 Andrew John Hughes <gnu_andrew@member.fsf.org> PR2350: Update to latest CACAO * patches/cacao/armhf.patch: Removed; upstream in updated CACAO. * Makefile.am: (CACAO_VERSION): Bump to c182f119eaad, the latest tip. (CACAO_SRC_ZIP): Change suffix to xz. (CACAO_URL): Reuse CACAO_SRC_ZIP. (ICEDTEA_PATCHES): Drop armhf patch. (extract-cacao): Drop compression specification. (cacao); Pass --with-libatomic-ops=no as CACAO won't build otherwise. This forces its Boehm GC to use the internal version of libatomic-ops. * NEWS: Updated. * patches/cacao/pr2032.patch: Updated to work with latest CACAO, using original version from PR2032.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Wed, 13 May 2015 03:29:48 +0100
parents 2db89ffae8b6
children a5c3681e3d67
files ChangeLog Makefile.am NEWS patches/cacao/armhf.patch patches/cacao/pr2032.patch
diffstat 5 files changed, 48 insertions(+), 41 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue May 12 23:16:36 2015 +0100
+++ b/ChangeLog	Wed May 13 03:29:48 2015 +0100
@@ -1,3 +1,24 @@
+2015-05-12  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	PR2350: Update to latest CACAO
+	* patches/cacao/armhf.patch:
+	Removed; upstream in updated CACAO.
+	* Makefile.am:
+	(CACAO_VERSION): Bump to c182f119eaad,
+	the latest tip.
+	(CACAO_SRC_ZIP): Change suffix to xz.
+	(CACAO_URL): Reuse CACAO_SRC_ZIP.
+	(ICEDTEA_PATCHES): Drop armhf patch.
+	(extract-cacao): Drop compression specification.
+	(cacao); Pass --with-libatomic-ops=no as
+	CACAO won't build otherwise. This forces
+	its Boehm GC to use the internal version
+	of libatomic-ops.
+	* NEWS: Updated.
+	* patches/cacao/pr2032.patch:
+	Updated to work with latest CACAO, using
+	original version from PR2032.
+
 2015-05-12  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
 	PR2348: Avoid following symlinks for CACAO
--- a/Makefile.am	Tue May 12 23:16:36 2015 +0100
+++ b/Makefile.am	Wed May 13 03:29:48 2015 +0100
@@ -27,11 +27,11 @@
 
 DROP_URL = http://icedtea.classpath.org/download/drops
 
-CACAO_VERSION = e215e36be9fc
-CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab
+CACAO_VERSION = c182f119eaad
+CACAO_SHA256SUM = bf48f6b725a4dc0c936f6770a67ab4074c3bb35352d5de727368350d32549808
 CACAO_BASE_URL = $(DROP_URL)/cacao
-CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz
-CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz
+CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.xz
+CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_SRC_ZIP)
 
 JAMVM_VERSION = ec18fb9e49e62dce16c5094ef1527eed619463aa
 JAMVM_SHA256SUM = 31810266666c23822942aac62a78019c2c4589e1c5ee48329cbf42652d4437bc
@@ -221,7 +221,6 @@
 if BUILD_CACAO
 ICEDTEA_PATCHES += \
 	patches/cacao/launcher.patch \
-	patches/cacao/armhf.patch \
 	patches/cacao/pr2032.patch
 else
 if USING_CACAO
@@ -1062,7 +1061,7 @@
 	if ! test -d cacao/cacao ; \
 	then \
 	  mkdir cacao ; \
-	  $(TAR) xzf $(CACAO_SRC_ZIP) -C cacao ; \
+	  $(TAR) xf $(CACAO_SRC_ZIP) -C cacao ; \
 	  dir=$$(basename cacao/cacao-*) ; \
 	  mv -v cacao/$$dir cacao/cacao ; \
 	  ln -s cacao cacao/$$dir ; \
@@ -1906,6 +1905,7 @@
 	  --with-java-runtime-library=openjdk7 \
 	  --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
 	  --with-java-runtime-library-classes=$(RUNTIME) \
+	  --with-libatomic-ops=no \
 	  --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \
 	$(ARCH_PREFIX) $(MAKE) -j$(PARALLEL_JOBS) install
 	mkdir -p $(abs_top_builddir)/cacao/install/lib
--- a/NEWS	Tue May 12 23:16:36 2015 +0100
+++ b/NEWS	Wed May 13 03:29:48 2015 +0100
@@ -60,7 +60,6 @@
   - PR2256: Add SystemTap tests
   - PR2257: clean-extract-nashorn rule is never run
   - PR2329: jamvm parallel unpack failures
-  - PR2347: Fix CACAO patches to apply again
   - PR2348: Avoid following symlinks for CACAO and JamVM patches
   - Don't substitute 'j' for '-j' inside -I directives
   - Extend 8041658 to all files in the HotSpot build.
@@ -100,7 +99,9 @@
   - CA172, PR2330, G453612: Add ARM hardfloat support to CACAO on Gentoo
   - PR2331: IcedTea8 fails to build with IcedTea7 CACAO due to low max heap size
   - PR2335: CACAO lacks JVM_FindClassFromCaller
-
+  - PR2347: Fix CACAO patches to apply again
+  - PR2350: Update to latest CACAO
+  
 New in release 2.0 (2011-XX-XX):
 
 * JamVM
--- a/patches/cacao/armhf.patch	Tue May 12 23:16:36 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-diff --git a/configure.ac b/configure.ac
---- cacao/cacao/configure.ac
-+++ cacao/cacao/configure.ac
-@@ -50,7 +50,7 @@
-     JAVA_ARCH="arm"
- 
-     case "$host" in
--	*-gnueabihf)
-+       *-hardfloat-*-gnueabi | *-gnueabihf)
- 		ARCH_FLAGS="$ARCH_FLAGS -D__ARMHF__"
- 		;;
- 	esac
--- a/patches/cacao/pr2032.patch	Tue May 12 23:16:36 2015 +0100
+++ b/patches/cacao/pr2032.patch	Wed May 13 03:29:48 2015 +0100
@@ -22,9 +22,10 @@
                  JVM_FindClassFromClass;
                  JVM_FindClassFromClassLoader;
                  JVM_FindLibraryEntry;
---- cacao/cacao/src/native/vm/openjdk/jvm.cpp.orig	2014-10-29 16:40:30.732305204 +0000
-+++ cacao/cacao/src/native/vm/openjdk/jvm.cpp	2014-10-29 16:44:06.643292016 +0000
-@@ -684,6 +684,48 @@
+diff --git a/src/native/vm/openjdk/jvm.cpp b/src/native/vm/openjdk/jvm.cpp
+--- cacao/cacao/src/native/vm/openjdk/jvm.cpp
++++ cacao/cacao/src/native/vm/openjdk/jvm.cpp
+@@ -655,6 +655,44 @@
  }
  
  
@@ -43,30 +44,26 @@
 +
 +jclass JVM_FindClassFromCaller(JNIEnv* env, const char* name, jboolean init, jobject loader, jclass caller)
 +{
-+	classinfo     *c;
-+	utf           *u;
-+	classloader_t *cl;
++        TRACEJVMCALLS(("JVM_FindClassFromCaller(name=%s, init=%d, loader=%p, caller=%p)", name, init, loader, caller));
 +
-+	TRACEJVMCALLS(("JVM_FindClassFromCaller(name=%s, init=%d, loader=%p, caller=%p)", name, init, loader, caller));
++        Utf8String     u  = Utf8String::from_utf8(name);
++        classloader_t *cl = loader_hashtable_classloader_add((java_handle_t *) loader);
 +
-+	u  = utf_new_char(name);
-+	cl = loader_hashtable_classloader_add((java_handle_t *) loader);
++        /* XXX The caller's protection domain should be used during
++           the load_class_from_classloader but there is no specification or
++           unit-test in OpenJDK documenting the desired effect */
 +
-+	/* XXX The caller's protection domain should be used during
-+	   the load_class_from_classloader but there is no specification or
-+	   unit-test in OpenJDK documenting the desired effect */
++        classinfo     *c  = load_class_from_classloader(u, cl);
 +
-+	c = load_class_from_classloader(u, cl);
++        if (c == NULL)
++                return NULL;
 +
-+	if (c == NULL)
-+		return NULL;
++        if (init)
++                if (!(c->state & CLASS_INITIALIZED))
++                        if (!initialize_class(c))
++                                return NULL;
 +
-+	if (init)
-+		if (!(c->state & CLASS_INITIALIZED))
-+			if (!initialize_class(c))
-+				return NULL;
-+
-+	return (jclass) LLNI_classinfo_wrap(c);
++        return (jclass) LLNI_classinfo_wrap(c);
 +}
 +
 +