changeset 2807:d00dc752ed83

PR2519: Update to latest CACAO 2015-05-12 Andrew John Hughes <gnu_andrew@member.fsf.org> PR2519: Update to latest CACAO * patches/cacao/armhf.patch: Removed; upstream in updated CACAO. * Makefile.am: (CACAO_VERSION): Bump to c182f119eaad, the latest tip. (CACAO_SHA256SUM): Updated. (CACAO_URL): Reuse CACAO_SRC_ZIP. (ICEDTEA_PATCHES): Drop armhf patch. (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 Mon, 13 Jul 2015 10:18:58 +0100
parents 595492c5708c
children 139f2a8f085d
files ChangeLog Makefile.am NEWS patches/cacao/pr2032.patch
diffstat 4 files changed, 44 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Jul 09 03:44:54 2015 +0100
+++ b/ChangeLog	Mon Jul 13 10:18:58 2015 +0100
@@ -1,3 +1,23 @@
+2015-05-12  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	PR2519: Update to latest CACAO
+	* patches/cacao/armhf.patch:
+	Removed; upstream in updated CACAO.
+	* Makefile.am:
+	(CACAO_VERSION): Bump to c182f119eaad,
+	the latest tip.
+	(CACAO_SHA256SUM): Updated.
+	(CACAO_URL): Reuse CACAO_SRC_ZIP.
+	(ICEDTEA_PATCHES): Drop armhf patch.
+	(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-07-07  Andrew John Hughes  <gnu.andrew@member.fsf.org>
 
 	* INSTALL:
--- a/Makefile.am	Thu Jul 09 03:44:54 2015 +0100
+++ b/Makefile.am	Mon Jul 13 10:18:58 2015 +0100
@@ -20,11 +20,11 @@
 
 DROP_URL = http://icedtea.classpath.org/download/drops
 
-CACAO_VERSION = e215e36be9fc
-CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab
+CACAO_VERSION = c182f119eaad
+CACAO_SHA256SUM = eade43f6c5da8b3b5a64e6b206b624eaca88539f80101d7164d6aa426eb590b1
 CACAO_BASE_URL = $(DROP_URL)/cacao
-CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz
 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz
+CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_SRC_ZIP)
 
 JAMVM_VERSION = ec18fb9e49e62dce16c5094ef1527eed619463aa
 JAMVM_SHA256SUM = 31810266666c23822942aac62a78019c2c4589e1c5ee48329cbf42652d4437bc
@@ -255,7 +255,6 @@
 ICEDTEA_PATCHES += \
 	patches/cacao/launcher.patch \
 	patches/cacao/memory.patch \
-	patches/cacao/armhf.patch \
 	patches/cacao/pr2032.patch
 else
 if USING_CACAO
@@ -2361,6 +2360,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
 	ln -sf server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client
--- a/NEWS	Thu Jul 09 03:44:54 2015 +0100
+++ b/NEWS	Mon Jul 13 10:18:58 2015 +0100
@@ -435,6 +435,8 @@
   - PR2210: DGifCloseFile call should check the return value, not the error code, for failure
   - PR2225: giflib 5.1 conditional excludes 6.0, 7.0, etc.
   - PR2250: JSSE server is still limited to 768-bit DHE
+* CACAO
+  - PR2519: Update to latest CACAO
 * ARM32 port
   - PR2228: Add ARM32 JIT
   - PR2297: Use the IcedTea 2.6.0 HotSpot on ARM32 by default
--- a/patches/cacao/pr2032.patch	Thu Jul 09 03:44:54 2015 +0100
+++ b/patches/cacao/pr2032.patch	Mon Jul 13 10:18:58 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);
 +}
 +
 +