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
This commit is contained in:
Jung-uk Kim 2016-08-26 18:29:46 +00:00
parent eea12c7664
commit f0ff2870a0
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=420940
2 changed files with 11 additions and 10 deletions

View file

@ -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

View file

@ -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