changeset 2496:d13729d1181e

CACAO: Update to latest CACAO revision and remove upstreamed patches. 2011-03-21 Xerxes Ranby <xerxes@zafena.se> CACAO: Update to latest CACAO revision and remove upstreamed patches. Update contains the following new CACAO improvements: Ignore all unknown options, but report them. Fixes build for newer gcc (at least 4.4) on PPC64, breaks older gcc. CA123: LD_LIBRARY_PATH and java.library.path. CA143: don't hang with invalid locale. CA144: aligned patchers on x86_64. CA148: support for LCMP bytecode. CA152: Calling Policy.setPolicy with a new Policy object has no effect on the DefaultSecurityManager. CA156: uncaughtExceptionHandler doesn't work with OpenJDK 6 b21. * NEWS: Updated. * Makefile.am: Remove upstreamed CACAO patches. (CACAO_VERSION): Updated to latest CACAO revision. (CACAO_SHA256SUM): Updated. * patches/cacao/arm-arch-defines.patch: Deleted. * patches/cacao/arm-memory-barrier.patch: Deleted.
author Xerxes R?nby <xerxes@zafena.se>
date Mon, 21 Mar 2011 16:51:13 +0100
parents a18c1d18bdcc
children 18a72e54ee0e
files ChangeLog Makefile.am NEWS patches/cacao/arm-arch-defines.patch patches/cacao/arm-memory-barrier.patch
diffstat 5 files changed, 35 insertions(+), 82 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Mar 21 16:35:46 2011 +0100
+++ b/ChangeLog	Mon Mar 21 16:51:13 2011 +0100
@@ -1,3 +1,23 @@
+2011-03-21  Xerxes Ranby  <xerxes@zafena.se>
+
+	CACAO: Update to latest CACAO revision and remove upstreamed patches.
+	Update contains the following new CACAO improvements:
+	Ignore all unknown options, but report them.
+	Fixes build for newer gcc (at least 4.4) on PPC64, breaks older gcc.
+	CA123: LD_LIBRARY_PATH and java.library.path.
+	CA143: don't hang with invalid locale.
+	CA144: aligned patchers on x86_64.
+	CA148: support for LCMP bytecode.
+	CA152: Calling Policy.setPolicy with a new Policy object
+	has no effect on the DefaultSecurityManager.
+	CA156: uncaughtExceptionHandler doesn't work with OpenJDK 6 b21.
+	* NEWS: Updated.
+	* Makefile.am: Remove upstreamed CACAO patches.
+	(CACAO_VERSION): Updated to latest CACAO revision.
+	(CACAO_SHA256SUM): Updated.
+	* patches/cacao/arm-arch-defines.patch: Deleted.
+	* patches/cacao/arm-memory-barrier.patch: Deleted.
+
 2011-03-21  Xerxes Ranby  <xerxes@zafena.se>
 
 	JamVM: Update JamVM revision and remove upstreamed patch.
--- a/Makefile.am	Mon Mar 21 16:35:46 2011 +0100
+++ b/Makefile.am	Mon Mar 21 16:51:13 2011 +0100
@@ -5,8 +5,8 @@
 OPENJDK_VERSION = b22
 OPENJDK_URL = http://download.java.net/openjdk/jdk6/promoted/$(OPENJDK_VERSION)/
 
-CACAO_VERSION = 6a5eda011e49
-CACAO_SHA256SUM = 57f3abd73688cb8861875e2f21be9ec8a0c7c234e1e694489e3efa4436e9228c
+CACAO_VERSION = c7bf150bfa46
+CACAO_SHA256SUM = 73629f5ac9514afbcf63b6cdf58556e889a5f6a22d4bd70de1dd2816c6500aee
 CACAO_BASE_URL = http://icedtea.classpath.org/download/drops/cacao
 CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz
 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz
@@ -346,10 +346,8 @@
 if BUILD_CACAO
 ICEDTEA_PATCHES += \
 	patches/cacao/launcher.patch \
-	patches/cacao/arm-arch-defines.patch \
 	patches/cacao/jsig.patch \
-	patches/cacao/memory.patch \
-	patches/cacao/arm-memory-barrier.patch
+	patches/cacao/memory.patch
 endif
 
 if ENABLE_CACAO
