diff --git a/java/openjdk24/Makefile b/java/openjdk24/Makefile --- a/java/openjdk24/Makefile +++ b/java/openjdk24/Makefile @@ -36,7 +36,7 @@ USE_GITHUB= yes GH_ACCOUNT= freebsd GH_PROJECT= openjdk -GH_TAGNAME= jdk-24.0.2-ga-freebsd-1 +GH_TAGNAME= jdk-24.0.2-ga-freebsd-2 NO_CCACHE= yes @@ -65,7 +65,7 @@ JDK_MINOR_VERSION= 0 JDK_PATCH_VERSION= 2 JDK_BUILD_NUMBER= 12 -BSD_JDK_VERSION= 1 +BSD_JDK_VERSION= 2 JDK_BUG_URL= https://bugs.freebsd.org/bugzilla/enter_bug.cgi?product=Ports%20%26%20Packages&component=Individual%20Port(s)&short_desc=java/${PORTNAME}${JDK_MAJOR_VERSION}%3A%20 diff --git a/java/openjdk24/distinfo b/java/openjdk24/distinfo --- a/java/openjdk24/distinfo +++ b/java/openjdk24/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1752740904 -SHA256 (freebsd-openjdk-jdk-24.0.2+12-1-jdk-24.0.2-ga-freebsd-1_GH0.tar.gz) = 2d8ae839763932bbc5d85f1a129a0ec9c972af59b40eb2b3e7bacb238a67f132 -SIZE (freebsd-openjdk-jdk-24.0.2+12-1-jdk-24.0.2-ga-freebsd-1_GH0.tar.gz) = 120897722 +TIMESTAMP = 1756894463 +SHA256 (freebsd-openjdk-jdk-24.0.2+12-2-jdk-24.0.2-ga-freebsd-2_GH0.tar.gz) = 707a120215130b7d82a344f19ec801efaa70edaad38d6417fd1a47a6da58c395 +SIZE (freebsd-openjdk-jdk-24.0.2+12-2-jdk-24.0.2-ga-freebsd-2_GH0.tar.gz) = 120881959 diff --git a/java/openjdk24/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c b/java/openjdk24/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c deleted file mode 100644 --- a/java/openjdk24/files/patch-src_jdk.management_unix_native_libmanagement__ext_OperatingSystemImpl.c +++ /dev/null @@ -1,89 +0,0 @@ ---- src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c.orig 2023-10-01 03:54:04 UTC -+++ src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c -@@ -58,6 +58,7 @@ - #include - - #ifdef __FreeBSD__ -+#include - #include - #endif - -@@ -177,23 +178,43 @@ Java_com_sun_management_internal_OperatingSystemImpl_g - } - return t_info.virtual_size; - #elif defined(__FreeBSD__) -- FILE *fp; -- unsigned long end, start; -- jlong total = 0; -+ int mib[4]; -+ struct kinfo_vmentry *kve; -+ long total = 0; -+ size_t len = 0; -+ int error; -+ char *buf, *bp, *eb; - -- if ((fp = fopen("/proc/curproc/map", "r")) == NULL) { -- throw_internal_error(env, "Unable to open /proc/curproc/map"); -+ mib[0] = CTL_KERN; -+ mib[1] = KERN_PROC; -+ mib[2] = KERN_PROC_VMMAP; -+ mib[3] = getpid(); -+ error = sysctl(mib, 4, NULL, &len, NULL, 0); -+ if (error) { -+ throw_internal_error(env, "Cannot sysctl(kern.proc.vvmap)"); - return -1; - } -- -- for (;;) { -- // Ignore everything except start and end entries -- if (fscanf(fp, "0x%lx 0x%lx %*[^\n]\n", &start, &end) != 2 || start > end) -- break; -- total += end - start; -+ len = len * 4 / 3; -+ buf = malloc(len); -+ if (buf == NULL) { -+ throw_internal_error(env, "Fail to allocate memory"); -+ return -1; - } -- -- fclose(fp); -+ error = sysctl(mib, 4, buf, &len, NULL, 0); -+ if (error) { -+ throw_internal_error(env, "Cannot sysctl(kern.proc.vvmap)"); -+ return -1; -+ } -+ bp = buf; -+ eb = buf + len; -+ while (bp < eb) { -+ kve = (struct kinfo_vmentry *)(uintptr_t)bp; -+ if (kve->kve_structsize == 0) -+ break; -+ bp += kve->kve_structsize; -+ total += kve->kve_end - kve->kve_start; -+ } -+ free(buf); - return total; - #else /* _ALLBSD_SOURCE */ - /* -@@ -403,6 +424,21 @@ Java_com_sun_management_internal_OperatingSystemImpl_g - return nfiles; - #elif defined(__OpenBSD__) - return getdtablecount(); -+#elif defined(__FreeBSD__) -+ int mib[4]; -+ int error; -+ int nfds; -+ size_t len; -+ -+ len = sizeof(nfds); -+ mib[0] = CTL_KERN; -+ mib[1] = KERN_PROC; -+ mib[2] = KERN_PROC_NFDS; -+ mib[3] = 0; -+ -+ if (sysctl(mib, 4, &nfds, &len, NULL, 0) == -1) -+ return -1; -+ return nfds; - #else /* solaris/linux */ - DIR *dirp; - struct dirent* dentp;