From: Stuart Henderson Subject: Re: UPDATE: Update to 11.0.30+7-1 GA To: Kurt Miller Cc: jca@openbsd.org, ports@openbsd.org Date: Fri, 30 Jan 2026 12:07:53 +0000 On 2026/01/28 23:59, Kurt Miller wrote: > Update to 11.0.30+7-1 GA: > * Contains upstream bug and security fixes: > https://openjdk.org/groups/vulnerability/advisories/2026-01-20 > * Add @pkgpath devel/jdk/1.8 to PLIST to not leave behind jdk-1.8.0 > when people upgrade. > * Rename PATCH_VER to BUILD_VER to match what upstream calls this > part of the version. > * Additional gcc 15 fixes from upstream unmerged pull request > > Note the addition of the @pkgpath. There was some discussion on > icb about if this should be added so that people upgrading will > not leave behind jdk-1.8.0. I will note that when we obsoleted > prior jdk's we did add @pkgpath like this. > > Tested on all supported arch. > > ok? personally I think the @pkgpath does make sense, I'd prefer the changeover to be a managed clean break rather than "if you're relying on the old version then it works until an unspecified time when kernel ABI changes" needs a little note in faq/current.html (people using the jdk for things from outside of packages may need to update JAVA_HOME in scripts etc). so, ok with me as-is. I've mirrored the distfile. btw you could s/http:/https:/ in all the jdk Makefiles (will need a bump for the HOMEPAGE change unless updating anyway). > Index: Makefile > =================================================================== > RCS file: /cvs/ports/devel/jdk/11/Makefile,v > diff -u -p -u -r1.68 Makefile > --- Makefile 19 Dec 2025 15:02:41 -0000 1.68 > +++ Makefile 28 Jan 2026 23:07:57 -0000 > @@ -4,19 +4,18 @@ USE_NOBTCFI= Yes > DPB_PROPERTIES= parallel > > COMMENT= OpenJDK Software Development Kit v${VERSION_STR} > -BASE_VER= 11.0.29 > -PATCH_VER= 7 > +BASE_VER= 11.0.30 > +BUILD_VER= 7 > BSD_PORT_REL= 1 > -VERSION_STR= ${BASE_VER}+${PATCH_VER}-${BSD_PORT_REL} > -PACKAGE_VER= ${BASE_VER}.${PATCH_VER}.${BSD_PORT_REL} > +VERSION_STR= ${BASE_VER}+${BUILD_VER}-${BSD_PORT_REL} > +PACKAGE_VER= ${BASE_VER}.${BUILD_VER}.${BSD_PORT_REL} > PKGNAME= jdk-${PACKAGE_VER} > PKGSTEM= jdk-11 > EPOCH= 0 > -REVISION= 1 > > DIST_SUBDIR= jdk > DISTNAME= jdk-${VERSION_STR} > -WRKDIST= ${WRKDIR}/jdk11u-jdk-${BASE_VER}-${PATCH_VER}-${BSD_PORT_REL} > +WRKDIST= ${WRKDIR}/jdk11u-jdk-${BASE_VER}-${BUILD_VER}-${BSD_PORT_REL} > BOOTJDK_DATE= 20251101 > > CATEGORIES= devel/jdk java > Index: distinfo > =================================================================== > RCS file: /cvs/ports/devel/jdk/11/distinfo,v > diff -u -p -u -r1.34 distinfo > --- distinfo 3 Nov 2025 13:37:48 -0000 1.34 > +++ distinfo 28 Jan 2026 23:07:57 -0000 > @@ -1,9 +1,9 @@ > -SHA256 (jdk/jdk-11.0.29+7-1.tar.gz) = 7R/tCn1lceW/+aBycociWEUWQ7pnQcACqPWL39j8mAM= > +SHA256 (jdk/jdk-11.0.30+7-1.tar.gz) = XJYjuQCJg/B0eALjWOACLFSX0chzfwZKNGqSEbLTgSQ= > SHA256 (jdk/openjdk-jdk11u-bootjdk-aarch64-20251101.tar.gz) = jF/p65MhOSy/QnGZDXP+3syJLpZCc/gROV30O83L8Og= > SHA256 (jdk/openjdk-jdk11u-bootjdk-amd64-20251101.tar.gz) = LEfkAvzVOqxLTXoOEU0216n3RZqhJruiqcHjWXsNK5s= > SHA256 (jdk/openjdk-jdk11u-bootjdk-i386-20251101.tar.gz) = 6mXRDPKRR94o4uLgwVmC77Dc1+mqB2VoAKR2AtIx6Vc= > SHA256 (jdk/openjdk-jdk11u-bootjdk-sparc64-20251101.tar.gz) = w6qLZo8QCLBZ69KTA4zCtWrzvkqEvGRyLSj4eXVtE8Q= > -SIZE (jdk/jdk-11.0.29+7-1.tar.gz) = 116785204 > +SIZE (jdk/jdk-11.0.30+7-1.tar.gz) = 116813062 > SIZE (jdk/openjdk-jdk11u-bootjdk-aarch64-20251101.tar.gz) = 115132436 > SIZE (jdk/openjdk-jdk11u-bootjdk-amd64-20251101.tar.gz) = 115763330 > SIZE (jdk/openjdk-jdk11u-bootjdk-i386-20251101.tar.gz) = 104868595 > Index: patches/patch-make_lib_Awt2dLibraries_gmk > =================================================================== > RCS file: patches/patch-make_lib_Awt2dLibraries_gmk > diff -N patches/patch-make_lib_Awt2dLibraries_gmk > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-make_lib_Awt2dLibraries_gmk 28 Jan 2026 23:07:57 -0000 > @@ -0,0 +1,18 @@ > +Apply unmerged pull request from upstream: > + > +8286562: GCC 12 reports some compiler warnings > +https://github.com/openjdk/jdk11u-dev/pull/3091 > + > +Index: make/lib/Awt2dLibraries.gmk > +--- make/lib/Awt2dLibraries.gmk.orig > ++++ make/lib/Awt2dLibraries.gmk > +@@ -578,7 +578,8 @@ else > + # noexcept-type required for GCC 7 builds. Not required for GCC 8+. > + # expansion-to-defined required for GCC 9 builds. Not required for GCC 10+. > + HARFBUZZ_DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \ > +- maybe-uninitialized class-memaccess unused-result extra noexcept-type expansion-to-defined > ++ maybe-uninitialized class-memaccess unused-result extra use-after-free noexcept-type \ > ++ expansion-to-defined > + HARFBUZZ_DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \ > + tautological-constant-out-of-range-compare int-to-pointer-cast \ > + undef missing-field-initializers deprecated-declarations c++11-narrowing range-loop-analysis > Index: patches/patch-src_hotspot_share_oops_array_hpp > =================================================================== > RCS file: patches/patch-src_hotspot_share_oops_array_hpp > diff -N patches/patch-src_hotspot_share_oops_array_hpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_hotspot_share_oops_array_hpp 28 Jan 2026 23:07:57 -0000 > @@ -0,0 +1,62 @@ > +Apply unmerged pull request from upstream: > + > +8286562: GCC 12 reports some compiler warnings > +https://github.com/openjdk/jdk11u-dev/pull/3091 > + > +Index: src/hotspot/share/oops/array.hpp > +--- src/hotspot/share/oops/array.hpp.orig > ++++ src/hotspot/share/oops/array.hpp > +@@ -1,5 +1,5 @@ > + /* > +- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. > ++ * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved. > + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > + * > + * This code is free software; you can redistribute it and/or modify it > +@@ -94,7 +94,7 @@ class Array: public MetaspaceObj { (protected) > + Array(int length, T init) : _length(length) { > + assert(length >= 0, "illegal length"); > + for (int i = 0; i < length; i++) { > +- _data[i] = init; > ++ data()[i] = init; > + } > + } > + > +@@ -102,12 +102,22 @@ class Array: public MetaspaceObj { (protected) > + > + // standard operations > + int length() const { return _length; } > +- T* data() { return _data; } > ++ > ++ T* data() { > ++ return reinterpret_cast( > ++ reinterpret_cast(this) + base_offset_in_bytes()); > ++ } > ++ > ++ const T* data() const { > ++ return reinterpret_cast( > ++ reinterpret_cast(this) + base_offset_in_bytes()); > ++ } > ++ > + bool is_empty() const { return length() == 0; } > + > + int index_of(const T& x) const { > + int i = length(); > +- while (i-- > 0 && _data[i] != x) ; > ++ while (i-- > 0 && data()[i] != x) ; > + > + return i; > + } > +@@ -115,9 +125,9 @@ class Array: public MetaspaceObj { (protected) > + // sort the array. > + bool contains(const T& x) const { return index_of(x) >= 0; } > + > +- T at(int i) const { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); return _data[i]; } > +- void at_put(const int i, const T& x) { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); _data[i] = x; } > +- T* adr_at(const int i) { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); return &_data[i]; } > ++ T at(int i) const { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); return data()[i]; } > ++ void at_put(const int i, const T& x) { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); data()[i] = x; } > ++ T* adr_at(const int i) { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); return &data()[i]; } > + int find(const T& x) { return index_of(x); } > + > + T at_acquire(const int which); > Index: patches/patch-src_hotspot_share_utilities_globalDefinitions_cpp > =================================================================== > RCS file: patches/patch-src_hotspot_share_utilities_globalDefinitions_cpp > diff -N patches/patch-src_hotspot_share_utilities_globalDefinitions_cpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_hotspot_share_utilities_globalDefinitions_cpp 28 Jan 2026 23:07:57 -0000 > @@ -0,0 +1,26 @@ > +Apply unmerged pull request from upstream: > + > +8286562: GCC 12 reports some compiler warnings > +https://github.com/openjdk/jdk11u-dev/pull/3091 > + > +Index: src/hotspot/share/utilities/globalDefinitions.cpp > +--- src/hotspot/share/utilities/globalDefinitions.cpp.orig > ++++ src/hotspot/share/utilities/globalDefinitions.cpp > +@@ -199,6 +199,17 @@ const char* type2name_tab[T_CONFLICT+1] = { > + "*narrowklass*", > + "*conflict*" > + }; > ++const char* type2name(BasicType t) { > ++ if (t < ARRAY_SIZE(type2name_tab)) { > ++ return type2name_tab[t]; > ++ } else if (t == T_ILLEGAL) { > ++ return "*illegal*"; > ++ } else { > ++ fatal("invalid type %d", t); > ++ return "invalid type"; > ++ } > ++} > ++ > + > + > + BasicType name2type(const char* name) { > Index: patches/patch-src_hotspot_share_utilities_globalDefinitions_hpp > =================================================================== > RCS file: patches/patch-src_hotspot_share_utilities_globalDefinitions_hpp > diff -N patches/patch-src_hotspot_share_utilities_globalDefinitions_hpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_hotspot_share_utilities_globalDefinitions_hpp 28 Jan 2026 23:07:57 -0000 > @@ -0,0 +1,21 @@ > +Apply unmerged pull request from upstream: > + > +8286562: GCC 12 reports some compiler warnings > +https://github.com/openjdk/jdk11u-dev/pull/3091 > + > +Index: src/hotspot/share/utilities/globalDefinitions.hpp > +--- src/hotspot/share/utilities/globalDefinitions.hpp.orig > ++++ src/hotspot/share/utilities/globalDefinitions.hpp > +@@ -681,9 +681,10 @@ inline BasicType char2type(char c) { > + extern char type2char_tab[T_CONFLICT+1]; // Map a BasicType to a jchar > + inline char type2char(BasicType t) { return (uint)t < T_CONFLICT+1 ? type2char_tab[t] : 0; } > + extern int type2size[T_CONFLICT+1]; // Map BasicType to result stack elements > +-extern const char* type2name_tab[T_CONFLICT+1]; // Map a BasicType to a jchar > +-inline const char* type2name(BasicType t) { return (uint)t < T_CONFLICT+1 ? type2name_tab[t] : NULL; } > ++extern const char* type2name_tab[T_CONFLICT+1]; // Map a BasicType to a char* > + extern BasicType name2type(const char* name); > ++ > ++const char* type2name(BasicType t); > + > + // Auxiliary math routines > + // least common multiple > Index: patches/patch-src_java_base_unix_native_libjli_java_md_common_c > =================================================================== > RCS file: /cvs/ports/devel/jdk/11/patches/patch-src_java_base_unix_native_libjli_java_md_common_c,v > diff -u -p -u -r1.1 patch-src_java_base_unix_native_libjli_java_md_common_c > --- patches/patch-src_java_base_unix_native_libjli_java_md_common_c 5 Dec 2025 22:00:14 -0000 1.1 > +++ patches/patch-src_java_base_unix_native_libjli_java_md_common_c 28 Jan 2026 23:07:57 -0000 > @@ -1,15 +1,32 @@ > -error: '%s' directive output may be truncated writing up to 1023 bytes into a region of size between 2 and 1025 [-Werror=format-truncation=] > -note: 'snprintf' output between 2 and 2048 bytes into a destination of size 1026 > +Apply unmerged pull request from upstream: > + > +8286562: GCC 12 reports some compiler warnings > +https://github.com/openjdk/jdk11u-dev/pull/3091 > > Index: src/java.base/unix/native/libjli/java_md_common.c > --- src/java.base/unix/native/libjli/java_md_common.c.orig > +++ src/java.base/unix/native/libjli/java_md_common.c > -@@ -125,7 +125,7 @@ ProgramExists(char *name) > +@@ -1,5 +1,5 @@ > + /* > +- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. > ++ * Copyright (c) 2012, 2022, Oracle and/or its affiliates. All rights reserved. > + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > + * > + * This code is free software; you can redistribute it and/or modify it > +@@ -125,10 +125,13 @@ ProgramExists(char *name) > static char * > Resolve(char *indir, char *cmd) > { > - char name[PATH_MAX + 2], *real; > -+ char name[PATH_MAX * 2], *real; > ++ char name[PATH_MAX + 1], *real; > ++ int snprintf_result; > > - if ((JLI_StrLen(indir) + JLI_StrLen(cmd) + 1) > PATH_MAX) return 0; > - JLI_Snprintf(name, sizeof(name), "%s%c%s", indir, FILE_SEPARATOR, cmd); > +- if ((JLI_StrLen(indir) + JLI_StrLen(cmd) + 1) > PATH_MAX) return 0; > +- JLI_Snprintf(name, sizeof(name), "%s%c%s", indir, FILE_SEPARATOR, cmd); > ++ snprintf_result = JLI_Snprintf(name, sizeof(name), "%s%c%s", indir, FILE_SEPARATOR, cmd); > ++ if ((snprintf_result < 0) || (snprintf_result >= (int)sizeof(name))) { > ++ return NULL; > ++ } > + if (!ProgramExists(name)) return 0; > + real = JLI_MemAlloc(PATH_MAX + 2); > + if (!realpath(name, real)) > Index: patches/patch-src_java_desktop_share_classes_sun_print_PSPrinterJob_java > =================================================================== > RCS file: /cvs/ports/devel/jdk/11/patches/patch-src_java_desktop_share_classes_sun_print_PSPrinterJob_java,v > diff -u -p -u -r1.2 patch-src_java_desktop_share_classes_sun_print_PSPrinterJob_java > --- patches/patch-src_java_desktop_share_classes_sun_print_PSPrinterJob_java 11 Mar 2022 18:50:14 -0000 1.2 > +++ patches/patch-src_java_desktop_share_classes_sun_print_PSPrinterJob_java 28 Jan 2026 23:07:57 -0000 > @@ -1,7 +1,12 @@ > +Apply unmerged pull request from upstream: > + > +8286562: GCC 12 reports some compiler warnings > +https://github.com/openjdk/jdk11u-dev/pull/3091 > + > Index: src/java.desktop/share/classes/sun/print/PSPrinterJob.java > --- src/java.desktop/share/classes/sun/print/PSPrinterJob.java.orig > +++ src/java.desktop/share/classes/sun/print/PSPrinterJob.java > -@@ -1620,7 +1620,7 @@ public class PSPrinterJob extends RasterPrinterJob { > +@@ -1621,7 +1621,7 @@ public class PSPrinterJob extends RasterPrinterJob { > > String osname = System.getProperty("os.name"); > if (osname.equals("Linux") || osname.contains("OS X") || osname.endsWith("BSD")) { > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/devel/jdk/11/pkg/PLIST,v > diff -u -p -u -r1.14 PLIST > --- pkg/PLIST 30 Jul 2024 01:45:00 -0000 1.14 > +++ pkg/PLIST 28 Jan 2026 23:07:57 -0000 > @@ -2,6 +2,7 @@ > @option is-branch > @conflict jdk->=11v0,<12v0 > @pkgpath devel/jdk/11 > +@pkgpath devel/jdk/1.8 > jdk-11/ > jdk-11/bin/ > @bin jdk-11/bin/jar >