openjdk team mailing list archive
-
openjdk team
-
Mailing list archive
-
Message #09770
Bug#736418: openjdk-7: FTBFS on mips and mipsel
Package: openjdk-7
Version: 7u51-2.4.4-1
Severity: serious
Tags: upstream patch
Justification: fails to build from source (but built successfully in the past)
openjdk-7 fails to build from source on mips and mipsel due to
unaligned access. This upload disabled the hotspot-mips-align.diff patch,
but only the first part of this patch has been merged upstream. The
later part concerning ffi is still needed.
The attached patch removes the part applied upstream from
hotspot-mips-align.diff and re-enable it in debian/rules. It should also
help the sparc build to go further.
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: mipsel (mips64)
Kernel: Linux 3.2.0-4-5kc-malta
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
diff -Nru openjdk-7-7u51-2.4.4/debian/patches/hotspot-mips-align.diff openjdk-7-7u51-2.4.4/debian/patches/hotspot-mips-align.diff
--- openjdk-7-7u51-2.4.4/debian/patches/hotspot-mips-align.diff 2014-01-18 11:46:55.000000000 +0000
+++ openjdk-7-7u51-2.4.4/debian/patches/hotspot-mips-align.diff 2014-01-18 11:48:00.000000000 +0000
@@ -1,41 +1,3 @@
---- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp
-+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp
-@@ -56,7 +56,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;
-@@ -169,7 +178,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
--- openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
+++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
@@ -322,7 +322,7 @@
diff -Nru openjdk-7-7u51-2.4.4/debian/rules openjdk-7-7u51-2.4.4/debian/rules
--- openjdk-7-7u51-2.4.4/debian/rules 2014-01-18 11:46:55.000000000 +0000
+++ openjdk-7-7u51-2.4.4/debian/rules 2014-01-18 11:48:00.000000000 +0000
@@ -446,6 +446,7 @@
debian/patches/ppc64el.diff \
debian/patches/zero-x32.diff \
debian/patches/zero-sparc.diff \
+ debian/patches/hotspot-mips-align.diff \
# FIXME CACAO update needed
#ifeq ($(DEB_HOST_ARCH),armel)