--- a/NEWS	Mon Mar 21 16:35:46 2011 +0100
+++ b/NEWS	Mon Mar 21 16:51:13 2011 +0100
@@ -5,13 +5,24 @@
 RHX - https://bugzilla.redhat.com/show_bug.cgi?id=X
 DX  - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=X
 GX  - http://bugs.gentoo.org/show_bug.cgi?id=X
+CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X
 
 CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
 
 New in release 1.10.1 (2011-XX-XX):
 
 * Bug fixes
-  - CACAO PR157: ARM SMP Assertion thinlock failed.
+* CACAO
+  - Ignore all unknown options, but report them.
+  - Fixes build for newer gcc (at least 4.4) on PPC64, breaks older gcc.
+  - CA123: LD_LIBRARY_PATH and java.library.path.
+  - CA143: don't hang with invalid locale.
+  - CA144: aligned patchers on x86_64.
+  - CA148: support for LCMP bytecode.
+  - CA152: Calling Policy.setPolicy with a new Policy object
+    has no effect on the DefaultSecurityManager.
+  - CA156: uncaughtExceptionHandler doesn't work with OpenJDK 6 b21.
+  - CA157: ARM SMP Assertion thinlock failed.
 * JamVM
   - Handle O_DELETE in JVM_Open.
   - Minor performance improvement on ARM.
--- a/patches/cacao/arm-arch-defines.patch	Mon Mar 21 16:35:46 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-diff -Nru cacao.orig/cacao/src/vm/jit/arm/md-atomic.hpp cacao/cacao/src/vm/jit/arm/md-atomic.hpp
---- cacao.orig/cacao/src/vm/jit/arm/md-atomic.hpp	2010-05-19 12:14:46.000000000 +0100
-+++ cacao/cacao/src/vm/jit/arm/md-atomic.hpp	2010-06-21 18:35:53.000000000 +0100
-@@ -45,26 +45,7 @@
-  */
- inline uint32_t compare_and_swap(volatile uint32_t *p, uint32_t oldval, uint32_t newval)
- {
--	uint32_t result;
--	uint32_t temp;
--
--	/* TODO: improve this one! */
--	__asm__ __volatile__ (
--		"1:\t"
--		"ldr   %0,[%2]\n\t"
--		"cmp   %0,%4\n\t"
--		"bne   2f\n\t"
--		"swp   %1,%3,[%2]\n\t"
--		"cmp   %1,%0\n\t"
--		"swpne %0,%1,[%2]\n\t"
--		"bne   1b\n\t"
--		"2:"
--		: "=&r" (result), "=&r" (temp)
--		: "r" (p), "r" (newval), "r" (oldval)
--		: "cc", "memory"
--	);
--
--	return result;
-+	return __sync_val_compare_and_swap (p, oldval, newval);
- }
- 
- 
--- a/patches/cacao/arm-memory-barrier.patch	Mon Mar 21 16:35:46 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-Index: cacao/cacao/src/vm/jit/arm/md-atomic.hpp
-===================================================================
---- cacao.orig/cacao/src/vm/jit/arm/md-atomic.hpp	2011-03-04 22:44:20.000000000 +0100
-+++ cacao/cacao/src/vm/jit/arm/md-atomic.hpp	2011-03-04 23:02:52.000000000 +0100
-@@ -63,13 +63,21 @@
- 	return Atomic::generic_compare_and_swap(p, oldval, newval);
- }
- 
-+/**
-+ * ARM Kernel helper for memory barrier.
-+ * Using __asm __volatile ("":::"memory") does not work reliable on ARM
-+ * and gcc __sync_synchronize(); implementation does not use the kernel
-+ * helper for all gcc versions so it is unreliable to use as well.
-+ */
-+typedef void (__kernel_dmb_t) (void);
-+#define __kernel_dmb (*(__kernel_dmb_t *) 0xffff0fa0)
- 
- /**
-  * A memory barrier.
-  */
- inline void memory_barrier(void)
- {
--	__asm__ __volatile__ ("" : : : "memory");
-+	__kernel_dmb();
- }
- 
- 
-@@ -78,7 +86,7 @@
-  */
- inline void write_memory_barrier(void)
- {
--	__asm__ __volatile__ ("" : : : "memory");
-+	__kernel_dmb();
- }
- 
- 
-@@ -87,7 +95,7 @@
-  */
- inline void instruction_barrier(void)
- {
--	__asm__ __volatile__ ("" : : : "memory");
-+	__kernel_dmb();
- }
- 
- }