Update devel/jdk/11 to 11.0.5+8 which includes aarch64 support. * 11.0.5 is not released officially yet so this is realy a pre- release of 11.0.5 and will be updated again when the final upstream release occurs. * Adds aarch64 support. * Contains many upstream changes between 11.0.4+11 and 11.0.5+8 * Contains many bsd-port changes to improve stablity and compatiblity. * Update java.port.mk module to support jdk/11 only on aarch64. * aarch64 pbuild data size limit may need to be bumped - working that out now.
Index: java.port.mk =================================================================== RCS file: /cvs/ports/devel/jdk/java.port.mk,v retrieving revision 1.37 diff -u -p -u -r1.37 java.port.mk --- java.port.mk 11 Jun 2019 00:36:04 -0000 1.37 +++ java.port.mk 20 Sep 2019 19:02:14 -0000 @@ -5,7 +5,6 @@ # version. Valid values for x.y are 1.8 or 11. MODJAVA_VER?= -ONLY_FOR_ARCHS?= i386 amd64 # Based on the MODJAVA_VER, NO_BUILD and MACHINE_ARCH, the following # things will be setup: @@ -25,14 +24,27 @@ ONLY_FOR_ARCHS?= i386 amd64 # to set the default JAVA_HOME or JAVACMD vars for a package. # -.if ${MODJAVA_VER:S/+//} == "1.8" - JAVA_HOME= ${LOCALBASE}/jdk-1.8.0 - MODJAVA_BUILD_DEPENDS= jdk->=1.8v0,<1.9v0:devel/jdk/1.8 -.elif ${MODJAVA_VER:S/+//} == "11" +.if ${MODJAVA_VER:S/+//} != "1.8" && ${MODJAVA_VER:S/+//} != "11" + ERRORS+="Fatal: MODJAVA_VER must be set to a valid value." +.endif + +.if ${MODJAVA_VER} == "1.8" + ONLY_FOR_ARCHS?= i386 amd64 +.else + ONLY_FOR_ARCHS?= i386 amd64 aarch64 +.endif + +.if ${MACHINE_ARCH} == "aarch64" JAVA_HOME= ${LOCALBASE}/jdk-11 MODJAVA_BUILD_DEPENDS+= jdk->=11v0,<12v0:devel/jdk/11 .else - ERRORS+="Fatal: MODJAVA_VER must be set to a valid value." +. if ${MODJAVA_VER:S/+//} == "1.8" + JAVA_HOME= ${LOCALBASE}/jdk-1.8.0 + MODJAVA_BUILD_DEPENDS= jdk->=1.8v0,<1.9v0:devel/jdk/1.8 +. else + JAVA_HOME= ${LOCALBASE}/jdk-11 + MODJAVA_BUILD_DEPENDS+= jdk->=11v0,<12v0:devel/jdk/11 +. endif .endif .if ${MODJAVA_VER:M*+} Index: 11/Makefile =================================================================== RCS file: /cvs/ports/devel/jdk/11/Makefile,v retrieving revision 1.9 diff -u -p -u -r1.9 Makefile --- 11/Makefile 13 Sep 2019 16:18:33 -0000 1.9 +++ 11/Makefile 20 Sep 2019 19:02:14 -0000 @@ -1,12 +1,12 @@ # $OpenBSD: Makefile,v 1.9 2019/09/13 16:18:33 kurt Exp $ -ONLY_FOR_ARCHS= i386 amd64 +ONLY_FOR_ARCHS= i386 amd64 aarch64 USE_WXNEEDED= Yes DPB_PROPERTIES= parallel COMMENT= OpenJDK Software Development Kit v${VERSION_STR} -BASE_VER= 11.0.4 -PATCH_VER= 11 +BASE_VER= 11.0.5 +PATCH_VER= 8 BSD_PORT_REL= 1 VERSION_STR= ${BASE_VER}+${PATCH_VER}-${BSD_PORT_REL} PACKAGE_VER= ${BASE_VER}.${PATCH_VER}.${BSD_PORT_REL} @@ -18,7 +18,7 @@ DIST_SUBDIR= jdk DISTNAME= jdk-${VERSION_STR} DISTFILES= ${DISTNAME}${EXTRACT_SUFX} WRKDIST= ${WRKDIR}/openjdk-jdk11u-jdk-${BASE_VER}-${PATCH_VER}-${BSD_PORT_REL} -BOOTJDK_DATE= 20190325 +BOOTJDK_DATE= 20190919 CATEGORIES= devel/jdk java @@ -42,7 +42,8 @@ WANTLIB += iconv jpeg lcms2 m png pthrea NO_TEST= Yes SUPDISTFILES+= openjdk-jdk11u-bootjdk-i386-${BOOTJDK_DATE}.tar.gz:1 \ - openjdk-jdk11u-bootjdk-amd64-${BOOTJDK_DATE}.tar.gz:1 + openjdk-jdk11u-bootjdk-amd64-${BOOTJDK_DATE}.tar.gz:1 \ + openjdk-jdk11u-bootjdk-aarch64-${BOOTJDK_DATE}.tar.gz:1 COMPILER= base-clang ports-gcc @@ -56,8 +57,8 @@ ERRORS += "Fatal: This flavor requires a BUILD_DEPENDS+= jdk->=11v0,<12v0:devel/jdk/11 BOOT_JDK= ${LOCALBASE}/jdk-11 .else -BOOT_JDK_DIST= openjdk-jdk11u-bootjdk-${ARCH}-${BOOTJDK_DATE}.tar.gz -. if (${ARCH}==amd64) || (${ARCH}==i386) +BOOT_JDK_DIST= openjdk-jdk11u-bootjdk-${MACHINE_ARCH}-${BOOTJDK_DATE}.tar.gz +. if (${MACHINE_ARCH}==amd64) || (${MACHINE_ARCH}==i386) || (${MACHINE_ARCH}==aarch64) DISTFILES+= ${BOOT_JDK_DIST}:1 . endif MAKE_ENV+= LD_LIBRARY_PATH=${WRKDIR}/bootjdk-libs @@ -128,6 +129,14 @@ PKG_ARGS+= -Daot=1 PKG_ARGS+= -Daot=0 .endif +.if ${MACHINE_ARCH} == "aarch64" +# aot is not working yet on aarch64 +CONFIGURE_ARGS+=--enable-aot=no +PKG_ARGS+= -Dci=1 +.else +PKG_ARGS+= -Dci=0 +.endif + JVMARCH= ${MACHINE_ARCH:S/i386/x86/:S/amd64/x86_64/} IMAGEDIR= ${WRKDIST}/build/bsd-${JVMARCH}-normal-server-release/images/jdk WRKTMP= ${WRKDIR}/tmp @@ -156,7 +165,7 @@ build-bootjdk: build find ${WRKTMP}/bootjdk -type f -perm -500 -exec ldd {} \; 2>/dev/null | \ grep rlib | cut -d"/" -f 2-20 | sort -u | grep -v "\.so$$" | \ xargs -I % cp /% ${WRKTMP}/bootjdk-libs - @cd ${WRKTMP} && tar czf openjdk-jdk11u-bootjdk-${ARCH}-$$(date +%Y%m%d).tar.gz bootjdk* - @echo "New bootjdk is located at ${WRKTMP}/openjdk-jdk11u-bootjdk-${ARCH}-$$(date +%Y%m%d).tar.gz" + @cd ${WRKTMP} && tar czf openjdk-jdk11u-bootjdk-${MACHINE_ARCH}-$$(date +%Y%m%d).tar.gz bootjdk* + @echo "New bootjdk is located at ${WRKTMP}/openjdk-jdk11u-bootjdk-${MACHINE_ARCH}-$$(date +%Y%m%d).tar.gz" .include <bsd.port.mk> Index: 11/distinfo =================================================================== RCS file: /cvs/ports/devel/jdk/11/distinfo,v retrieving revision 1.4 diff -u -p -u -r1.4 distinfo --- 11/distinfo 23 Jul 2019 11:55:42 -0000 1.4 +++ 11/distinfo 20 Sep 2019 19:02:14 -0000 @@ -1,6 +1,8 @@ -SHA256 (jdk/jdk-11.0.4+11-1.tar.gz) = 7tCx3DDRbhTvRwGGyf4hw24C2pXyZXdUuEAuhLgDllw= -SHA256 (jdk/openjdk-jdk11u-bootjdk-amd64-20190325.tar.gz) = uADjYEnch2TUXtDpWe9rAfgLXR7NvqOKsOrdpKH4qNY= -SHA256 (jdk/openjdk-jdk11u-bootjdk-i386-20190325.tar.gz) = nI7/p0nVpFbiD01gpCl5QSfjtOeI/41PumOKfK/HeOA= -SIZE (jdk/jdk-11.0.4+11-1.tar.gz) = 116997649 -SIZE (jdk/openjdk-jdk11u-bootjdk-amd64-20190325.tar.gz) = 113818989 -SIZE (jdk/openjdk-jdk11u-bootjdk-i386-20190325.tar.gz) = 101841640 +SHA256 (jdk/jdk-11.0.5+8-1.tar.gz) = 9jkYgaNzlXD9KcZKStlYBh2YP5amkmeowkf/h0IXdKc= +SHA256 (jdk/openjdk-jdk11u-bootjdk-aarch64-20190919.tar.gz) = Rt/ZLdUf8FZXf2Ss7uw7aDHkrNCW/CN/AOdL0sj/CF8= +SHA256 (jdk/openjdk-jdk11u-bootjdk-amd64-20190919.tar.gz) = sOBqXutJcjIJC2HBAHKl5RwDObxMvaxNO5VtNfReWus= +SHA256 (jdk/openjdk-jdk11u-bootjdk-i386-20190919.tar.gz) = ixD5L58A+3YBMi9Ve+2bWn6CCHmdCGhDzALRCIVCc4U= +SIZE (jdk/jdk-11.0.5+8-1.tar.gz) = 117115267 +SIZE (jdk/openjdk-jdk11u-bootjdk-aarch64-20190919.tar.gz) = 103258821 +SIZE (jdk/openjdk-jdk11u-bootjdk-amd64-20190919.tar.gz) = 113594555 +SIZE (jdk/openjdk-jdk11u-bootjdk-i386-20190919.tar.gz) = 102061258 Index: 11/patches/patch-make_autoconf_flags-cflags_m4 =================================================================== RCS file: 11/patches/patch-make_autoconf_flags-cflags_m4 diff -N 11/patches/patch-make_autoconf_flags-cflags_m4 --- 11/patches/patch-make_autoconf_flags-cflags_m4 23 Jul 2019 11:55:42 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,25 +0,0 @@ -$OpenBSD: patch-make_autoconf_flags-cflags_m4,v 1.1 2019/07/23 11:55:42 kurt Exp $ - -On x86 (32bit) with clang add -mstackrealign to JVM CFLAGS: -* On x86 32bit, the JVM builds with -mstack-alignment=16 which is - required for SSE instruction support in hotstpot. However, this option - only maintains 16 byte alignment and does not realign the stack when - called from native i386 code with 4 byte alignment. Jdk 8 had this - option as well and was lost in the refactoring of the JDK in later - versions. -* It also corrects fastdebug build assert failures in stubRoutines.cpp. - -Index: make/autoconf/flags-cflags.m4 ---- make/autoconf/flags-cflags.m4.orig -+++ make/autoconf/flags-cflags.m4 -@@ -519,6 +519,10 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER], - # works for all platforms. - TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -mno-omit-leaf-frame-pointer -mstack-alignment=16" - -+ if test "x$OPENJDK_TARGET_CPU" = xx86; then -+ TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -mstackrealign" -+ fi -+ - if test "x$OPENJDK_TARGET_OS" = xlinux; then - TOOLCHAIN_CFLAGS_JDK="-pipe" - TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX Index: 11/patches/patch-make_hotspot_lib_JvmOverrideFiles_gmk =================================================================== RCS file: 11/patches/patch-make_hotspot_lib_JvmOverrideFiles_gmk diff -N 11/patches/patch-make_hotspot_lib_JvmOverrideFiles_gmk --- 11/patches/patch-make_hotspot_lib_JvmOverrideFiles_gmk 23 Jul 2019 11:55:42 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,34 +0,0 @@ -$OpenBSD: patch-make_hotspot_lib_JvmOverrideFiles_gmk,v 1.1 2019/07/23 11:55:42 kurt Exp $ - -Reduce optimization level for parse2.cpp on x86 with clang: -* jtreg test hotspot/jtreg/compiler/c2/Test8062950.java fails when - parse2.cpp is optimized above -O1 with clang on x86. - -Index: make/hotspot/lib/JvmOverrideFiles.gmk ---- make/hotspot/lib/JvmOverrideFiles.gmk.orig -+++ make/hotspot/lib/JvmOverrideFiles.gmk -@@ -210,6 +210,14 @@ else ifeq ($(OPENJDK_TARGET_OS), bsd) - endif - - ifeq ($(TOOLCHAIN_TYPE), clang) -+ ifeq ($(OPENJDK_TARGET_CPU), x86) -+ ifneq ($(DEBUG_LEVEL), slowdebug) -+ # hotspot/jtreg/compiler/c2/Test8062950.java test fails on x86 -+ # with clang when parse2.cpp is optimized above -O1 -+ BUILD_LIBJVM_parse2.cpp_CXXFLAGS := -O1 -+ endif -+ endif -+ - # The following files are compiled at various optimization - # levels due to optimization issues encountered at the - # default level. The Clang compiler issues a compile -@@ -224,7 +232,8 @@ else ifeq ($(OPENJDK_TARGET_OS), bsd) - sharedRuntimeTrig.cpp \ - sharedRuntimeTrans.cpp \ - loopTransform.cpp \ -- unsafe.cpp -+ unsafe.cpp \ -+ parse2.cpp \ - # - endif - Index: 11/patches/patch-src_hotspot_os_cpu_bsd_x86_os_bsd_x86_cpp =================================================================== RCS file: 11/patches/patch-src_hotspot_os_cpu_bsd_x86_os_bsd_x86_cpp diff -N 11/patches/patch-src_hotspot_os_cpu_bsd_x86_os_bsd_x86_cpp --- 11/patches/patch-src_hotspot_os_cpu_bsd_x86_os_bsd_x86_cpp 23 Jul 2019 11:55:42 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,41 +0,0 @@ -$OpenBSD: patch-src_hotspot_os_cpu_bsd_x86_os_bsd_x86_cpp,v 1.1 2019/07/23 11:55:42 kurt Exp $ - -Enable os::verify_stack_alignment() on BSD: -* Add implementation for stack alignment checking. -* Disable optimization on os::current_stack_pointer() for clang to - prevent clang from optimizing away the stack alignment on x86 and to - prevent inlining into os::verify_stack_alignment() which also gets - over optimized and breaks the checking of stack alignment. - -Index: src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ---- src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp.orig -+++ src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp -@@ -271,16 +271,18 @@ - # endif - #endif - --address os::current_stack_pointer() { - #if defined(__clang__) || defined(__llvm__) -+address os::current_stack_pointer() __attribute__ ((optnone)) { - intptr_t* esp; - __asm__ __volatile__ ("mov %%" SPELL_REG_SP ", %0":"=r"(esp):); - return (address) esp; -+} - #else -+address os::current_stack_pointer() { - register void *esp __asm__ (SPELL_REG_SP); - return (address) esp; --#endif - } -+#endif - - char* os::non_memory_address_word() { - // Must never look like an address returned by reserve_memory, -@@ -975,6 +977,7 @@ void os::setup_fpu() { - - #ifndef PRODUCT - void os::verify_stack_alignment() { -+ assert(((intptr_t)os::current_stack_pointer() & (StackAlignmentInBytes-1)) == 0, "incorrect stack alignment"); - } - #endif - Index: 11/pkg/PFRAG.ci =================================================================== RCS file: 11/pkg/PFRAG.ci diff -N 11/pkg/PFRAG.ci --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 11/pkg/PFRAG.ci 20 Sep 2019 19:02:14 -0000 @@ -0,0 +1,6 @@ +@comment $OpenBSD: PFRAG.ci,v$ +jdk-11/jmods/jdk.internal.vm.ci.jmod +jdk-11/legal/jdk.internal.vm.ci/ +jdk-11/legal/jdk.internal.vm.ci/ADDITIONAL_LICENSE_INFO +jdk-11/legal/jdk.internal.vm.ci/ASSEMBLY_EXCEPTION +jdk-11/legal/jdk.internal.vm.ci/LICENSE Index: 11/pkg/PLIST =================================================================== RCS file: /cvs/ports/devel/jdk/11/pkg/PLIST,v retrieving revision 1.1.1.1 diff -u -p -u -r1.1.1.1 PLIST --- 11/pkg/PLIST 28 Mar 2019 17:47:53 -0000 1.1.1.1 +++ 11/pkg/PLIST 20 Sep 2019 19:02:14 -0000 @@ -677,3 +677,4 @@ jdk-11/man/man1/ jdk-11/release share/doc/pkg-readmes/${PKGSTEM} %%aot%% +%%ci%%