aboutsummaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorGreg Lewis <glewis@FreeBSD.org>2019-08-30 04:26:01 +0000
committerGreg Lewis <glewis@FreeBSD.org>2019-08-30 04:26:01 +0000
commit9de148ec504827d39ab9f417d9ae6fdcfc538043 (patch)
treeee816ccc942e31b99243bc136b2b4ced594612cc /java
parent24a7e726a200aa2445ebd76095fdadcee539a7a4 (diff)
downloadports-9de148ec504827d39ab9f417d9ae6fdcfc538043.tar.gz
ports-9de148ec504827d39ab9f417d9ae6fdcfc538043.zip
Prepare for aarch64 support
* Add necessary configure arguments for aarch64 * Add patches needed to compile on aarch64. These have been upstreamed but are not in a release yet.
Notes
Notes: svn path=/head/; revision=510232
Diffstat (limited to 'java')
-rw-r--r--java/openjdk12/Makefile5
-rw-r--r--java/openjdk12/files/patch-src_hotspot_cpu_aarch64_vm__version__aarch64.cpp13
-rw-r--r--java/openjdk12/files/patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp61
3 files changed, 79 insertions, 0 deletions
diff --git a/java/openjdk12/Makefile b/java/openjdk12/Makefile
index b47e4dee2196..b0bacd365076 100644
--- a/java/openjdk12/Makefile
+++ b/java/openjdk12/Makefile
@@ -127,6 +127,11 @@ CONFIGURE_ARGS+= --disable-warnings-as-errors \
MAKE_ENV+= USE_CLANG=true
.endif
+.if ${ARCH} == aarch64
+CONFIGURE_ARGS+= --disable-warnings-as-errors \
+ --disable-dtrace
+.endif
+
.if empty(ICONV_LIB)
ICONV_CFLAGS= -DLIBICONV_PLUG
.else
diff --git a/java/openjdk12/files/patch-src_hotspot_cpu_aarch64_vm__version__aarch64.cpp b/java/openjdk12/files/patch-src_hotspot_cpu_aarch64_vm__version__aarch64.cpp
new file mode 100644
index 000000000000..43d30609a667
--- /dev/null
+++ b/java/openjdk12/files/patch-src_hotspot_cpu_aarch64_vm__version__aarch64.cpp
@@ -0,0 +1,13 @@
+--- src/hotspot/cpu/aarch64/vm_version_aarch64.cpp
++++ src/hotspot/cpu/aarch64/vm_version_aarch64.cpp
+@@ -45,6 +45,10 @@
+ #define getauxval(hwcap) 0
+ #endif
+
++#ifndef HWCAP_ASIMD
++#define HWCAP_ASIMD (1<<1)
++#endif
++
+ #ifndef HWCAP_AES
+ #define HWCAP_AES (1<<3)
+ #endif
diff --git a/java/openjdk12/files/patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp b/java/openjdk12/files/patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp
new file mode 100644
index 000000000000..49ccc99bb889
--- /dev/null
+++ b/java/openjdk12/files/patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp
@@ -0,0 +1,61 @@
+--- src/hotspot/os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp
++++ src/hotspot/os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp
+@@ -32,6 +32,50 @@
+ #include <machine/elf.h>
+ #endif
+
++#ifndef HWCAP_ASIMD
++#define HWCAP_ASIMD (1<<1)
++#endif
++
++#ifndef HWCAP_AES
++#define HWCAP_AES (1<<3)
++#endif
++
++#ifndef HWCAP_PMULL
++#define HWCAP_PMULL (1<<4)
++#endif
++
++#ifndef HWCAP_SHA1
++#define HWCAP_SHA1 (1<<5)
++#endif
++
++#ifndef HWCAP_SHA2
++#define HWCAP_SHA2 (1<<6)
++#endif
++
++#ifndef HWCAP_CRC32
++#define HWCAP_CRC32 (1<<7)
++#endif
++
++#ifndef HWCAP_ATOMICS
++#define HWCAP_ATOMICS (1<<8)
++#endif
++
++#ifndef ID_AA64PFR0_AdvSIMD_SHIFT
++#define ID_AA64PFR0_AdvSIMD_SHIFT 20
++#endif
++
++#ifndef ID_AA64PFR0_AdvSIMD
++#define ID_AA64PFR0_AdvSIMD(x) ((x) & (UL(0xf) << ID_AA64PFR0_AdvSIMD_SHIFT))
++#endif
++
++#ifndef ID_AA64PFR0_AdvSIMD_IMPL
++#define ID_AA64PFR0_AdvSIMD_IMPL (UL(0x0) << ID_AA64PFR0_AdvSIMD_SHIFT)
++#endif
++
++#ifndef ID_AA64PFR0_AdvSIMD_HP
++#define ID_AA64PFR0_AdvSIMD_HP (UL(0x1) << ID_AA64PFR0_AdvSIMD_SHIFT)
++#endif
++
+ #define CPU_IMPL_ARM 0x41
+ #define CPU_IMPL_BROADCOM 0x42
+ #define CPU_IMPL_CAVIUM 0x43
+@@ -113,6 +157,7 @@
+ #define CPU_PART(midr) (((midr) >> 4) & 0xfff)
+ #define CPU_VAR(midr) (((midr) >> 20) & 0xf)
+ #define CPU_REV(midr) (((midr) >> 0) & 0xf)
++#define UL(x) UINT64_C(x)
+
+ struct cpu_desc {
+ u_int cpu_impl;