On Fri, 2019-09-20 at 15:18 -0400, k...@intricatesoftware.com wrote:
> 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.

ulimit -Sd 1572864 works to build the jdk on aarch64.

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

Reply via email to