Download raw body.
[update] devel/jdk/11 add sparc64 support
I've been chipping away at adding sparc64 support to jdk/11 for
a while now. I made the push to finish it off and commit it
upstream. I believe it is ready for release now.
okay?
Index: java.port.mk
===================================================================
RCS file: /cvs/ports/devel/jdk/java.port.mk,v
retrieving revision 1.43
diff -u -p -u -r1.43 java.port.mk
--- java.port.mk 11 Dec 2023 14:38:55 -0000 1.43
+++ java.port.mk 8 May 2024 02:19:22 -0000
@@ -27,7 +27,7 @@ MODJAVA_VER?=
ERRORS+="with an optional + suffix."
.endif
-.if ${MODJAVA_VER:S/+//} == "1.8"
+.if ${MODJAVA_VER:S/+//} == "1.8" || ${MODJAVA_VER:S/+//} == "11"
ONLY_FOR_ARCHS?= i386 amd64 aarch64 sparc64
.else
ONLY_FOR_ARCHS?= i386 amd64 aarch64
Index: 11/Makefile
===================================================================
RCS file: /cvs/ports/devel/jdk/11/Makefile,v
retrieving revision 1.59
diff -u -p -u -r1.59 Makefile
--- 11/Makefile 1 May 2024 20:55:10 -0000 1.59
+++ 11/Makefile 8 May 2024 02:19:22 -0000
@@ -1,4 +1,4 @@
-ONLY_FOR_ARCHS= i386 amd64 aarch64
+ONLY_FOR_ARCHS= i386 amd64 aarch64 sparc64
USE_WXNEEDED= Yes
USE_NOBTCFI= Yes
DPB_PROPERTIES= parallel
@@ -6,7 +6,7 @@ DPB_PROPERTIES= parallel
COMMENT= OpenJDK Software Development Kit v${VERSION_STR}
BASE_VER= 11.0.23
PATCH_VER= 9
-BSD_PORT_REL= 1
+BSD_PORT_REL= 2
VERSION_STR= ${BASE_VER}+${PATCH_VER}-${BSD_PORT_REL}
PACKAGE_VER= ${BASE_VER}.${PATCH_VER}.${BSD_PORT_REL}
PKGNAME= jdk-${PACKAGE_VER}
@@ -44,7 +44,8 @@ NO_TEST= Yes
SUPDISTFILES.boot = \
openjdk-jdk11u-bootjdk-i386-${BOOTJDK_DATE}.tar.gz \
openjdk-jdk11u-bootjdk-amd64-${BOOTJDK_DATE}.tar.gz \
- openjdk-jdk11u-bootjdk-aarch64-${BOOTJDK_DATE}.tar.gz
+ openjdk-jdk11u-bootjdk-aarch64-${BOOTJDK_DATE}.tar.gz \
+ openjdk-jdk11u-bootjdk-sparc64-${BOOTJDK_DATE}.tar.gz
COMPILER= base-clang ports-gcc
@@ -59,7 +60,8 @@ BUILD_DEPENDS+= jdk->=11v0,<12v0:devel/j
BOOT_JDK= ${LOCALBASE}/jdk-11
.else
BOOT_JDK_DIST= openjdk-jdk11u-bootjdk-${MACHINE_ARCH}-${BOOTJDK_DATE}.tar.gz
-. if (${MACHINE_ARCH}==amd64) || (${MACHINE_ARCH}==i386) || (${MACHINE_ARCH}==aarch64)
+. if (${MACHINE_ARCH}==amd64) || (${MACHINE_ARCH}==i386) || \
+ (${MACHINE_ARCH}==aarch64) || (${MACHINE_ARCH}==sparc64)
DISTFILES.boot= ${BOOT_JDK_DIST}
. endif
MAKE_ENV+= LD_LIBRARY_PATH=${WRKDIR}/bootjdk-libs
@@ -111,6 +113,7 @@ CONFIGURE_ARGS= DOT="" FLOCK="" GIT="" H
--with-giflib=system \
--with-giflib-include=${LOCALBASE}/include \
--with-giflib-lib=${LOCALBASE}/lib \
+ --with-stdc++lib=dynamic \
--disable-option-checking \
--disable-ccache \
--disable-hotspot-gtest \
@@ -150,7 +153,7 @@ PKG_ARGS+= -Dci=1
PKG_ARGS+= -Dci=0
.endif
-JVMARCH= ${MACHINE_ARCH:S/i386/x86/:S/amd64/x86_64/}
+JVMARCH= ${MACHINE_ARCH:S/i386/x86/:S/amd64/x86_64/:S/sparc64/sparcv9/}
BUILDDIR= ${WRKDIST}/build/bsd-${JVMARCH}-normal-server-release
IMAGEDIR= ${BUILDDIR}/images/jdk
WRKTMP= ${WRKDIR}/tmp
Index: 11/distinfo
===================================================================
RCS file: /cvs/ports/devel/jdk/11/distinfo,v
retrieving revision 1.28
diff -u -p -u -r1.28 distinfo
--- 11/distinfo 1 May 2024 20:55:10 -0000 1.28
+++ 11/distinfo 8 May 2024 02:19:22 -0000
@@ -1,8 +1,10 @@
-SHA256 (jdk/jdk-11.0.23+9-1.tar.gz) = VhXVLxIwL0yRoA2jtMwMjS17paibiY3H5ET6CEOQBAA=
+SHA256 (jdk/jdk-11.0.23+9-2.tar.gz) = 3StfPuSAq7KH17NtXsn6AtPUoTQYKNss4nA1JYyOEf8=
SHA256 (jdk/openjdk-jdk11u-bootjdk-aarch64-20240331.tar.gz) = 6skKydxPeLmFShPvL3bEFAhpQCZtABnsr3lZAQNLhBo=
SHA256 (jdk/openjdk-jdk11u-bootjdk-amd64-20240331.tar.gz) = jL36o7kWGZ3V92z+P9iuwXjy7/sajPCO0hNQhmPpvfU=
SHA256 (jdk/openjdk-jdk11u-bootjdk-i386-20240331.tar.gz) = B/UNqvHV7dTlo00uNzK1DZs1Pxftujj7O0ojDTi3sQ8=
-SIZE (jdk/jdk-11.0.23+9-1.tar.gz) = 116449887
+SHA256 (jdk/openjdk-jdk11u-bootjdk-sparc64-20240331.tar.gz) = eU7fzUu7xWUcrkacuv25/18rzC/w7grqOL1rW3FzwdM=
+SIZE (jdk/jdk-11.0.23+9-2.tar.gz) = 116467928
SIZE (jdk/openjdk-jdk11u-bootjdk-aarch64-20240331.tar.gz) = 114820919
SIZE (jdk/openjdk-jdk11u-bootjdk-amd64-20240331.tar.gz) = 115315575
SIZE (jdk/openjdk-jdk11u-bootjdk-i386-20240331.tar.gz) = 104499540
+SIZE (jdk/openjdk-jdk11u-bootjdk-sparc64-20240331.tar.gz) = 107472498
Index: 11/patches/patch-src_hotspot_os_bsd_os_bsd_cpp
===================================================================
RCS file: 11/patches/patch-src_hotspot_os_bsd_os_bsd_cpp
diff -N 11/patches/patch-src_hotspot_os_bsd_os_bsd_cpp
--- 11/patches/patch-src_hotspot_os_bsd_os_bsd_cpp 2 May 2024 15:42:52 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-Use the correct number of cpus when hw.smt=0
-
-Index: src/hotspot/os/bsd/os_bsd.cpp
---- src/hotspot/os/bsd/os_bsd.cpp.orig
-+++ src/hotspot/os/bsd/os_bsd.cpp
-@@ -327,7 +327,11 @@ void os::Bsd::initialize_system_info() {
-
- // get processors count via hw.ncpus sysctl
- mib[0] = CTL_HW;
-+#if defined(HW_NCPUONLINE)
-+ mib[1] = HW_NCPUONLINE;
-+#else
- mib[1] = HW_NCPU;
-+#endif
- len = sizeof(cpu_val);
- if (sysctl(mib, 2, &cpu_val, &len, NULL, 0) != -1 && cpu_val >= 1) {
- assert(len == sizeof(cpu_val), "unexpected data size");
Index: 11/patches/patch-src_hotspot_share_gc_shared_gc_globals_hpp
===================================================================
RCS file: 11/patches/patch-src_hotspot_share_gc_shared_gc_globals_hpp
diff -N 11/patches/patch-src_hotspot_share_gc_shared_gc_globals_hpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 11/patches/patch-src_hotspot_share_gc_shared_gc_globals_hpp 8 May 2024 02:19:22 -0000
@@ -0,0 +1,19 @@
+Reduce the number of sched_yield(2) before sleeping 10ms to work-around an
+issue on sparc64
+
+Index: src/hotspot/share/gc/shared/gc_globals.hpp
+--- src/hotspot/share/gc/shared/gc_globals.hpp.orig
++++ src/hotspot/share/gc/shared/gc_globals.hpp
+@@ -376,10 +376,10 @@
+ develop(uintx, PromotionFailureALotInterval, 5, \
+ "Total collections between promotion failures a lot") \
+ \
+- experimental(uintx, WorkStealingSleepMillis, 1, \
++ experimental(uintx, WorkStealingSleepMillis, 10, \
+ "Sleep time when sleep is used for yields") \
+ \
+- experimental(uintx, WorkStealingYieldsBeforeSleep, 5000, \
++ experimental(uintx, WorkStealingYieldsBeforeSleep, 1, \
+ "Number of yields before a sleep is done during work stealing") \
+ \
+ experimental(uintx, WorkStealingHardSpins, 4096, \
[update] devel/jdk/11 add sparc64 support