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?

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<T*>(
++      reinterpret_cast<char*>(this) + base_offset_in_bytes());
++  }
++
++  const T* data() const {
++    return reinterpret_cast<const T*>(
++      reinterpret_cast<const char*>(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

Reply via email to