git: 8e3dc6023118 - main - java/openjdk24: FreeBSD updates and fixes

From: Joseph Mingrone <jrm_at_FreeBSD.org>
Date: Thu, 25 Sep 2025 13:35:17 UTC
The branch main has been updated by jrm:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8e3dc60231183008cea882574020f74163db9b58

commit 8e3dc60231183008cea882574020f74163db9b58
Author:     Harald Eilertsen <haraldei@anduin.net>
AuthorDate: 2025-09-25 03:19:32 +0000
Commit:     Joseph Mingrone <jrm@FreeBSD.org>
CommitDate: 2025-09-25 13:32:44 +0000

    java/openjdk24: FreeBSD updates and fixes
    
    - Enable and fix demangling C++ symbols in the Servicability Agent for
      FreeBSD. This fixes several issues with backtraces and looking up
      symbols when debugging or inspecting programs running in the JVM.
    
    - Fix a performance issue when looking up committed memory size and
      number of open file handles via the OperatingSystemMXBean interface.
      This affected some large ElasticSearch clusters, but potentially also
      other large high performance systems.
    
    Reviewed by:    emaste, jrm
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D52354
---
 java/openjdk24/Makefile                            |  4 +-
 java/openjdk24/distinfo                            |  6 +-
 ...native_libmanagement__ext_OperatingSystemImpl.c | 89 ----------------------
 3 files changed, 5 insertions(+), 94 deletions(-)

diff --git a/java/openjdk24/Makefile b/java/openjdk24/Makefile
index 7c7d305592f1..3b2e0110d69e 100644
--- a/java/openjdk24/Makefile
+++ b/java/openjdk24/Makefile
@@ -36,7 +36,7 @@ CPE_VENDOR=	oracle
 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_MAJOR_VERSION=	24
 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
index 869ee42cffd6..d0f99f6fd72b 100644
--- 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
index 421548d0f4a5..000000000000
--- 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 <unistd.h>
- 
- #ifdef __FreeBSD__
-+#include <sys/user.h>
- #include <vm/vm_param.h>
- #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;