aboutsummaryrefslogtreecommitdiff
path: root/java/openjdk12
diff options
context:
space:
mode:
authorGreg Lewis <glewis@FreeBSD.org>2019-11-06 17:31:33 +0000
committerGreg Lewis <glewis@FreeBSD.org>2019-11-06 17:31:33 +0000
commit5ea34fbf091ade50f006be2e9f57d41b4d21ea79 (patch)
tree6a21a3603cacf714faed8608e1a3ab05dabb9573 /java/openjdk12
parentb9f03c4180184b2d8e4943cec510fd6be32440dc (diff)
downloadports-5ea34fbf091ade50f006be2e9f57d41b4d21ea79.tar.gz
ports-5ea34fbf091ade50f006be2e9f57d41b4d21ea79.zip
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 Sponsored by: The FreeBSD Foundation
Notes
Notes: svn path=/head/; revision=516907
Diffstat (limited to 'java/openjdk12')
-rw-r--r--java/openjdk12/Makefile3
-rw-r--r--java/openjdk12/files/extra-patch-src_hotspot_cpu_ppc_vm__version__ppc.hpp11
2 files changed, 14 insertions, 0 deletions
diff --git a/java/openjdk12/Makefile b/java/openjdk12/Makefile
index 9f22714aedc3..a6795d2eb15b 100644
--- a/java/openjdk12/Makefile
+++ b/java/openjdk12/Makefile
@@ -137,6 +137,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/openjdk12/files/extra-patch-src_hotspot_cpu_ppc_vm__version__ppc.hpp b/java/openjdk12/files/extra-patch-src_hotspot_cpu_ppc_vm__version__ppc.hpp
new file mode 100644
index 000000000000..1722d87b9665
--- /dev/null
+++ b/java/openjdk12/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; }