diff options
Diffstat (limited to 'java/openjdk8')
-rw-r--r-- | java/openjdk8/Makefile | 4 | ||||
-rw-r--r-- | java/openjdk8/distinfo | 8 | ||||
-rw-r--r-- | java/openjdk8/files/patch-jdk_src_solaris_native_sun_management_OperatingSystemImpl.c | 90 | ||||
-rw-r--r-- | java/openjdk8/pkg-message | 6 |
4 files changed, 98 insertions, 10 deletions
diff --git a/java/openjdk8/Makefile b/java/openjdk8/Makefile index 7e8727685aa0..85c0ae16a984 100644 --- a/java/openjdk8/Makefile +++ b/java/openjdk8/Makefile @@ -53,8 +53,8 @@ INSTALLDIR= ${PREFIX}/${PKGBASE} NOPRECIOUSMAKEVARS= yes JDK_MAJOR_VERSION= 8 -JDK_UPDATE_VERSION= 452 -JDK_BUILD_NUMBER= 09 +JDK_UPDATE_VERSION= 462 +JDK_BUILD_NUMBER= 08 BSD_JDK_VERSION= 1 JTREG_VERSION= 4.1 JTREG_BUILD_NUMBER= b08 diff --git a/java/openjdk8/distinfo b/java/openjdk8/distinfo index def6a524e9ab..87c0b9931cf8 100644 --- a/java/openjdk8/distinfo +++ b/java/openjdk8/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1745107911 +TIMESTAMP = 1753419636 SHA256 (jtreg4.1-b08.tar.gz) = a9fbfac903313c12687e60978c4688c20189cdf873560125917d6ad53d55b30c -SIZE (jtreg4.1-b08.tar.gz) = 6834252 -SHA256 (battleblow-jdk8u-8.452.09.1-jdk8u452-b09.1_GH0.tar.gz) = 5ece2db14895741373c63a4a50029c1558206d25c98b2ac7e730e1279f20f8a7 -SIZE (battleblow-jdk8u-8.452.09.1-jdk8u452-b09.1_GH0.tar.gz) = 93400109 +SIZE (jtreg4.1-b08.tar.gz) = 683425 +SHA256 (battleblow-jdk8u-8.462.08.1-jdk8u462-b08.1_GH0.tar.gz) = ef956bdbeff27383434418f34d7af67e9f81a54e04bc6351b52616515de1054c +SIZE (battleblow-jdk8u-8.462.08.1-jdk8u462-b08.1_GH0.tar.gz) = 93417092 diff --git a/java/openjdk8/files/patch-jdk_src_solaris_native_sun_management_OperatingSystemImpl.c b/java/openjdk8/files/patch-jdk_src_solaris_native_sun_management_OperatingSystemImpl.c new file mode 100644 index 000000000000..c542431a3ca3 --- /dev/null +++ b/java/openjdk8/files/patch-jdk_src_solaris_native_sun_management_OperatingSystemImpl.c @@ -0,0 +1,90 @@ +--- jdk/src/solaris/native/sun/management/OperatingSystemImpl.c.orig 2025-04-19 16:48:54 UTC ++++ jdk/src/solaris/native/sun/management/OperatingSystemImpl.c +@@ -57,6 +57,7 @@ + #include <stdlib.h> + #include <unistd.h> + #ifdef __FreeBSD__ ++#include <sys/user.h> + #include <vm/vm_param.h> + #endif + +@@ -266,23 +267,45 @@ Java_sun_management_OperatingSystemImpl_getCommittedVi + } + 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 */ + /* +@@ -486,6 +509,21 @@ Java_sun_management_OperatingSystemImpl_getOpenFileDes + 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 dbuf; diff --git a/java/openjdk8/pkg-message b/java/openjdk8/pkg-message index fcb6defe8dcd..811dcb1e3b58 100644 --- a/java/openjdk8/pkg-message +++ b/java/openjdk8/pkg-message @@ -1,17 +1,15 @@ [ { type: install message: <<EOM -This OpenJDK implementation may require fdescfs(5) mounted on /dev/fd -and procfs(5) mounted on /proc for some applications. +This OpenJDK implementation may require procfs(5) mounted on /proc for some +applications. If you have not done it yet, please do the following: - mount -t fdescfs fdesc /dev/fd mount -t procfs proc /proc To make it permanent, you need the following lines in /etc/fstab: - fdesc /dev/fd fdescfs rw 0 0 proc /proc procfs rw 0 0 EOM } |