changeset 3032:b5e91d3c0ef2 icedtea-1.12.7 icedtea6-1.12.7

D729448: 32-bit alignment on mips and mipsel 2013-11-21 Andrew John Hughes <gnu.andrew@redhat.com> * Makefile.am: (ICEDTEA_PATCHES): Add new patch. * patches/d729448-32_bit_alignment.patch: Fix alignment on mips and mipsel. * NEWS: Updated.
author Andrew John Hughes <gnu.andrew@redhat.com>
date Thu, 21 Nov 2013 18:46:05 +0000
parents 7e24ac073f74
children 79c53dffb227
files ChangeLog Makefile.am NEWS patches/d729448-32_bit_alignment.patch
diffstat 4 files changed, 58 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Nov 21 15:42:19 2013 +0000
+++ b/ChangeLog	Thu Nov 21 18:46:05 2013 +0000
@@ -1,3 +1,11 @@
+2013-11-21  Andrew John Hughes  <gnu.andrew@redhat.com>
+
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add new patch.
+	* patches/d729448-32_bit_alignment.patch:
+	Fix alignment on mips and mipsel.
+	* NEWS: Updated.
+
 2013-11-21  Andrew John Hughes  <gnu.andrew@redhat.com>
 
 	* configure.ac: Bump to 1.12.7.
--- a/Makefile.am	Thu Nov 21 15:42:19 2013 +0000
+++ b/Makefile.am	Thu Nov 21 18:46:05 2013 +0000
@@ -830,7 +830,8 @@
 	patches/openjdk/7038711-fix_no-clobber_usage.patch \
 	patches/disable-cc-incompatible-sanity-checks.patch \
 	patches/rh995488-rhel_tz_fix.patch \
-	patches/openjdk/8025255-tzdata2013g.patch
+	patches/openjdk/8025255-tzdata2013g.patch \
+	patches/d729448-32_bit_alignment.patch
 
 if WITH_RHINO
 ICEDTEA_PATCHES += \
--- a/NEWS	Thu Nov 21 15:42:19 2013 +0000
+++ b/NEWS	Thu Nov 21 18:46:05 2013 +0000
@@ -162,6 +162,7 @@
 * Bug fixes
   - PR1188: ASM Interpreter and Thumb2 JIT javac miscompile modulo reminder on armel.
   - RH995488: Java thinks that the default timezone is Busingen instead of Zurich
+  - D729448: 32-bit alignment on mips and mipsel
 
 New in release 1.12.6 (2013-07-10):
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/d729448-32_bit_alignment.patch	Thu Nov 21 18:46:05 2013 +0000
@@ -0,0 +1,47 @@
+# HG changeset patch
+# User andrew
+# Date 1384967615 0
+#      Wed Nov 20 17:13:35 2013 +0000
+# Node ID 05b64403a1917ddd9e0dd3880a5707e083ed9aba
+# Parent  9d01164b2dfc36fb13984cb0854b2c7a9e4dbfbe
+D729448: 32-bit alignment on mips and mipsel
+
+diff -r 9d01164b2dfc -r 05b64403a191 src/share/vm/interpreter/bytecodeInterpreter.hpp
+--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp	Tue Nov 12 17:58:35 2013 +0000
++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp	Wed Nov 20 17:13:35 2013 +0000
+@@ -60,7 +60,16 @@
+     jlong   l;
+     jdouble d;
+     uint32_t      v[2];
+-};
++}
++#ifndef _LP64
++  /* Hotspot only aligns the union to the uintptr_t type, that is 32 bit
++     on a 32-bit CPU. Accesses to double values should be 64-bit aligned
++     on at least MIPS and SPARC. Declare it to GCC for all 32-bit CPUs,
++     as it might also help GCC to select the best instruction on other
++     CPUs. */
++  __attribute__ ((packed, aligned (4)))
++#endif
++;
+ 
+ 
+ typedef class BytecodeInterpreter* interpreterState;
+@@ -172,7 +181,16 @@
+     jlong   l;
+     jdouble d;
+     uint32_t      v[2];
+-};
++}
++#ifndef _LP64
++  /* Hotspot only aligns the union to the uintptr_t type, that is 32 bit
++     on a 32-bit CPU. Accesses to double values should be 64-bit aligned
++     on at least MIPS and SPARC. Declare it to GCC for all 32-bit CPUs,
++     as it might also help GCC to select the best instruction on other
++     CPUs. */
++  __attribute__ ((packed, aligned (4)))
++#endif
++;
+ 
+ /*
+  * Generic 32-bit wide "Java slot" definition. This type occurs