summaryrefslogtreecommitdiff
path: root/java/openjdk8
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2016-08-26 18:29:46 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2016-08-26 18:29:46 +0000
commitf0ff2870a00a36f093fa7e2b80db466f5dad9753 (patch)
tree9ef31ecae2b91750d4228bd999c6b65842fbab39 /java/openjdk8
parentUpdate devel/rebar3 to version 3.3.0. (diff)
Make the FPU hack for ARM optional. Note this hack is not necessary for
VFPv3 or later, i.e., only VFPv1 and VFPv2 require this hack. https://svnweb.freebsd.org/changeset/base/288983
Diffstat (limited to 'java/openjdk8')
-rw-r--r--java/openjdk8/Makefile14
-rw-r--r--java/openjdk8/files/fpuhack.patch (renamed from java/openjdk8/files/armv6.patch)7
2 files changed, 11 insertions, 10 deletions
diff --git a/java/openjdk8/Makefile b/java/openjdk8/Makefile
index ba7c76cf10d5..ed1c17b745e0 100644
--- a/java/openjdk8/Makefile
+++ b/java/openjdk8/Makefile
@@ -234,10 +234,14 @@ CONFIGURE_SCRIPT= ../../configure
CONFIGURE_WRKSRC= ${WRKSRC}/common/autoconf
OPTIONS_DEFINE= POLICY TZUPDATE
+OPTIONS_DEFINE_armv6= FPUHACK
OPTIONS_DEFAULT= POLICY TZUPDATE
+OPTIONS_DEFAULT_armv6= FPUHACK
+FPUHACK_DESC= Hack denormalized numbers in flush-to-zero mode
POLICY_DESC= Install the Unlimited Strength Policy Files
TZUPDATE_DESC= Update the time zone data
+FPUHACK_EXTRA_PATCHES= ${PATCHDIR}/fpuhack.patch
POLICY_CONFIGURE_ENABLE= unlimited-crypto
TZUPDATE_RUN_DEPENDS= java-zoneinfo>0:java/java-zoneinfo
@@ -293,16 +297,6 @@ CONFIGURE_ARGS+= --with-boot-jdk-jvmargs="-Xmx768m"
MAKE_ENV+= JAVADOC_CMD_MEM="-Xmx768m"
.endif
-.if ${ARCH} == "armv6"
-# From NetBSD http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/lang/openjdk7/hacks.mk
-# Workaround incorrect constant folding of subnormals in javac when the FPU
-# does not handle subnormal arithmetic, like on ARM in Flush-to-zero mode.
-# These workarounds avoid underflow conditions during the bootstrap so the
-# JDK can correctly build itself. Compiling or running programs other than
-# openjdk itself on such hardware may still cause unexpected behaviour.
-EXTRA_PATCHES= ${PATCHDIR}/armv6.patch
-.endif
-
.if ${ARCH} == "amd64" || ${ARCH} == "i386"
JDK_BUILD_JVM= server
.else
diff --git a/java/openjdk8/files/armv6.patch b/java/openjdk8/files/fpuhack.patch
index 45037c33a18d..bc5ccdee138f 100644
--- a/java/openjdk8/files/armv6.patch
+++ b/java/openjdk8/files/fpuhack.patch
@@ -1,3 +1,10 @@
+From NetBSD http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/lang/openjdk7/hacks.mk
+Work around incorrect constant folding of subnormals in javac when the FPU
+does not handle subnormal arithmetic, like on ARM in flush-to-zero mode.
+These workarounds avoid underflow conditions during the bootstrap so the JDK
+can correctly build itself. Compiling or running programs other than OpenJDK
+itself on such hardware may still cause unexpected behaviour.
+
--- jdk/src/share/classes/java/lang/Double.java.orig 2014-03-04 02:57:59 UTC
+++ jdk/src/share/classes/java/lang/Double.java
@@ -86,7 +86,7 @@ public final class Double extends Number