/hg/release/icedtea6-1.10: CACAO PR157: ARM SMP Assertion thinlo...

xranby at icedtea.classpath.org xranby at icedtea.classpath.org
Fri Mar 11 07:27:50 PST 2011


changeset 9d9f060d8eed in /hg/release/icedtea6-1.10
details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=9d9f060d8eed
author: Xerxes R?nby <xerxes at zafena.se>
date: Fri Mar 11 16:09:25 2011 +0100

	CACAO PR157: ARM SMP Assertion thinlock failed.

	2011-03-11 Xerxes Ranby <xerxes at zafena.se>

	 CACAO PR157: ARM SMP Assertion thinlock failed.
		* NEWS: Updated.
		* Makefile.am: Add new CACAO patch.
		* patches/cacao/arm-memory-barrier.patch: New patch.


diffstat:

 ChangeLog                              |   7 +++++
 Makefile.am                            |   3 +-
 NEWS                                   |   3 ++
 patches/cacao/arm-memory-barrier.patch |  44 ++++++++++++++++++++++++++++++++++
 4 files changed, 56 insertions(+), 1 deletions(-)

diffs (89 lines):

diff -r b1a474b2b90b -r 9d9f060d8eed ChangeLog
--- a/ChangeLog	Thu Mar 03 12:33:44 2011 +0000
+++ b/ChangeLog	Fri Mar 11 16:09:25 2011 +0100
@@ -1,3 +1,10 @@
+2011-03-11  Xerxes Ranby  <xerxes at zafena.se>
+
+	CACAO PR157: ARM SMP Assertion thinlock failed.
+	* NEWS: Updated.
+	* Makefile.am: Add new CACAO patch.
+	* patches/cacao/arm-memory-barrier.patch: New patch.
+
 2011-03-03  Andrew John Hughes  <ahughes at redhat.com>
 
 	* patches/security/20110215/6927050.patch:
diff -r b1a474b2b90b -r 9d9f060d8eed Makefile.am
--- a/Makefile.am	Thu Mar 03 12:33:44 2011 +0000
+++ b/Makefile.am	Fri Mar 11 16:09:25 2011 +0100
@@ -346,7 +346,8 @@
 	patches/cacao/launcher.patch \
 	patches/cacao/arm-arch-defines.patch \
 	patches/cacao/jsig.patch \
-	patches/cacao/memory.patch
+	patches/cacao/memory.patch \
+	patches/cacao/arm-memory-barrier.patch
 endif
 
 if ENABLE_CACAO
diff -r b1a474b2b90b -r 9d9f060d8eed NEWS
--- a/NEWS	Thu Mar 03 12:33:44 2011 +0000
+++ b/NEWS	Fri Mar 11 16:09:25 2011 +0100
@@ -10,6 +10,9 @@
 
 New in release 1.10.1 (2011-XX-XX):
 
+* Bug fixes
+  - CACAO PR157: ARM SMP Assertion thinlock failed.
+
 New in release 1.10 (2011-03-02):
 
 * NetX and the plugin moved to the IcedTea-Web project with a separate
diff -r b1a474b2b90b -r 9d9f060d8eed patches/cacao/arm-memory-barrier.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/cacao/arm-memory-barrier.patch	Fri Mar 11 16:09:25 2011 +0100
@@ -0,0 +1,45 @@
+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();
+ }
+ 
+ }



More information about the distro-pkg-dev mailing list