aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2016-06-13 20:00:19 +0800
committerjkim <jkim@FreeBSD.org>2016-06-13 20:00:19 +0800
commitac0fb9ac0fac6413cc1d34a674c50083728df92d (patch)
tree14373e8f140a7482a1886ba36184a0003779edb6 /java
parent743a1c60b1c5261ca149f127d68dbff6a1297d54 (diff)
downloadfreebsd-ports-gnome-ac0fb9ac0fac6413cc1d34a674c50083728df92d.tar.gz
freebsd-ports-gnome-ac0fb9ac0fac6413cc1d34a674c50083728df92d.tar.zst
freebsd-ports-gnome-ac0fb9ac0fac6413cc1d34a674c50083728df92d.zip
Unbreak arm.
- Remove armv6hf because it is default now. - Merge a HotSpot fix from src/os_cpu/linux_zero/vm/os_linux_zero.cpp. http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/rev/c6ef40024aa2 - Add an upstream patch to unbreak Zero. http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/rev/8f58998958ca - Extend PR209599 to cover arm platforms.
Diffstat (limited to 'java')
-rw-r--r--java/openjdk8/Makefile14
-rw-r--r--java/openjdk8/files/patch-hotspot_src_cpu_zero_vm_cppInterpreter__zero.cpp21
-rw-r--r--java/openjdk8/files/patch-hotspot_src_os__cpu_bsd__zero_vm_os__bsd__zero.cpp24
-rw-r--r--java/openjdk8/files/patch-hotspot_src_share_vm_interpreter_bytecodeInterpreter.cpp14
4 files changed, 63 insertions, 10 deletions
diff --git a/java/openjdk8/Makefile b/java/openjdk8/Makefile
index 3ea1ebbd7e6d..e40895756525 100644
--- a/java/openjdk8/Makefile
+++ b/java/openjdk8/Makefile
@@ -2,7 +2,7 @@
PORTNAME= openjdk
PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//}
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= java devel
MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}/promoted/b${DIST_BUILD_NUMBER}/:jdk \
https://adopt-openjdk.ci.cloudbees.com/job/jtreg/${JTREG_JENKINS_BUILD}/artifact/:jtreg \
@@ -51,7 +51,7 @@ USE_XORG= x11 xext xi xrender xt xtst
BUILD_DEPENDS+= ${UNZIP_CMD}:archivers/unzip
.endif
-ONLY_FOR_ARCHS= amd64 armv6 armv6hf i386
+ONLY_FOR_ARCHS= amd64 armv6 i386
WRKSRC= ${WRKDIR}/${PORTNAME}
DOS2UNIX_FILES= jdk/src/bsd/doc/man/appletviewer.1 \
@@ -195,8 +195,8 @@ JRE_IMAGEDIR= ${JDK_BUILDDIR}/images/j2sdk-image/jre
.else
JRE_IMAGEDIR= ${JDK_BUILDDIR}/images/j2re-image
.endif
-JDK_JVMDIR= lib/${ARCH:C/armv6.*/arm/}
-JDK_OSARCH= bsd-${ARCH:S/amd64/x86_64/:C/armv6.*/arm/:S/i386/x86/}
+JDK_JVMDIR= lib/${ARCH:S/armv6/arm/}
+JDK_OSARCH= bsd-${ARCH:S/amd64/x86_64/:S/armv6/arm/:S/i386/x86/}
INSTALLDIR= ${PREFIX}/${PKGBASE}
NO_CCACHE= yes
@@ -287,7 +287,7 @@ CONFIGURE_ARGS+= --with-tools-dir="${TOOLS_DIR:u:S/ /:/g}"
.include <bsd.port.pre.mk>
-.if ${ARCH:Marmv6*} || ${ARCH} == "i386"
+.if ${ARCH} == "armv6" || ${ARCH} == "i386"
# XXX We must limit max heap size for 32-bit targets.
CONFIGURE_ARGS+= --with-boot-jdk-jvmargs="-Xmx768m"
MAKE_ENV+= JAVADOC_CMD_MEM="-Xmx768m"
@@ -312,7 +312,7 @@ LIB_DEPENDS+= libffi.so:devel/libffi
BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk8 \
${LOCALBASE}/openjdk7
-.if ${ARCH:Marmv6*}
+.if ${ARCH} == "armv6"
BOOTSTRAP_JDKS+= ${LOCALBASE}/bootstrap-openjdk
.endif
@@ -325,7 +325,7 @@ BOOTSTRAPJDKDIR= ${BJDK}
# if no valid jdk found, set dependency
.if !defined(BOOTSTRAPJDKDIR)
-. if ${ARCH:Marmv6*}
+. if ${ARCH} == "armv6"
# bootstrap-openjdk is based on openjdk7 and can compile openjdk8
BOOTSTRAPJDKDIR?= ${LOCALBASE}/bootstrap-openjdk
BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:java/bootstrap-openjdk
diff --git a/java/openjdk8/files/patch-hotspot_src_cpu_zero_vm_cppInterpreter__zero.cpp b/java/openjdk8/files/patch-hotspot_src_cpu_zero_vm_cppInterpreter__zero.cpp
new file mode 100644
index 000000000000..90749da16631
--- /dev/null
+++ b/java/openjdk8/files/patch-hotspot_src_cpu_zero_vm_cppInterpreter__zero.cpp
@@ -0,0 +1,21 @@
+--- hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Mon Apr 25 21:03:53 2016 +0000
++++ hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Tue Apr 26 02:49:59 2016 +0100
+@@ -220,9 +220,16 @@
+ // Push our result
+ for (int i = 0; i < result_slots; i++) {
+ // Adjust result to smaller
+- intptr_t res = result[-i];
++ union {
++ intptr_t res;
++ jint res_jint;
++ };
++ res = result[-i];
+ if (result_slots == 1) {
+- res = narrow(method->result_type(), res);
++ BasicType t = method->result_type();
++ if (is_subword_type(t)) {
++ res_jint = (jint)narrow(t, res_jint);
++ }
+ }
+ stack->push(res);
+ }
diff --git a/java/openjdk8/files/patch-hotspot_src_os__cpu_bsd__zero_vm_os__bsd__zero.cpp b/java/openjdk8/files/patch-hotspot_src_os__cpu_bsd__zero_vm_os__bsd__zero.cpp
index 7c5a24426637..713d5c13c630 100644
--- a/java/openjdk8/files/patch-hotspot_src_os__cpu_bsd__zero_vm_os__bsd__zero.cpp
+++ b/java/openjdk8/files/patch-hotspot_src_os__cpu_bsd__zero_vm_os__bsd__zero.cpp
@@ -1,7 +1,25 @@
-clang objects to redefining builtins.
-
---- hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp.orig 2015-06-03 15:48:43 UTC
+--- hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp.orig 2014-03-04 02:52:15 UTC
+++ hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp
+@@ -60,8 +60,8 @@
+ #include "utilities/vmError.hpp"
+
+ address os::current_stack_pointer() {
+- address dummy = (address) &dummy;
+- return dummy;
++ // return the address of the current function
++ return (address)__builtin_frame_address(0);
+ }
+
+ frame os::get_sender_for_C_frame(frame* fr) {
+@@ -189,7 +189,7 @@
+ ShouldNotCallThis();
+ }
+ else*/ if (thread->thread_state() == _thread_in_vm &&
+- sig == SIGBUS && thread->doing_unsafe_access()) {
++ (sig == SIGSEGV || sig == SIGBUS) && thread->doing_unsafe_access()) {
+ ShouldNotCallThis();
+ }
+
@@ -446,21 +446,6 @@ extern "C" {
}
};
diff --git a/java/openjdk8/files/patch-hotspot_src_share_vm_interpreter_bytecodeInterpreter.cpp b/java/openjdk8/files/patch-hotspot_src_share_vm_interpreter_bytecodeInterpreter.cpp
new file mode 100644
index 000000000000..db6cd4de4eaa
--- /dev/null
+++ b/java/openjdk8/files/patch-hotspot_src_share_vm_interpreter_bytecodeInterpreter.cpp
@@ -0,0 +1,14 @@
+--- hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Mon Apr 25 21:03:53 2016 +0000
++++ hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Tue Apr 26 02:49:59 2016 +0100
+@@ -593,8 +593,9 @@
+ /* 0xDC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
+
+ /* 0xE0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
+-/* 0xE4 */ &&opc_default, &&opc_fast_aldc, &&opc_fast_aldc_w, &&opc_return_register_finalizer,
+-/* 0xE8 */ &&opc_invokehandle,&&opc_default, &&opc_default, &&opc_default,
++/* 0xE4 */ &&opc_default, &&opc_default, &&opc_fast_aldc, &&opc_fast_aldc_w,
++/* 0xE8 */ &&opc_return_register_finalizer,
++ &&opc_invokehandle, &&opc_default, &&opc_default,
+ /* 0xEC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
+
+ /* 0xF0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,