changeset 2409:1128225eff23

CACAO: Update to latest CACAO revision and remove upstreamed pathes. 2011-03-17 Xerxes Ranby <xerxes@zafena.se> CACAO: Update to latest CACAO revision and remove upstreamed pathes. Update contains the following new CACAO improvements: 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. * patches/cacao/ignore-unknown-options.patch: Deleted.
author Xerxes R?nby <xerxes@zafena.se>
date Fri, 20 May 2011 00:22:49 +0100
parents 4caadf3a7f13
children 801c26ed308b
files ChangeLog Makefile.am NEWS patches/cacao/arm-arch-defines.patch patches/cacao/arm-memory-barrier.patch patches/cacao/ignore-unknown-options.patch
diffstat 6 files changed, 38 insertions(+), 103 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri May 20 00:19:55 2011 +0100
+++ b/ChangeLog	Fri May 20 00:22:49 2011 +0100
@@ -1,3 +1,23 @@
+2011-03-17  Xerxes Ranby  <xerxes@zafena.se>
+
+	CACAO: Update to latest CACAO revision and remove upstreamed pathes.
+	Update contains the following new CACAO improvements:
+	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.
+	* patches/cacao/ignore-unknown-options.patch: Deleted.
+
 2011-03-17  Xerxes Ranby  <xerxes@zafena.se>
 
 	JamVM: Update to latest JamVM revision and remove upstreamed pathes.
--- a/Makefile.am	Fri May 20 00:19:55 2011 +0100
+++ b/Makefile.am	Fri May 20 00:22:49 2011 +0100
@@ -18,8 +18,8 @@
 LANGTOOLS_SHA256SUM = e1beab78534a3a0fb18404c3c200e8866da275c7c656172c9f295f11203e5f39
 OPENJDK_SHA256SUM = 856b791751e56f64cc10e4826eefc9af9882969b179595c9642f7c9771965e7d
 
-CACAO_VERSION = e321b101a9ee
-CACAO_SHA256SUM = 46bc5b6212c199dc4a3dbebe6386fe15a8248625a5dffa17115aab394a298444
+CACAO_VERSION = c7bf150bfa46
+CACAO_SHA256SUM = 73629f5ac9514afbcf63b6cdf58556e889a5f6a22d4bd70de1dd2816c6500aee
 CACAO_BASE_URL = http://mips.complang.tuwien.ac.at/hg/cacao/archive
 CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.bz2
 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2
@@ -299,12 +299,9 @@
 ICEDTEA_PATCHES += \
 	patches/cacao/launcher.patch \
 	patches/cacao/version.patch \
-	patches/cacao/arm-arch-defines.patch \
 	patches/cacao/jsig.patch \
 	patches/cacao/6714758.patch \
-	patches/cacao/memory.patch \
-	patches/cacao/arm-memory-barrier.patch \
-	patches/cacao/ignore-unknown-options.patch
+	patches/cacao/memory.patch
 endif
 
 if WITH_CACAO
--- a/NEWS	Fri May 20 00:19:55 2011 +0100
+++ b/NEWS	Fri May 20 00:22:49 2011 +0100
@@ -1,3 +1,5 @@
+CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X
+
 New in release 1.14 (XXXX-XX-XX)
 
 * NetX and the plugin moved to the IcedTea-Web project with a separate
@@ -6,6 +8,9 @@
 * Allow building of JamVM beside the default VM by using --with-additional-vms=jamvm
 * Allow the location of the JamVM source zip to be specified using --with-jamvm-src-zip
 * JamVM builds can bootstrap and are self-hosting.
+* Bug fixes
+  - PR616, PR99: Don't statically link libstdc++
+  - PR640: JamVM fails to build - Unrecognised option: -XX:ThreadStackSize.
 * JamVM
   - Ignore all unknown options.
   - Handle O_DELETE in JVM_Open.
@@ -16,10 +21,16 @@
   - On ARM, force interpreter to be built in ARM mode.
   - MIPS: 64-bit and interpreter inlining by default.
   - Trivial implementation of stubs for MIPS.
-* Bug fixes
-  - PR616, PR99: Don't statically link libstdc++
-  - PR640: JamVM fails to build - Unrecognised option: -XX:ThreadStackSize.
-  - 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.
 * Zero/Shark
   - Match Shark in icedtea6, makes OSR work by removing vestigal check.
   - LLVM 2.7 non-product fixes.
--- a/patches/cacao/arm-arch-defines.patch	Fri May 20 00:19:55 2011 +0100
+++ b/patches/cacao/arm-arch-defines.patch	Fri May 20 00:22:49 2011 +0100
@@ -16,34 +16,3 @@
  AO_INLINE void
  AO_nop_full()
  {
-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	Fri May 20 00:19:55 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();
- }
- 
- }
--- a/patches/cacao/ignore-unknown-options.patch	Fri May 20 00:19:55 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-Index: cacao/cacao/src/vm/vm.cpp
-===================================================================
---- cacao.orig/cacao/src/vm/vm.cpp	2011-03-04 00:20:24.000000000 +0100
-+++ cacao/cacao/src/vm/vm.cpp	2011-03-04 01:12:45.000000000 +0100
-@@ -1239,9 +1239,10 @@
- 
- #endif
- 		default:
--			printf("Unknown option: %s\n",
-+			fprintf(stderr,"Unknown option: %s\n",
- 				   vm_args->options[opt_index].optionString);
--			usage();
-+			opt_index++;
-+			/* Ignore */
- 		}
- 	}
-