summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Lewis <glewis@FreeBSD.org>2019-11-06 17:21:58 +0000
committerGreg Lewis <glewis@FreeBSD.org>2019-11-06 17:21:58 +0000
commitb9f03c4180184b2d8e4943cec510fd6be32440dc (patch)
tree5f79dcd3c920466b51607de638550891d4749c2a
parentUpdate bootstrap for openjdk11 (diff)
Fix build on FreeBSD 12.x/powerpc64 on POWER8+ machines
* Make sure has_mfdscr() returns false on these machines as using it on FreeBSD 12.x will cause problems (e.g. SIGILL). PR: 239368
Notes
Notes: svn path=/head/; revision=516906
-rw-r--r--java/openjdk11/Makefile3
-rw-r--r--java/openjdk11/files/extra-patch-src_hotspot_cpu_ppc_vm__version__ppc.hpp11
2 files changed, 14 insertions, 0 deletions
diff --git a/java/openjdk11/Makefile b/java/openjdk11/Makefile
index 5164ea3e356f..4cc0d996d91b 100644
--- a/java/openjdk11/Makefile
+++ b/java/openjdk11/Makefile
@@ -135,6 +135,9 @@ CONFIGURE_ARGS+= --disable-warnings-as-errors \
.if ${ARCH} != amd64
CONFIGURE_ARGS+= --enable-aot=no
.endif
+.if ${ARCH} == powerpc64 && ${OSREL:C/\.[0-9]//} == 12
+EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_hotspot_cpu_ppc_vm__version__ppc.hpp
+.endif
.if empty(ICONV_LIB)
ICONV_CFLAGS= -DLIBICONV_PLUG
diff --git a/java/openjdk11/files/extra-patch-src_hotspot_cpu_ppc_vm__version__ppc.hpp b/java/openjdk11/files/extra-patch-src_hotspot_cpu_ppc_vm__version__ppc.hpp
new file mode 100644
index 000000000000..1722d87b9665
--- /dev/null
+++ b/java/openjdk11/files/extra-patch-src_hotspot_cpu_ppc_vm__version__ppc.hpp
@@ -0,0 +1,11 @@
+--- src/hotspot/cpu/ppc/vm_version_ppc.hpp.orig 2019-10-16 11:31:09.000000000 -0700
++++ src/hotspot/cpu/ppc/vm_version_ppc.hpp 2019-10-23 12:54:06.972903000 -0700
+@@ -108,7 +108,7 @@
+ static bool has_lqarx() { return (_features & lqarx_m) != 0; }
+ static bool has_vcipher() { return (_features & vcipher_m) != 0; }
+ static bool has_vpmsumb() { return (_features & vpmsumb_m) != 0; }
+- static bool has_mfdscr() { return (_features & mfdscr_m) != 0; }
++ static bool has_mfdscr() { return false; }
+ static bool has_vsx() { return (_features & vsx_m) != 0; }
+ static bool has_ldbrx() { return (_features & ldbrx_m) != 0; }
+ static bool has_stdbrx() { return (_features & stdbrx_m) != 0; }