Andreas Wacknitz
2024-01-27 7184c705a6f58435e822ea9de28cfa06dcf7e46f
openjdk-22: update to patch 33

1 files added
20 files modified
3100 ■■■■■ changed files
components/runtime/openjdk-22/Makefile 10 ●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/manifests/sample-manifest.p5m 42 ●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/openjdk.p5m 42 ●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/1_java-solaris-sparc.patch 1686 ●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/2_revert-remove-install.patch 144 ●●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/README-zero.txt 12 ●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/README.txt 107 ●●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/illumos-pollerprovider.patch 1017 ●●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/illumos-port-02.patch 4 ●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/illumos-port-06.patch 4 ●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/illumos-port-07.patch 2 ●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/illumos-port-10.patch 2 ●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/illumos-port-11.patch 2 ●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/illumos-port-20.patch 2 ●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/illumos-signal-1.patch 2 ●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/illumos-zero-2.patch 2 ●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/sparc-bitness.patch 2 ●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/tribblix-flags-cflags.patch 2 ●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/tribblix-flags-ldflags.patch 8 ●●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/patches/tribblix-flags-ldflags3.patch 2 ●●● patch | view | raw | blame | history
components/runtime/openjdk-22/pkg5 6 ●●●● patch | view | raw | blame | history
components/runtime/openjdk-22/Makefile
@@ -13,23 +13,23 @@
# Copyright 2016 Alexander Pyhalov
# Copyright 2019 Michal Nowak
# Copyright 2021 Andreas Grueninger, Grueninger GmbH, (grueni). All rights reserved.
# Copyright 2023 Niklas Poslovski
# Copyright 2023-2024 Niklas Poslovski
#
include ../../../make-rules/shared-macros.mk
OPENJDK_VERSION=    22
OPENJDK_PATCH=    11
OPENJDK_PATCH=    33
COMPONENT_NAME=        openjdk
COMPONENT_VERSION=    $(OPENJDK_VERSION)
COMPONENT_FMRI=    runtime/java/$(COMPONENT_NAME)$(OPENJDK_VERSION)
COMPONENT_SUMMARY=    Open-source implementation of the Java Platform, Standard Edition
COMPONENT_SRC=    jdk-jdk-$(OPENJDK_VERSION)-$(OPENJDK_PATCH)
COMPONENT_SRC=    jdk22u-jdk-$(OPENJDK_VERSION)-$(OPENJDK_PATCH)
COMPONENT_ARCHIVE=    jdk-$(OPENJDK_VERSION)+$(OPENJDK_PATCH).tar.gz
COMPONENT_ARCHIVE_HASH= \
    sha256:be3092eea01223598d24def014ff76f485c5b5df878c435738b4561bb97fd5a7
    sha256:3e9f1a3b414e3cc33446a38deb4c8adab5237080d2ac057dc4b53c3638f5dc0a
COMPONENT_ARCHIVE_URL= \
    https://github.com/openjdk/jdk/archive/$(COMPONENT_ARCHIVE)
    https://github.com/openjdk/jdk$(OPENJDK_VERSION)u/archive/$(COMPONENT_ARCHIVE)
COMPONENT_PROJECT_URL=    https://openjdk.java.net/
COMPONENT_CLASSIFICATION=    Development/Java
COMPONENT_LICENSE=    GPLv2 with Classpath Exception
components/runtime/openjdk-22/manifests/sample-manifest.p5m
@@ -10,7 +10,7 @@
#
#
# Copyright 2023 <contributor>
# Copyright 2024 <contributor>
#
set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
@@ -186,6 +186,8 @@
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.crypto.ec.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.dynalink.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.editpad.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.graal.compiler.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.graal.compiler.management.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.hotspot.agent.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.httpserver.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.incubator.vector.jmod
@@ -194,8 +196,6 @@
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.le.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.opt.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.vm.ci.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.vm.compiler.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.vm.compiler.management.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jartool.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.javadoc.jmod
file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jcmd.jmod
@@ -498,6 +498,24 @@
link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.editpad/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.graal.compiler.management/ADDITIONAL_LICENSE_INFO \
    target=../java.base/ADDITIONAL_LICENSE_INFO
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.graal.compiler.management/ASSEMBLY_EXCEPTION \
    target=../java.base/ASSEMBLY_EXCEPTION
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.graal.compiler.management/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.graal.compiler/ADDITIONAL_LICENSE_INFO \
    target=../java.base/ADDITIONAL_LICENSE_INFO
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.graal.compiler/ASSEMBLY_EXCEPTION \
    target=../java.base/ASSEMBLY_EXCEPTION
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.graal.compiler/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.hotspot.agent/ADDITIONAL_LICENSE_INFO \
    target=../java.base/ADDITIONAL_LICENSE_INFO
link \
@@ -570,24 +588,6 @@
    target=../java.base/ASSEMBLY_EXCEPTION
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.ci/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler.management/ADDITIONAL_LICENSE_INFO \
    target=../java.base/ADDITIONAL_LICENSE_INFO
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler.management/ASSEMBLY_EXCEPTION \
    target=../java.base/ASSEMBLY_EXCEPTION
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler.management/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler/ADDITIONAL_LICENSE_INFO \
    target=../java.base/ADDITIONAL_LICENSE_INFO
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler/ASSEMBLY_EXCEPTION \
    target=../java.base/ASSEMBLY_EXCEPTION
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jartool/ADDITIONAL_LICENSE_INFO \
components/runtime/openjdk-22/openjdk.p5m
@@ -12,7 +12,7 @@
#
# Copyright 2016 Alexander Pyhalov
# Copyright 2021 Andreas Grueninger, Grueninger GmbH, (grueni). All rights reserved.
# Copyright 2023 Niklas Poslovski
# Copyright 2024 Niklas Poslovski
#
<transform path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/.*\.so -> default pkg.linted.userland.action001.2 true>
@@ -150,6 +150,8 @@
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.crypto.ec.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.dynalink.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.editpad.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.graal.compiler.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.graal.compiler.management.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.hotspot.agent.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.httpserver.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.incubator.vector.jmod
@@ -158,8 +160,6 @@
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.le.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.opt.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.vm.ci.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.vm.compiler.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.vm.compiler.management.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jartool.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.javadoc.jmod
file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jcmd.jmod
@@ -462,6 +462,24 @@
link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.editpad/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.graal.compiler.management/ADDITIONAL_LICENSE_INFO \
    target=../java.base/ADDITIONAL_LICENSE_INFO
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.graal.compiler.management/ASSEMBLY_EXCEPTION \
    target=../java.base/ASSEMBLY_EXCEPTION
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.graal.compiler.management/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.graal.compiler/ADDITIONAL_LICENSE_INFO \
    target=../java.base/ADDITIONAL_LICENSE_INFO
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.graal.compiler/ASSEMBLY_EXCEPTION \
    target=../java.base/ASSEMBLY_EXCEPTION
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.graal.compiler/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.hotspot.agent/ADDITIONAL_LICENSE_INFO \
    target=../java.base/ADDITIONAL_LICENSE_INFO
link \
@@ -534,24 +552,6 @@
    target=../java.base/ASSEMBLY_EXCEPTION
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.ci/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler.management/ADDITIONAL_LICENSE_INFO \
    target=../java.base/ADDITIONAL_LICENSE_INFO
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler.management/ASSEMBLY_EXCEPTION \
    target=../java.base/ASSEMBLY_EXCEPTION
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler.management/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler/ADDITIONAL_LICENSE_INFO \
    target=../java.base/ADDITIONAL_LICENSE_INFO
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler/ASSEMBLY_EXCEPTION \
    target=../java.base/ASSEMBLY_EXCEPTION
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler/LICENSE \
    target=../java.base/LICENSE
link \
    path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jartool/ADDITIONAL_LICENSE_INFO \
components/runtime/openjdk-22/patches/1_java-solaris-sparc.patch
@@ -1,6 +1,6 @@
diff -Nru jdk-jdk-22-11.orig/bin/unshuffle_list.txt jdk-jdk-22-11/bin/unshuffle_list.txt
--- jdk-jdk-22-11.orig/bin/unshuffle_list.txt    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/bin/unshuffle_list.txt    2023-08-19 19:44:58.437655745 +0200
diff -Nru jdk22u-jdk-22-33.orig/bin/unshuffle_list.txt jdk22u-jdk-22-33/bin/unshuffle_list.txt
--- jdk22u-jdk-22-33.orig/bin/unshuffle_list.txt    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/bin/unshuffle_list.txt    2024-01-27 15:17:38.937556650 +0100
@@ -100,6 +100,7 @@
 src/langtools/sample : langtools/src/sample
 src/linux : jdk/src/linux
@@ -25,9 +25,9 @@
 src/hotspot/os_cpu/windows_x86 : hotspot/src/os_cpu/windows_x86/vm
 src/hotspot : hotspot/src
 src/utils/IdealGraphVisualizer : hotspot/src/share/tools/IdealGraphVisualizer
diff -Nru jdk-jdk-22-11.orig/make/autoconf/basic_tools.m4 jdk-jdk-22-11/make/autoconf/basic_tools.m4
--- jdk-jdk-22-11.orig/make/autoconf/basic_tools.m4    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/autoconf/basic_tools.m4    2023-08-19 19:44:58.439501613 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/autoconf/basic_tools.m4 jdk22u-jdk-22-33/make/autoconf/basic_tools.m4
--- jdk22u-jdk-22-33.orig/make/autoconf/basic_tools.m4    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/autoconf/basic_tools.m4    2024-01-27 15:17:38.939076352 +0100
@@ -289,6 +289,8 @@
     TAR_TYPE="bsd"
   elif test "x$($TAR --version | $GREP "busybox")" != "x"; then
@@ -37,9 +37,9 @@
   elif test "x$OPENJDK_BUILD_OS" = "xaix"; then
     TAR_TYPE="aix"
   fi
diff -Nru jdk-jdk-22-11.orig/make/autoconf/build-aux/config.guess jdk-jdk-22-11/make/autoconf/build-aux/config.guess
--- jdk-jdk-22-11.orig/make/autoconf/build-aux/config.guess    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/autoconf/build-aux/config.guess    2023-08-19 19:44:58.439966899 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/autoconf/build-aux/config.guess jdk22u-jdk-22-33/make/autoconf/build-aux/config.guess
--- jdk22u-jdk-22-33.orig/make/autoconf/build-aux/config.guess    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/autoconf/build-aux/config.guess    2024-01-27 15:17:38.939451677 +0100
@@ -53,6 +53,14 @@
   fi
 fi
@@ -55,9 +55,9 @@
 # Test and fix cygwin on x86_64
 echo $OUT | grep 86-pc-cygwin > /dev/null 2> /dev/null
 if test $? != 0; then
diff -Nru jdk-jdk-22-11.orig/make/autoconf/build-performance.m4 jdk-jdk-22-11/make/autoconf/build-performance.m4
--- jdk-jdk-22-11.orig/make/autoconf/build-performance.m4    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/autoconf/build-performance.m4    2023-08-19 19:44:58.440489608 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/autoconf/build-performance.m4 jdk22u-jdk-22-33/make/autoconf/build-performance.m4
--- jdk22u-jdk-22-33.orig/make/autoconf/build-performance.m4    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/autoconf/build-performance.m4    2024-01-27 15:17:38.939888307 +0100
@@ -33,6 +33,9 @@
     if test "$NUM_CORES" -eq "0"; then
       NUM_CORES=`cat /proc/cpuinfo  | grep -c ^CPU`
@@ -77,9 +77,9 @@
     MEMORY_SIZE=`/usr/sbin/prtconf 2> /dev/null | grep "^Memory [[Ss]]ize" | awk '{ print [$]3 }'`
     FOUND_MEM=yes
   elif test -x /usr/sbin/sysctl; then
diff -Nru jdk-jdk-22-11.orig/make/autoconf/flags-cflags.m4 jdk-jdk-22-11/make/autoconf/flags-cflags.m4
--- jdk-jdk-22-11.orig/make/autoconf/flags-cflags.m4    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/autoconf/flags-cflags.m4    2023-08-19 19:44:58.441192708 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/autoconf/flags-cflags.m4 jdk22u-jdk-22-33/make/autoconf/flags-cflags.m4
--- jdk22u-jdk-22-33.orig/make/autoconf/flags-cflags.m4    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/autoconf/flags-cflags.m4    2024-01-27 15:17:38.940489460 +0100
@@ -427,6 +427,9 @@
   if test "x$OPENJDK_TARGET_OS" = xlinux; then
     CFLAGS_OS_DEF_JVM="-DLINUX"
@@ -90,9 +90,9 @@
   elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
     CFLAGS_OS_DEF_JVM="-D_ALLBSD_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE"
     CFLAGS_OS_DEF_JDK="-D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
diff -Nru jdk-jdk-22-11.orig/make/autoconf/jdk-options.m4 jdk-jdk-22-11/make/autoconf/jdk-options.m4
--- jdk-jdk-22-11.orig/make/autoconf/jdk-options.m4    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/autoconf/jdk-options.m4    2023-08-19 19:44:58.441871708 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/autoconf/jdk-options.m4 jdk22u-jdk-22-33/make/autoconf/jdk-options.m4
--- jdk22u-jdk-22-33.orig/make/autoconf/jdk-options.m4    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/autoconf/jdk-options.m4    2024-01-27 15:17:38.941021988 +0100
@@ -274,7 +274,7 @@
     ZIP_EXTERNAL_DEBUG_SYMBOLS=false
   elif test "x$with_native_debug_symbols" = xexternal; then
@@ -111,10 +111,10 @@
       if test "x$OBJCOPY" = x; then
         # enabling of enable-debug-symbols and can't find objcopy
         # this is an error
diff -Nru jdk-jdk-22-11.orig/make/autoconf/libraries.m4 jdk-jdk-22-11/make/autoconf/libraries.m4
--- jdk-jdk-22-11.orig/make/autoconf/libraries.m4    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/autoconf/libraries.m4    2023-08-19 19:44:58.442376086 +0200
@@ -145,13 +145,15 @@
diff -Nru jdk22u-jdk-22-33.orig/make/autoconf/libraries.m4 jdk22u-jdk-22-33/make/autoconf/libraries.m4
--- jdk22u-jdk-22-33.orig/make/autoconf/libraries.m4    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/autoconf/libraries.m4    2024-01-27 15:17:38.941418414 +0100
@@ -139,13 +139,15 @@
   BASIC_JVM_LIBS="$LIBM"
 
   # Dynamic loading library
@@ -131,7 +131,7 @@
   fi
 
   # librt for legacy clock_gettime
@@ -168,6 +170,12 @@
@@ -162,6 +164,12 @@
     BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat"
   fi
 
@@ -144,9 +144,9 @@
   if test "x$OPENJDK_TARGET_OS" = xwindows; then
     BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
         comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib powrprof.lib uuid.lib \
diff -Nru jdk-jdk-22-11.orig/make/autoconf/platform.m4 jdk-jdk-22-11/make/autoconf/platform.m4
--- jdk-jdk-22-11.orig/make/autoconf/platform.m4    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/autoconf/platform.m4    2023-08-19 19:44:58.443045128 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/autoconf/platform.m4 jdk22u-jdk-22-33/make/autoconf/platform.m4
--- jdk22u-jdk-22-33.orig/make/autoconf/platform.m4    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/autoconf/platform.m4    2024-01-27 15:17:38.941965516 +0100
@@ -202,6 +202,10 @@
       VAR_OS=linux
       VAR_OS_TYPE=unix
@@ -176,7 +176,7 @@
   # Setup OPENJDK_$1_CPU_OSARCH, which is used to set the os.arch Java system property
   OPENJDK_$1_CPU_OSARCH="$OPENJDK_$1_CPU"
   if test "x$OPENJDK_$1_OS" = xlinux && test "x$OPENJDK_$1_CPU" = xx86; then
@@ -601,6 +616,9 @@
@@ -603,6 +618,9 @@
 
 AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
 [
@@ -186,20 +186,9 @@
   if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
     RELEASE_FILE_OS_NAME=Linux
   fi
diff -Nru jdk-jdk-22-11.orig/make/autoconf/spec.gmk.in jdk-jdk-22-11/make/autoconf/spec.gmk.in
--- jdk-jdk-22-11.orig/make/autoconf/spec.gmk.in    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/autoconf/spec.gmk.in    2023-08-19 19:44:58.443650289 +0200
@@ -93,6 +93,7 @@
 COMPILE_TYPE:=@COMPILE_TYPE@
 # Legacy support
+OPENJDK_TARGET_CPU_ISADIR:=@OPENJDK_TARGET_CPU_ISADIR@
 OPENJDK_TARGET_CPU_LEGACY:=@OPENJDK_TARGET_CPU_LEGACY@
 OPENJDK_TARGET_CPU_LEGACY_LIB:=@OPENJDK_TARGET_CPU_LEGACY_LIB@
 OPENJDK_TARGET_CPU_OSARCH:=@OPENJDK_TARGET_CPU_OSARCH@
diff -Nru jdk-jdk-22-11.orig/make/autoconf/toolchain.m4 jdk-jdk-22-11/make/autoconf/toolchain.m4
--- jdk-jdk-22-11.orig/make/autoconf/toolchain.m4    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/autoconf/toolchain.m4    2023-08-19 19:44:58.444284511 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/autoconf/toolchain.m4 jdk22u-jdk-22-33/make/autoconf/toolchain.m4
--- jdk22u-jdk-22-33.orig/make/autoconf/toolchain.m4    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/autoconf/toolchain.m4    2024-01-27 15:17:38.942478409 +0100
@@ -39,6 +39,7 @@
 
 # These toolchains are valid on different platforms
@@ -208,9 +197,9 @@
 VALID_TOOLCHAINS_macosx="clang"
 VALID_TOOLCHAINS_aix="xlc clang"
 VALID_TOOLCHAINS_windows="microsoft"
diff -Nru jdk-jdk-22-11.orig/make/common/MakeBase.gmk jdk-jdk-22-11/make/common/MakeBase.gmk
--- jdk-jdk-22-11.orig/make/common/MakeBase.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/common/MakeBase.gmk    2023-08-19 19:44:58.444884134 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/common/MakeBase.gmk jdk22u-jdk-22-33/make/common/MakeBase.gmk
--- jdk22u-jdk-22-33.orig/make/common/MakeBase.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/common/MakeBase.gmk    2024-01-27 15:17:38.942945087 +0100
@@ -263,7 +263,33 @@
 ################################################################################
 # All install-file and related macros automatically call DecodeSpace when needed.
@@ -246,9 +235,9 @@
   # On mac, extended attributes sometimes creep into the source files, which may later
   # cause the creation of ._* files which confuses testing. Clear these with xattr if
   # set. Some files get their write permissions removed after being copied to the
diff -Nru jdk-jdk-22-11.orig/make/common/modules/LauncherCommon.gmk jdk-jdk-22-11/make/common/modules/LauncherCommon.gmk
--- jdk-jdk-22-11.orig/make/common/modules/LauncherCommon.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/common/modules/LauncherCommon.gmk    2023-08-19 19:44:58.446257808 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/common/modules/LauncherCommon.gmk jdk22u-jdk-22-33/make/common/modules/LauncherCommon.gmk
--- jdk22u-jdk-22-33.orig/make/common/modules/LauncherCommon.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/common/modules/LauncherCommon.gmk    2024-01-27 15:17:38.944112012 +0100
@@ -163,6 +163,7 @@
           -DLAUNCHER_NAME='"$$(LAUNCHER_NAME)"' \
           -DPROGNAME='"$1"' \
@@ -272,21 +261,21 @@
       LIBS_aix := -ljli_static, \
       LIBS_windows := $$($1_WINDOWS_JLI_LIB) \
           $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib, \
diff -Nru jdk-jdk-22-11.orig/make/common/NativeCompilation.gmk jdk-jdk-22-11/make/common/NativeCompilation.gmk
--- jdk-jdk-22-11.orig/make/common/NativeCompilation.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/common/NativeCompilation.gmk    2023-08-19 19:44:58.445704647 +0200
@@ -1064,7 +1064,7 @@
           $1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).pdb \
               $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).map
diff -Nru jdk22u-jdk-22-33.orig/make/common/NativeCompilation.gmk jdk22u-jdk-22-33/make/common/NativeCompilation.gmk
--- jdk22u-jdk-22-33.orig/make/common/NativeCompilation.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/common/NativeCompilation.gmk    2024-01-27 15:17:38.943637874 +0100
@@ -1081,7 +1081,7 @@
           $1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_BASENAME).pdb \
               $$($1_SYMBOLS_DIR)/$$($1_BASENAME).map
 
-        else ifeq ($(call isTargetOs, linux), true)
+        else ifeq ($(call isTargetOs, linux solaris), true)
           $1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
           # Setup the command line creating debuginfo files, to be run after linking.
           # It cannot be run separately since it updates the original target file
diff -Nru jdk-jdk-22-11.orig/make/hotspot/gensrc/GensrcAdlc.gmk jdk-jdk-22-11/make/hotspot/gensrc/GensrcAdlc.gmk
--- jdk-jdk-22-11.orig/make/hotspot/gensrc/GensrcAdlc.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/hotspot/gensrc/GensrcAdlc.gmk    2023-08-19 19:44:58.446861131 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/hotspot/gensrc/GensrcAdlc.gmk jdk22u-jdk-22-33/make/hotspot/gensrc/GensrcAdlc.gmk
--- jdk22u-jdk-22-33.orig/make/hotspot/gensrc/GensrcAdlc.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/hotspot/gensrc/GensrcAdlc.gmk    2024-01-27 15:17:38.944599834 +0100
@@ -36,6 +36,9 @@
   # NOTE: No optimization or debug flags set here
   ifeq ($(call isBuildOs, linux), true)
@@ -306,9 +295,9 @@
   else ifeq ($(call isTargetOs, aix), true)
     ADLCFLAGS += -DAIX=1
   else ifeq ($(call isTargetOs, macosx), true)
diff -Nru jdk-jdk-22-11.orig/make/hotspot/gensrc/GensrcDtrace.gmk jdk-jdk-22-11/make/hotspot/gensrc/GensrcDtrace.gmk
--- jdk-jdk-22-11.orig/make/hotspot/gensrc/GensrcDtrace.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/hotspot/gensrc/GensrcDtrace.gmk    2023-08-19 19:44:58.447366291 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/hotspot/gensrc/GensrcDtrace.gmk jdk22u-jdk-22-33/make/hotspot/gensrc/GensrcDtrace.gmk
--- jdk22u-jdk-22-33.orig/make/hotspot/gensrc/GensrcDtrace.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/hotspot/gensrc/GensrcDtrace.gmk    2024-01-27 15:17:38.944989465 +0100
@@ -28,7 +28,10 @@
 
 ifeq ($(call check-jvm-feature, dtrace), true)
@@ -381,9 +370,9 @@
+  endif
+
 endif
diff -Nru jdk-jdk-22-11.orig/make/hotspot/lib/CompileDtraceLibraries.gmk jdk-jdk-22-11/make/hotspot/lib/CompileDtraceLibraries.gmk
--- jdk-jdk-22-11.orig/make/hotspot/lib/CompileDtraceLibraries.gmk    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/make/hotspot/lib/CompileDtraceLibraries.gmk    2023-08-19 19:44:58.516312965 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/hotspot/lib/CompileDtraceLibraries.gmk jdk22u-jdk-22-33/make/hotspot/lib/CompileDtraceLibraries.gmk
--- jdk22u-jdk-22-33.orig/make/hotspot/lib/CompileDtraceLibraries.gmk    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/make/hotspot/lib/CompileDtraceLibraries.gmk    2024-01-27 15:17:39.000026339 +0100
@@ -0,0 +1,62 @@
+#
+# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -447,9 +436,9 @@
+
+  endif
+endif
diff -Nru jdk-jdk-22-11.orig/make/hotspot/lib/CompileJvm.gmk jdk-jdk-22-11/make/hotspot/lib/CompileJvm.gmk
--- jdk-jdk-22-11.orig/make/hotspot/lib/CompileJvm.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/hotspot/lib/CompileJvm.gmk    2023-08-19 19:44:58.447932916 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/hotspot/lib/CompileJvm.gmk jdk22u-jdk-22-33/make/hotspot/lib/CompileJvm.gmk
--- jdk22u-jdk-22-33.orig/make/hotspot/lib/CompileJvm.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/hotspot/lib/CompileJvm.gmk    2024-01-27 15:17:38.945463759 +0100
@@ -29,6 +29,9 @@
 include lib/JvmOverrideFiles.gmk
 include lib/JvmFlags.gmk
@@ -468,9 +457,9 @@
     CFLAGS := $(JVM_CFLAGS), \
     abstract_vm_version.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
     arguments.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
diff -Nru jdk-jdk-22-11.orig/make/hotspot/lib/CompileLibraries.gmk jdk-jdk-22-11/make/hotspot/lib/CompileLibraries.gmk
--- jdk-jdk-22-11.orig/make/hotspot/lib/CompileLibraries.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/hotspot/lib/CompileLibraries.gmk    2023-08-19 19:44:58.448330820 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/hotspot/lib/CompileLibraries.gmk jdk22u-jdk-22-33/make/hotspot/lib/CompileLibraries.gmk
--- jdk22u-jdk-22-33.orig/make/hotspot/lib/CompileLibraries.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/hotspot/lib/CompileLibraries.gmk    2024-01-27 15:17:38.945792387 +0100
@@ -32,6 +32,7 @@
 include HotspotCommon.gmk
 
@@ -479,9 +468,9 @@
 
 ifneq ($(GTEST_FRAMEWORK_SRC), )
   ifneq ($(CREATING_BUILDJDK), true)
diff -Nru jdk-jdk-22-11.orig/make/hotspot/lib/JvmDtraceObjects.gmk jdk-jdk-22-11/make/hotspot/lib/JvmDtraceObjects.gmk
--- jdk-jdk-22-11.orig/make/hotspot/lib/JvmDtraceObjects.gmk    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/make/hotspot/lib/JvmDtraceObjects.gmk    2023-08-19 19:44:58.516655678 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/hotspot/lib/JvmDtraceObjects.gmk jdk22u-jdk-22-33/make/hotspot/lib/JvmDtraceObjects.gmk
--- jdk22u-jdk-22-33.orig/make/hotspot/lib/JvmDtraceObjects.gmk    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/make/hotspot/lib/JvmDtraceObjects.gmk    2024-01-27 15:17:39.000316253 +0100
@@ -0,0 +1,122 @@
+#
+# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -605,9 +594,9 @@
+
+  endif
+endif
diff -Nru jdk-jdk-22-11.orig/make/hotspot/lib/JvmMapfile.gmk jdk-jdk-22-11/make/hotspot/lib/JvmMapfile.gmk
--- jdk-jdk-22-11.orig/make/hotspot/lib/JvmMapfile.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/hotspot/lib/JvmMapfile.gmk    2023-08-19 19:44:58.448822542 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/hotspot/lib/JvmMapfile.gmk jdk22u-jdk-22-33/make/hotspot/lib/JvmMapfile.gmk
--- jdk22u-jdk-22-33.orig/make/hotspot/lib/JvmMapfile.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/hotspot/lib/JvmMapfile.gmk    2024-01-27 15:17:38.946203439 +0100
@@ -48,6 +48,18 @@
   endif
 endif
@@ -648,9 +637,9 @@
 else ifeq ($(call isTargetOs, macosx), true)
   # nm on macosx prints out "warning: nm: no name list" to stderr for
   # files without symbols. Hide this, even at the expense of hiding real errors.
diff -Nru jdk-jdk-22-11.orig/make/hotspot/src/native/dtrace/generateJvmOffsets.cpp jdk-jdk-22-11/make/hotspot/src/native/dtrace/generateJvmOffsets.cpp
--- jdk-jdk-22-11.orig/make/hotspot/src/native/dtrace/generateJvmOffsets.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/make/hotspot/src/native/dtrace/generateJvmOffsets.cpp    2023-08-19 19:44:58.517253818 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/hotspot/src/native/dtrace/generateJvmOffsets.cpp jdk22u-jdk-22-33/make/hotspot/src/native/dtrace/generateJvmOffsets.cpp
--- jdk22u-jdk-22-33.orig/make/hotspot/src/native/dtrace/generateJvmOffsets.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/make/hotspot/src/native/dtrace/generateJvmOffsets.cpp    2024-01-27 15:17:39.000807238 +0100
@@ -0,0 +1,316 @@
+/*
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -968,9 +957,9 @@
+    }
+    return generateJvmOffsets(gen_var);
+}
diff -Nru jdk-jdk-22-11.orig/make/hotspot/symbols/symbols-solaris jdk-jdk-22-11/make/hotspot/symbols/symbols-solaris
--- jdk-jdk-22-11.orig/make/hotspot/symbols/symbols-solaris    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/make/hotspot/symbols/symbols-solaris    2023-08-19 19:44:58.517641879 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/hotspot/symbols/symbols-solaris jdk22u-jdk-22-33/make/hotspot/symbols/symbols-solaris
--- jdk22u-jdk-22-33.orig/make/hotspot/symbols/symbols-solaris    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/make/hotspot/symbols/symbols-solaris    2024-01-27 15:17:39.001100193 +0100
@@ -0,0 +1,25 @@
+#
+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
@@ -997,9 +986,9 @@
+
+JVM_handle_solaris_signal
+sysThreadAvailableStackWithSlack
diff -Nru jdk-jdk-22-11.orig/make/hotspot/symbols/symbols-solaris-dtrace-compiler1 jdk-jdk-22-11/make/hotspot/symbols/symbols-solaris-dtrace-compiler1
--- jdk-jdk-22-11.orig/make/hotspot/symbols/symbols-solaris-dtrace-compiler1    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/make/hotspot/symbols/symbols-solaris-dtrace-compiler1    2023-08-19 19:44:58.517939857 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/hotspot/symbols/symbols-solaris-dtrace-compiler1 jdk22u-jdk-22-33/make/hotspot/symbols/symbols-solaris-dtrace-compiler1
--- jdk22u-jdk-22-33.orig/make/hotspot/symbols/symbols-solaris-dtrace-compiler1    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/make/hotspot/symbols/symbols-solaris-dtrace-compiler1    2024-01-27 15:17:39.001342066 +0100
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
@@ -1035,9 +1024,9 @@
+__1cSDeoptimizationBlobG__vtbl_
+
+__JvmOffsets
diff -Nru jdk-jdk-22-11.orig/make/hotspot/symbols/symbols-solaris-dtrace-compiler2 jdk-jdk-22-11/make/hotspot/symbols/symbols-solaris-dtrace-compiler2
--- jdk-jdk-22-11.orig/make/hotspot/symbols/symbols-solaris-dtrace-compiler2    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/make/hotspot/symbols/symbols-solaris-dtrace-compiler2    2023-08-19 19:44:58.518225912 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/hotspot/symbols/symbols-solaris-dtrace-compiler2 jdk22u-jdk-22-33/make/hotspot/symbols/symbols-solaris-dtrace-compiler2
--- jdk22u-jdk-22-33.orig/make/hotspot/symbols/symbols-solaris-dtrace-compiler2    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/make/hotspot/symbols/symbols-solaris-dtrace-compiler2    2024-01-27 15:17:39.001581281 +0100
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
@@ -1075,9 +1064,9 @@
+__1cQUncommonTrapBlobG__vtbl_
+
+__JvmOffsets
diff -Nru jdk-jdk-22-11.orig/make/ide/visualstudio/hotspot/CreateVSProject.gmk jdk-jdk-22-11/make/ide/visualstudio/hotspot/CreateVSProject.gmk
--- jdk-jdk-22-11.orig/make/ide/visualstudio/hotspot/CreateVSProject.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/ide/visualstudio/hotspot/CreateVSProject.gmk    2023-08-19 19:44:58.449412241 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/ide/visualstudio/hotspot/CreateVSProject.gmk jdk22u-jdk-22-33/make/ide/visualstudio/hotspot/CreateVSProject.gmk
--- jdk22u-jdk-22-33.orig/make/ide/visualstudio/hotspot/CreateVSProject.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/ide/visualstudio/hotspot/CreateVSProject.gmk    2024-01-27 15:17:38.946638074 +0100
@@ -76,6 +76,7 @@
     -ignorePath linux \
     -ignorePath posix \
@@ -1086,9 +1075,9 @@
     -ignorePath x86_32 \
     -ignorePath zero \
       #
diff -Nru jdk-jdk-22-11.orig/make/langtools/build.xml jdk-jdk-22-11/make/langtools/build.xml
--- jdk-jdk-22-11.orig/make/langtools/build.xml    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/langtools/build.xml    2023-08-19 19:44:58.449923794 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/langtools/build.xml jdk22u-jdk-22-33/make/langtools/build.xml
--- jdk22u-jdk-22-33.orig/make/langtools/build.xml    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/langtools/build.xml    2024-01-27 15:17:38.947096041 +0100
@@ -100,7 +100,7 @@
     <property name="xpatch.noquotes.cmd" value="--patch-module=${xpatch.noquotes.rest}"/>
 
@@ -1098,9 +1087,9 @@
          executables; regrettably, that is OS-specific. -->
     <condition property="java.marker" value="bin/java">
         <os family="unix"/>
diff -Nru jdk-jdk-22-11.orig/make/modules/java.base/Copy.gmk jdk-jdk-22-11/make/modules/java.base/Copy.gmk
--- jdk-jdk-22-11.orig/make/modules/java.base/Copy.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/java.base/Copy.gmk    2023-08-19 19:44:58.450465046 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/java.base/Copy.gmk jdk22u-jdk-22-33/make/modules/java.base/Copy.gmk
--- jdk22u-jdk-22-33.orig/make/modules/java.base/Copy.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/java.base/Copy.gmk    2024-01-27 15:17:38.947487345 +0100
@@ -190,7 +190,7 @@
 
 TARGETS += $(NET_PROPERTIES_DST)
@@ -1110,9 +1099,9 @@
   $(eval $(call SetupCopyFiles, COPY_SDP_CONF, \
       FILES := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/conf/sdp/sdp.conf.template, \
       DEST := $(CONF_DST_DIR)/sdp, \
diff -Nru jdk-jdk-22-11.orig/make/modules/java.base/gensrc/GensrcMisc.gmk jdk-jdk-22-11/make/modules/java.base/gensrc/GensrcMisc.gmk
--- jdk-jdk-22-11.orig/make/modules/java.base/gensrc/GensrcMisc.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/java.base/gensrc/GensrcMisc.gmk    2023-08-19 19:44:58.451935377 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/java.base/gensrc/GensrcMisc.gmk jdk22u-jdk-22-33/make/modules/java.base/gensrc/GensrcMisc.gmk
--- jdk22u-jdk-22-33.orig/make/modules/java.base/gensrc/GensrcMisc.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/java.base/gensrc/GensrcMisc.gmk    2024-01-27 15:17:38.948702536 +0100
@@ -136,6 +136,21 @@
 
 endif
@@ -1135,9 +1124,9 @@
 # Create the javax/crypto/JceSecurity.class, using the build default.
 #
 ifeq ($(UNLIMITED_CRYPTO), true)
diff -Nru jdk-jdk-22-11.orig/make/modules/java.base/Launcher.gmk jdk-jdk-22-11/make/modules/java.base/Launcher.gmk
--- jdk-jdk-22-11.orig/make/modules/java.base/Launcher.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/java.base/Launcher.gmk    2023-08-19 19:44:58.450950477 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/java.base/Launcher.gmk jdk22u-jdk-22-33/make/modules/java.base/Launcher.gmk
--- jdk22u-jdk-22-33.orig/make/modules/java.base/Launcher.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/java.base/Launcher.gmk    2024-01-27 15:17:38.947864219 +0100
@@ -64,6 +64,7 @@
       CFLAGS := $(CFLAGS_JDKEXE) \
           -I$(TOPDIR)/src/$(MODULE)/share/native/libjli, \
@@ -1155,9 +1144,9 @@
   $(eval $(call SetupJdkExecutable, BUILD_JSPAWNHELPER, \
       NAME := jspawnhelper, \
       SRC := $(TOPDIR)/src/$(MODULE)/unix/native/jspawnhelper, \
diff -Nru jdk-jdk-22-11.orig/make/modules/java.base/lib/CoreLibraries.gmk jdk-jdk-22-11/make/modules/java.base/lib/CoreLibraries.gmk
--- jdk-jdk-22-11.orig/make/modules/java.base/lib/CoreLibraries.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/java.base/lib/CoreLibraries.gmk    2023-08-19 19:44:58.452564383 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/java.base/lib/CoreLibraries.gmk jdk22u-jdk-22-33/make/modules/java.base/lib/CoreLibraries.gmk
--- jdk22u-jdk-22-33.orig/make/modules/java.base/lib/CoreLibraries.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/java.base/lib/CoreLibraries.gmk    2024-01-27 15:17:38.949180601 +0100
@@ -26,7 +26,7 @@
 ##########################################################################################
 
@@ -1167,15 +1156,15 @@
   ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
     LIBVERIFY_OPTIMIZATION := LOW
   endif
@@ -67,6 +67,7 @@
     LDFLAGS_windows := -delayload:shell32.dll, \
@@ -66,6 +66,7 @@
     LDFLAGS_macosx := -L$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/, \
     LIBS_unix := -ljvm, \
     LIBS_linux := $(LIBDL), \
+    LIBS_solaris := -lsocket -lnsl -lscf $(LIBDL), \
     LIBS_aix := $(LIBDL) $(LIBM),\
     LIBS_macosx := -framework CoreFoundation \
         -framework Foundation \
@@ -181,6 +182,7 @@
@@ -180,6 +181,7 @@
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LIBS_unix := $(LIBZ_LIBS), \
     LIBS_linux := $(LIBDL) -lpthread, \
@@ -1183,18 +1172,18 @@
     LIBS_aix := $(LIBDL),\
     LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
     LIBS_windows := advapi32.lib comctl32.lib user32.lib, \
diff -Nru jdk-jdk-22-11.orig/make/modules/java.base/Lib.gmk jdk-jdk-22-11/make/modules/java.base/Lib.gmk
--- jdk-jdk-22-11.orig/make/modules/java.base/Lib.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/java.base/Lib.gmk    2023-08-19 19:44:58.451473775 +0200
@@ -55,6 +55,7 @@
     LDFLAGS_windows := -delayload:secur32.dll -delayload:iphlpapi.dll, \
diff -Nru jdk22u-jdk-22-33.orig/make/modules/java.base/Lib.gmk jdk22u-jdk-22-33/make/modules/java.base/Lib.gmk
--- jdk22u-jdk-22-33.orig/make/modules/java.base/Lib.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/java.base/Lib.gmk    2024-01-27 15:17:38.948309564 +0100
@@ -56,6 +56,7 @@
         -delayload:winhttp.dll, \
     LIBS_unix := -ljvm -ljava, \
     LIBS_linux := $(LIBDL), \
+    LIBS_solaris := -lnsl -lsocket $(LIBDL), \
     LIBS_aix := $(LIBDL),\
     LIBS_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib winhttp.lib \
         delayimp.lib $(WIN_JAVA_LIB) advapi32.lib, \
@@ -81,6 +82,8 @@
@@ -82,6 +83,8 @@
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LIBS_unix := -ljava -lnet, \
     LIBS_linux := -lpthread $(LIBDL), \
@@ -1203,7 +1192,7 @@
     LIBS_aix := $(LIBDL), \
     LIBS_macosx := \
         -framework CoreFoundation -framework CoreServices, \
@@ -133,6 +136,7 @@
@@ -134,6 +137,7 @@
         LDFLAGS := $(LDFLAGS_JDKLIB) \
             $(call SET_SHARED_LIBRARY_ORIGIN), \
         LIBS_linux := $(LIBDL), \
@@ -1211,9 +1200,9 @@
         LIBS_aix := $(LIBDL), \
     ))
 
diff -Nru jdk-jdk-22-11.orig/make/modules/java.desktop/Gensrc.gmk jdk-jdk-22-11/make/modules/java.desktop/Gensrc.gmk
--- jdk-jdk-22-11.orig/make/modules/java.desktop/Gensrc.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/java.desktop/Gensrc.gmk    2023-08-19 19:44:58.453004634 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/java.desktop/Gensrc.gmk jdk22u-jdk-22-33/make/modules/java.desktop/Gensrc.gmk
--- jdk22u-jdk-22-33.orig/make/modules/java.desktop/Gensrc.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/java.desktop/Gensrc.gmk    2024-01-27 15:17:38.949602500 +0100
@@ -32,7 +32,7 @@
   include gensrc/GensrcIcons.gmk
 endif
@@ -1223,9 +1212,9 @@
   include gensrc/GensrcX11Wrappers.gmk
 endif
 
diff -Nru jdk-jdk-22-11.orig/make/modules/java.desktop/lib/Awt2dLibraries.gmk jdk-jdk-22-11/make/modules/java.desktop/lib/Awt2dLibraries.gmk
--- jdk-jdk-22-11.orig/make/modules/java.desktop/lib/Awt2dLibraries.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/java.desktop/lib/Awt2dLibraries.gmk    2023-08-19 19:44:58.454327808 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/java.desktop/lib/Awt2dLibraries.gmk jdk22u-jdk-22-33/make/modules/java.desktop/lib/Awt2dLibraries.gmk
--- jdk22u-jdk-22-33.orig/make/modules/java.desktop/lib/Awt2dLibraries.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/java.desktop/lib/Awt2dLibraries.gmk    2024-01-27 15:17:38.950706451 +0100
@@ -77,7 +77,7 @@
       #
 endif
@@ -1260,7 +1249,7 @@
      HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES -DHB_NO_VISIBILITY
    endif
 
@@ -644,7 +646,10 @@
@@ -654,7 +656,10 @@
   ifeq ($(call isTargetOs, macosx), true)
     JAWT_LIBS := -lawt_lwawt
   else
@@ -1272,7 +1261,7 @@
     ifeq ($(ENABLE_HEADLESS_ONLY), false)
       JAWT_LIBS += -lawt_xawt
     else
@@ -671,6 +676,7 @@
@@ -681,6 +686,7 @@
       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
       LDFLAGS_macosx := -Wl$(COMMA)-rpath$(COMMA)@loader_path, \
       LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \
@@ -1280,9 +1269,9 @@
       LIBS_macosx := -framework Cocoa, \
   ))
 
diff -Nru jdk-jdk-22-11.orig/make/modules/java.desktop/Lib.gmk jdk-jdk-22-11/make/modules/java.desktop/Lib.gmk
--- jdk-jdk-22-11.orig/make/modules/java.desktop/Lib.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/java.desktop/Lib.gmk    2023-08-19 19:44:58.453442410 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/java.desktop/Lib.gmk jdk22u-jdk-22-33/make/modules/java.desktop/Lib.gmk
--- jdk22u-jdk-22-33.orig/make/modules/java.desktop/Lib.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/java.desktop/Lib.gmk    2024-01-27 15:17:38.949974194 +0100
@@ -47,10 +47,15 @@
       -DX_PLATFORM=X_$(OPENJDK_TARGET_OS_UPPERCASE) \
       -DUSE_PORTS=TRUE \
@@ -1301,9 +1290,9 @@
   ifeq ($(call isTargetOs, macosx), true)
     LIBJSOUND_TOOLCHAIN := TOOLCHAIN_LINK_CXX
   endif
diff -Nru jdk-jdk-22-11.orig/make/modules/java.instrument/Lib.gmk jdk-jdk-22-11/make/modules/java.instrument/Lib.gmk
--- jdk-jdk-22-11.orig/make/modules/java.instrument/Lib.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/java.instrument/Lib.gmk    2023-08-19 19:44:58.454805784 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/java.instrument/Lib.gmk jdk22u-jdk-22-33/make/modules/java.instrument/Lib.gmk
--- jdk22u-jdk-22-33.orig/make/modules/java.instrument/Lib.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/java.instrument/Lib.gmk    2024-01-27 15:17:38.951080976 +0100
@@ -44,11 +44,13 @@
         $(call SET_SHARED_LIBRARY_ORIGIN) \
         $(LIBINSTRUMENT_LDFLAGS), \
@@ -1318,9 +1307,9 @@
     LIBS_aix := -liconv -ljli_static $(LIBDL), \
     LIBS_macosx := -ljli -liconv -framework Cocoa -framework Security \
         -framework ApplicationServices, \
diff -Nru jdk-jdk-22-11.orig/make/modules/java.management/Lib.gmk jdk-jdk-22-11/make/modules/java.management/Lib.gmk
--- jdk-jdk-22-11.orig/make/modules/java.management/Lib.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/java.management/Lib.gmk    2023-08-19 19:44:58.455308566 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/java.management/Lib.gmk jdk22u-jdk-22-33/make/modules/java.management/Lib.gmk
--- jdk22u-jdk-22-33.orig/make/modules/java.management/Lib.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/java.management/Lib.gmk    2024-01-27 15:17:38.951511529 +0100
@@ -28,7 +28,7 @@
 ################################################################################
 
@@ -1338,9 +1327,9 @@
     LIBS_aix := -lperfstat,\
     LIBS_windows := jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib, \
 ))
diff -Nru jdk-jdk-22-11.orig/make/modules/java.prefs/Lib.gmk jdk-jdk-22-11/make/modules/java.prefs/Lib.gmk
--- jdk-jdk-22-11.orig/make/modules/java.prefs/Lib.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/java.prefs/Lib.gmk    2023-08-19 19:44:58.455813471 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/java.prefs/Lib.gmk jdk22u-jdk-22-33/make/modules/java.prefs/Lib.gmk
--- jdk22u-jdk-22-33.orig/make/modules/java.prefs/Lib.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/java.prefs/Lib.gmk    2024-01-27 15:17:38.951870777 +0100
@@ -41,6 +41,7 @@
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LIBS_unix := -ljvm, \
@@ -1349,9 +1338,9 @@
     LIBS_aix := -ljava, \
     LIBS_macosx := -framework CoreFoundation -framework Foundation, \
     LIBS_windows := advapi32.lib jvm.lib $(WIN_JAVA_LIB), \
diff -Nru jdk-jdk-22-11.orig/make/modules/jdk.attach/Lib.gmk jdk-jdk-22-11/make/modules/jdk.attach/Lib.gmk
--- jdk-jdk-22-11.orig/make/modules/jdk.attach/Lib.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/jdk.attach/Lib.gmk    2023-08-19 19:44:58.456305677 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/jdk.attach/Lib.gmk jdk22u-jdk-22-33/make/modules/jdk.attach/Lib.gmk
--- jdk22u-jdk-22-33.orig/make/modules/jdk.attach/Lib.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/jdk.attach/Lib.gmk    2024-01-27 15:17:38.952222237 +0100
@@ -42,6 +42,7 @@
     LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
@@ -1360,9 +1349,9 @@
     LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib psapi.lib, \
 ))
 
diff -Nru jdk-jdk-22-11.orig/make/modules/jdk.crypto.cryptoki/Copy.gmk jdk-jdk-22-11/make/modules/jdk.crypto.cryptoki/Copy.gmk
--- jdk-jdk-22-11.orig/make/modules/jdk.crypto.cryptoki/Copy.gmk    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/make/modules/jdk.crypto.cryptoki/Copy.gmk    2023-08-19 19:44:58.518588525 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/jdk.crypto.cryptoki/Copy.gmk jdk22u-jdk-22-33/make/modules/jdk.crypto.cryptoki/Copy.gmk
--- jdk22u-jdk-22-33.orig/make/modules/jdk.crypto.cryptoki/Copy.gmk    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/jdk.crypto.cryptoki/Copy.gmk    2024-01-27 15:17:39.001878995 +0100
@@ -0,0 +1,45 @@
+#
+# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -1409,9 +1398,9 @@
+endif
+
+################################################################################
diff -Nru jdk-jdk-22-11.orig/make/modules/jdk.hotspot.agent/Lib.gmk jdk-jdk-22-11/make/modules/jdk.hotspot.agent/Lib.gmk
--- jdk-jdk-22-11.orig/make/modules/jdk.hotspot.agent/Lib.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/jdk.hotspot.agent/Lib.gmk    2023-08-19 19:44:58.456787923 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/jdk.hotspot.agent/Lib.gmk jdk22u-jdk-22-33/make/modules/jdk.hotspot.agent/Lib.gmk
--- jdk22u-jdk-22-33.orig/make/modules/jdk.hotspot.agent/Lib.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/jdk.hotspot.agent/Lib.gmk    2024-01-27 15:17:38.952577675 +0100
@@ -68,10 +68,11 @@
     CFLAGS := $(CFLAGS_JDKLIB) $(SA_CFLAGS), \
     CXXFLAGS := $(CXXFLAGS_JDKLIB) $(SA_CFLAGS) $(SA_CXXFLAGS), \
@@ -1425,9 +1414,9 @@
     LIBS_macosx := -framework Foundation \
         -framework JavaRuntimeSupport -framework Security -framework CoreFoundation, \
     LIBS_windows := dbgeng.lib $(WIN_JAVA_LIB), \
diff -Nru jdk-jdk-22-11.orig/make/modules/jdk.jdwp.agent/Lib.gmk jdk-jdk-22-11/make/modules/jdk.jdwp.agent/Lib.gmk
--- jdk-jdk-22-11.orig/make/modules/jdk.jdwp.agent/Lib.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/jdk.jdwp.agent/Lib.gmk    2023-08-19 19:44:58.457311170 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/jdk.jdwp.agent/Lib.gmk jdk22u-jdk-22-33/make/modules/jdk.jdwp.agent/Lib.gmk
--- jdk22u-jdk-22-33.orig/make/modules/jdk.jdwp.agent/Lib.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/jdk.jdwp.agent/Lib.gmk    2024-01-27 15:17:38.953002517 +0100
@@ -38,6 +38,7 @@
     LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
@@ -1444,9 +1433,9 @@
     LIBS_macosx := -liconv, \
     LIBS_aix := -liconv, \
 ))
diff -Nru jdk-jdk-22-11.orig/make/modules/jdk.management/Lib.gmk jdk-jdk-22-11/make/modules/jdk.management/Lib.gmk
--- jdk-jdk-22-11.orig/make/modules/jdk.management/Lib.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/jdk.management/Lib.gmk    2023-08-19 19:44:58.457839034 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/jdk.management/Lib.gmk jdk22u-jdk-22-33/make/modules/jdk.management/Lib.gmk
--- jdk22u-jdk-22-33.orig/make/modules/jdk.management/Lib.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/jdk.management/Lib.gmk    2024-01-27 15:17:38.953408413 +0100
@@ -35,7 +35,7 @@
 endif
 
@@ -1464,9 +1453,9 @@
     LIBS_aix := -lperfstat,\
     LIBS_windows := jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib, \
 ))
diff -Nru jdk-jdk-22-11.orig/make/modules/jdk.net/Lib.gmk jdk-jdk-22-11/make/modules/jdk.net/Lib.gmk
--- jdk-jdk-22-11.orig/make/modules/jdk.net/Lib.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/jdk.net/Lib.gmk    2023-08-19 19:44:58.458288092 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/jdk.net/Lib.gmk jdk22u-jdk-22-33/make/modules/jdk.net/Lib.gmk
--- jdk22u-jdk-22-33.orig/make/modules/jdk.net/Lib.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/jdk.net/Lib.gmk    2024-01-27 15:17:38.953761514 +0100
@@ -36,6 +36,7 @@
       LDFLAGS := $(LDFLAGS_JDKLIB) \
           $(call SET_SHARED_LIBRARY_ORIGIN), \
@@ -1475,9 +1464,9 @@
       LIBS_linux := -ljvm, \
       LIBS_windows := jvm.lib ws2_32.lib $(WIN_JAVA_LIB), \
   ))
diff -Nru jdk-jdk-22-11.orig/make/modules/jdk.sctp/Lib.gmk jdk-jdk-22-11/make/modules/jdk.sctp/Lib.gmk
--- jdk-jdk-22-11.orig/make/modules/jdk.sctp/Lib.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/modules/jdk.sctp/Lib.gmk    2023-08-19 19:44:58.458726360 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/modules/jdk.sctp/Lib.gmk jdk22u-jdk-22-33/make/modules/jdk.sctp/Lib.gmk
--- jdk22u-jdk-22-33.orig/make/modules/jdk.sctp/Lib.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/modules/jdk.sctp/Lib.gmk    2024-01-27 15:17:38.954125655 +0100
@@ -42,6 +42,7 @@
             $(call SET_SHARED_LIBRARY_ORIGIN), \
         LIBS_unix := -lnio -lnet -ljava -ljvm, \
@@ -1486,10 +1475,10 @@
     ))
 
     TARGETS += $(BUILD_LIBSCTP)
diff -Nru jdk-jdk-22-11.orig/make/RunTestsPrebuilt.gmk jdk-jdk-22-11/make/RunTestsPrebuilt.gmk
--- jdk-jdk-22-11.orig/make/RunTestsPrebuilt.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/RunTestsPrebuilt.gmk    2023-08-19 19:44:58.438424174 +0200
@@ -163,6 +163,8 @@
diff -Nru jdk22u-jdk-22-33.orig/make/RunTestsPrebuilt.gmk jdk22u-jdk-22-33/make/RunTestsPrebuilt.gmk
--- jdk22u-jdk-22-33.orig/make/RunTestsPrebuilt.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/RunTestsPrebuilt.gmk    2024-01-27 15:17:38.938166142 +0100
@@ -168,6 +168,8 @@
     OPENJDK_TARGET_OS := linux
   else ifeq ($(UNAME_OS), Darwin)
     OPENJDK_TARGET_OS := macosx
@@ -1498,7 +1487,7 @@
   else
     OPENJDK_TARGET_OS := $(UNAME_OS)
   endif
@@ -172,15 +174,28 @@
@@ -180,15 +182,28 @@
 # Assume little endian unless otherwise specified
 OPENJDK_TARGET_CPU_ENDIAN := little
 
@@ -1535,7 +1524,7 @@
 endif
 
 OPENJDK_TARGET_CPU_ARCH := $(OPENJDK_TARGET_CPU)
@@ -205,6 +220,11 @@
@@ -213,6 +228,11 @@
 else ifeq ($(OPENJDK_TARGET_OS), macosx)
   NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
   MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
@@ -1547,10 +1536,10 @@
 else ifeq ($(OPENJDK_TARGET_OS), windows)
   NUM_CORES := $(NUMBER_OF_PROCESSORS)
   MEMORY_SIZE := $(shell \
diff -Nru jdk-jdk-22-11.orig/make/RunTestsPrebuiltSpec.gmk jdk-jdk-22-11/make/RunTestsPrebuiltSpec.gmk
--- jdk-jdk-22-11.orig/make/RunTestsPrebuiltSpec.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/RunTestsPrebuiltSpec.gmk    2023-08-19 19:44:58.438865052 +0200
@@ -171,6 +171,16 @@
diff -Nru jdk22u-jdk-22-33.orig/make/RunTestsPrebuiltSpec.gmk jdk22u-jdk-22-33/make/RunTestsPrebuiltSpec.gmk
--- jdk22u-jdk-22-33.orig/make/RunTestsPrebuiltSpec.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/RunTestsPrebuiltSpec.gmk    2024-01-27 15:17:38.938538174 +0100
@@ -173,6 +173,16 @@
 FILE := file
 ULIMIT := ulimit
 
@@ -1567,9 +1556,9 @@
 ifeq ($(OPENJDK_BUILD_OS), windows)
   PATHTOOL := cygpath
 endif
diff -Nru jdk-jdk-22-11.orig/make/scripts/compare_exceptions.sh.incl jdk-jdk-22-11/make/scripts/compare_exceptions.sh.incl
--- jdk-jdk-22-11.orig/make/scripts/compare_exceptions.sh.incl    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/scripts/compare_exceptions.sh.incl    2023-08-19 19:44:58.460104166 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/scripts/compare_exceptions.sh.incl jdk22u-jdk-22-33/make/scripts/compare_exceptions.sh.incl
--- jdk22u-jdk-22-33.orig/make/scripts/compare_exceptions.sh.incl    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/scripts/compare_exceptions.sh.incl    2024-01-27 15:17:38.955242100 +0100
@@ -45,6 +45,20 @@
         ./hotspot/gtest/server/libjvm.so
         "
@@ -1591,9 +1580,9 @@
 elif [ "$OPENJDK_TARGET_OS" = "windows" ]; then
   SKIP_BIN_DIFF="true"
   SKIP_FULLDUMP_DIFF="true"
diff -Nru jdk-jdk-22-11.orig/make/scripts/compare.sh jdk-jdk-22-11/make/scripts/compare.sh
--- jdk-jdk-22-11.orig/make/scripts/compare.sh    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/scripts/compare.sh    2023-08-19 19:44:58.459669122 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/scripts/compare.sh jdk22u-jdk-22-33/make/scripts/compare.sh
--- jdk22u-jdk-22-33.orig/make/scripts/compare.sh    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/scripts/compare.sh    2024-01-27 15:17:38.954895430 +0100
@@ -73,7 +73,14 @@
 # Disassembly diff filters. These filters try to filter out ephemeral parts of the
 # disassembly, such as hard-coded addresses, to be able to catch "actual" differences.
@@ -1654,9 +1643,9 @@
     elif [ "$OPENJDK_TARGET_OS" = "aix" ]; then
         $OBJDUMP -T $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
         $OBJDUMP -T $ORIG_THIS_FILE  2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
diff -Nru jdk-jdk-22-11.orig/make/scripts/hide_important_warnings_from_javac.sh jdk-jdk-22-11/make/scripts/hide_important_warnings_from_javac.sh
--- jdk-jdk-22-11.orig/make/scripts/hide_important_warnings_from_javac.sh    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/scripts/hide_important_warnings_from_javac.sh    2023-08-19 19:44:58.460486289 +0200
diff -Nru jdk22u-jdk-22-33.orig/make/scripts/hide_important_warnings_from_javac.sh jdk22u-jdk-22-33/make/scripts/hide_important_warnings_from_javac.sh
--- jdk22u-jdk-22-33.orig/make/scripts/hide_important_warnings_from_javac.sh    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/scripts/hide_important_warnings_from_javac.sh    2024-01-27 15:17:38.955578057 +0100
@@ -22,8 +22,13 @@
 # questions.
 #
@@ -1673,10 +1662,10 @@
 #
 EXP="Note: Some input files use or override a deprecated API."
 EXP="${EXP}|Note: Recompile with -Xlint:deprecation for details."
diff -Nru jdk-jdk-22-11.orig/make/test/JtregNativeHotspot.gmk jdk-jdk-22-11/make/test/JtregNativeHotspot.gmk
--- jdk-jdk-22-11.orig/make/test/JtregNativeHotspot.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/test/JtregNativeHotspot.gmk    2023-08-19 19:44:58.461384017 +0200
@@ -858,6 +858,10 @@
diff -Nru jdk22u-jdk-22-33.orig/make/test/JtregNativeHotspot.gmk jdk22u-jdk-22-33/make/test/JtregNativeHotspot.gmk
--- jdk22u-jdk-22-33.orig/make/test/JtregNativeHotspot.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/test/JtregNativeHotspot.gmk    2024-01-27 15:17:38.956360517 +0100
@@ -859,6 +859,10 @@
 
 BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exesigtest := -ljvm
 
@@ -1686,10 +1675,10 @@
+
 ifeq ($(call isTargetOs, windows), true)
   BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
   BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c libTestJNI.c libCompleteExit.c libTestPsig.c exeGetCreatedJavaVMs.c
diff -Nru jdk-jdk-22-11.orig/make/test/JtregNativeJdk.gmk jdk-jdk-22-11/make/test/JtregNativeJdk.gmk
--- jdk-jdk-22-11.orig/make/test/JtregNativeJdk.gmk    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/make/test/JtregNativeJdk.gmk    2023-08-19 19:44:58.461823647 +0200
   BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c libTestJNI.c libCompleteExit.c libMonitorWithDeadObjectTest.c libTestPsig.c exeGetCreatedJavaVMs.c
diff -Nru jdk22u-jdk-22-33.orig/make/test/JtregNativeJdk.gmk jdk22u-jdk-22-33/make/test/JtregNativeJdk.gmk
--- jdk22u-jdk-22-33.orig/make/test/JtregNativeJdk.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/test/JtregNativeJdk.gmk    2024-01-27 15:17:38.956723344 +0100
@@ -107,6 +107,9 @@
   ifeq ($(call isTargetOs, linux), true)
     BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
@@ -1700,9 +1689,9 @@
   endif
   BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := -ljli
   BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeCallerAccessTest := -ljvm
diff -Nru jdk-jdk-22-11.orig/src/hotspot/cpu/x86/globalDefinitions_x86.hpp jdk-jdk-22-11/src/hotspot/cpu/x86/globalDefinitions_x86.hpp
--- jdk-jdk-22-11.orig/src/hotspot/cpu/x86/globalDefinitions_x86.hpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/cpu/x86/globalDefinitions_x86.hpp    2023-08-19 19:44:58.462407358 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/cpu/x86/globalDefinitions_x86.hpp jdk22u-jdk-22-33/src/hotspot/cpu/x86/globalDefinitions_x86.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/cpu/x86/globalDefinitions_x86.hpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/cpu/x86/globalDefinitions_x86.hpp    2024-01-27 15:17:38.957214653 +0100
@@ -68,7 +68,7 @@
 #define INCLUDE_RTM_OPT 1
 #endif
@@ -1712,9 +1701,9 @@
 #define SUPPORT_RESERVED_STACK_AREA
 #endif
 
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/posix/include/jvm_md.h jdk-jdk-22-11/src/hotspot/os/posix/include/jvm_md.h
--- jdk-jdk-22-11.orig/src/hotspot/os/posix/include/jvm_md.h    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/os/posix/include/jvm_md.h    2023-08-19 19:44:58.462962511 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/posix/include/jvm_md.h jdk22u-jdk-22-33/src/hotspot/os/posix/include/jvm_md.h
--- jdk22u-jdk-22-33.orig/src/hotspot/os/posix/include/jvm_md.h    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/posix/include/jvm_md.h    2024-01-27 15:17:38.957651161 +0100
@@ -54,7 +54,7 @@
 #endif
 #define JNI_LIB_NAME(NAME) JNI_LIB_PREFIX NAME JNI_LIB_SUFFIX
@@ -1739,10 +1728,10 @@
+#define JSIG_VERSION_1_4_1   0x30140100
+
 #endif /* !_JAVASOFT_JVM_MD_H_ */
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/posix/os_posix.cpp jdk-jdk-22-11/src/hotspot/os/posix/os_posix.cpp
--- jdk-jdk-22-11.orig/src/hotspot/os/posix/os_posix.cpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/os/posix/os_posix.cpp    2023-08-19 19:44:58.463834624 +0200
@@ -499,7 +499,7 @@
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/posix/os_posix.cpp jdk22u-jdk-22-33/src/hotspot/os/posix/os_posix.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/posix/os_posix.cpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/posix/os_posix.cpp    2024-01-27 15:17:38.958390085 +0100
@@ -498,7 +498,7 @@
   st->print("%d", sysconf(_SC_CHILD_MAX));
 
   print_rlimit(st, ", THREADS", RLIMIT_THREADS);
@@ -1751,7 +1740,7 @@
   print_rlimit(st, ", NPROC", RLIMIT_NPROC);
 #endif
 
@@ -517,6 +517,12 @@
@@ -516,6 +516,12 @@
   print_rlimit(st, ", MEMLOCK", RLIMIT_MEMLOCK, true);
 #endif
 
@@ -1764,9 +1753,9 @@
   // MacOS; The maximum size (in bytes) to which a process's resident set size may grow.
 #if defined(__APPLE__)
   print_rlimit(st, ", RSS", RLIMIT_RSS, true);
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/posix/os_posix.inline.hpp jdk-jdk-22-11/src/hotspot/os/posix/os_posix.inline.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os/posix/os_posix.inline.hpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/os/posix/os_posix.inline.hpp    2023-08-19 19:44:58.464249224 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/posix/os_posix.inline.hpp jdk22u-jdk-22-33/src/hotspot/os/posix/os_posix.inline.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/posix/os_posix.inline.hpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/posix/os_posix.inline.hpp    2024-01-27 15:17:38.958741038 +0100
@@ -34,8 +34,10 @@
 #include <sys/socket.h>
 #include <netdb.h>
@@ -1778,9 +1767,9 @@
 
 // Platform Mutex/Monitor implementation
 
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/posix/vmError_posix.cpp jdk-jdk-22-11/src/hotspot/os/posix/vmError_posix.cpp
--- jdk-jdk-22-11.orig/src/hotspot/os/posix/vmError_posix.cpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/os/posix/vmError_posix.cpp    2023-08-19 19:44:58.464646561 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/posix/vmError_posix.cpp jdk22u-jdk-22-33/src/hotspot/os/posix/vmError_posix.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/posix/vmError_posix.cpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/posix/vmError_posix.cpp    2024-01-27 15:17:38.959061402 +0100
@@ -40,6 +40,9 @@
 #include <sys/syscall.h>
 #include <unistd.h>
@@ -1791,10 +1780,10 @@
 #ifdef AIX
 #include <unistd.h>
 #endif
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/attachListener_solaris.cpp jdk-jdk-22-11/src/hotspot/os/solaris/attachListener_solaris.cpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/attachListener_solaris.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/attachListener_solaris.cpp    2023-08-19 19:44:58.519352196 +0200
@@ -0,0 +1,739 @@
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/attachListener_solaris.cpp jdk22u-jdk-22-33/src/hotspot/os/solaris/attachListener_solaris.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/attachListener_solaris.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/attachListener_solaris.cpp    2024-01-27 15:17:39.002492939 +0100
@@ -0,0 +1,715 @@
+/*
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -2507,36 +2496,12 @@
+  { NULL, NULL }
+};
+
+// Solaris specific global flag set.
+jint AttachListener::pd_set_flag(AttachOperation* op, outputStream* out) {
+  const char* name = op->arg(0);
+  assert(name != NULL, "flag name should not be null");
+  bool flag = true;
+  const char* arg1;
+  if ((arg1 = op->arg(1)) != NULL) {
+    char *end;
+    flag = (strtol(arg1, &end, 10) != 0);
+    if (arg1 == end) {
+      out->print_cr("flag value has to be an integer");
+      return JNI_ERR;
+    }
+  }
+
+  if (strcmp(name, "DTraceMonitorProbes") == 0) {
+    DTrace::set_monitor_dprobes(flag);
+    return JNI_OK;
+  }
+
+  out->print_cr("flag '%s' cannot be changed", name);
+  return JNI_ERR;
+}
+
+void AttachListener::pd_detachall() {
+  DTrace::detach_all_clients();
+}
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/c1_globals_solaris.hpp jdk-jdk-22-11/src/hotspot/os/solaris/c1_globals_solaris.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/c1_globals_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/c1_globals_solaris.hpp    2023-08-19 19:44:58.519654924 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/c1_globals_solaris.hpp jdk22u-jdk-22-33/src/hotspot/os/solaris/c1_globals_solaris.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/c1_globals_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/c1_globals_solaris.hpp    2024-01-27 15:17:39.002751547 +0100
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -2574,9 +2539,9 @@
+//
+
+#endif // OS_SOLARIS_C1_GLOBALS_SOLARIS_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/c2_globals_solaris.hpp jdk-jdk-22-11/src/hotspot/os/solaris/c2_globals_solaris.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/c2_globals_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/c2_globals_solaris.hpp    2023-08-19 19:44:58.519964029 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/c2_globals_solaris.hpp jdk22u-jdk-22-33/src/hotspot/os/solaris/c2_globals_solaris.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/c2_globals_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/c2_globals_solaris.hpp    2024-01-27 15:17:39.002992092 +0100
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -2614,9 +2579,9 @@
+//
+
+#endif // OS_SOLARIS_C2_GLOBALS_SOLARIS_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/decoder_solaris.cpp jdk-jdk-22-11/src/hotspot/os/solaris/decoder_solaris.cpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/decoder_solaris.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/decoder_solaris.cpp    2023-08-19 19:44:58.520265000 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/decoder_solaris.cpp jdk22u-jdk-22-33/src/hotspot/os/solaris/decoder_solaris.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/decoder_solaris.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/decoder_solaris.cpp    2024-01-27 15:17:39.003231394 +0100
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -2650,9 +2615,9 @@
+  return !cplus_demangle(symbol, buf, (size_t)buflen);
+}
+
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/dtrace/jhelper.d jdk-jdk-22-11/src/hotspot/os/solaris/dtrace/jhelper.d
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/dtrace/jhelper.d    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/dtrace/jhelper.d    2023-08-19 19:44:58.521292677 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/dtrace/jhelper.d jdk22u-jdk-22-33/src/hotspot/os/solaris/dtrace/jhelper.d
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/dtrace/jhelper.d    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/dtrace/jhelper.d    2024-01-27 15:17:39.004082968 +0100
@@ -0,0 +1,540 @@
+/*
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -3194,9 +3159,9 @@
+{
+  NULL;
+}
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/globals_solaris.hpp jdk-jdk-22-11/src/hotspot/os/solaris/globals_solaris.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/globals_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/globals_solaris.hpp    2023-08-19 19:44:58.521608405 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/globals_solaris.hpp jdk22u-jdk-22-33/src/hotspot/os/solaris/globals_solaris.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/globals_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/globals_solaris.hpp    2024-01-27 15:17:39.004351708 +0100
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved.
@@ -3247,9 +3212,9 @@
+define_pd_global(bool, UseThreadPriorities, false);
+
+#endif // OS_SOLARIS_GLOBALS_SOLARIS_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/os_perf_solaris.cpp jdk-jdk-22-11/src/hotspot/os/solaris/os_perf_solaris.cpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/os_perf_solaris.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/os_perf_solaris.cpp    2023-08-19 19:44:58.522905097 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/os_perf_solaris.cpp jdk22u-jdk-22-33/src/hotspot/os/solaris/os_perf_solaris.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/os_perf_solaris.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/os_perf_solaris.cpp    2024-01-27 15:17:39.005414243 +0100
@@ -0,0 +1,808 @@
+/*
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -4059,10 +4024,10 @@
+int NetworkPerformanceInterface::network_utilization(NetworkInterface** network_interfaces) const {
+  return _impl->network_utilization(network_interfaces);
+}
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/os_solaris.cpp jdk-jdk-22-11/src/hotspot/os/solaris/os_solaris.cpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/os_solaris.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/os_solaris.cpp    2023-08-19 19:44:58.525299177 +0200
@@ -0,0 +1,3129 @@
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/os_solaris.cpp jdk22u-jdk-22-33/src/hotspot/os/solaris/os_solaris.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/os_solaris.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/os_solaris.cpp    2024-01-27 15:17:39.007489107 +0100
@@ -0,0 +1,3033 @@
+/*
+ * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -4130,10 +4095,11 @@
+#include "runtime/vm_version.hpp"
+#include "semaphore_posix.hpp"
+#include "services/attachListener.hpp"
+#include "services/memTracker.hpp"
+#include "nmt/memTracker.hpp"
+#include "services/runtimeService.hpp"
+#include "signals_posix.hpp"
+#include "utilities/align.hpp"
+#include "utilities/checkedCast.hpp"
+#include "utilities/decoder.hpp"
+#include "utilities/defaultStream.hpp"
+#include "utilities/events.hpp"
@@ -4265,8 +4231,8 @@
+  return r == 1;
+}
+
+address os::current_stack_base() {
+  bool _is_primordial_thread = is_primordial_thread();
+address os::Solaris::current_stack_base() {
+  bool _is_primordial_thread = os::is_primordial_thread();
+
+  // Workaround 4352906, avoid calls to thr_stksegment by
+  // thr_main after the first one (it looks like we trash
@@ -4284,10 +4250,10 @@
+  }
+}
+
+size_t os::current_stack_size() {
+size_t os::Solaris::current_stack_size() {
+  size_t size;
+
+  if (!is_primordial_thread()) {
+  if (!os::is_primordial_thread()) {
+    size = get_stack_info().ss_size;
+  } else {
+    struct rlimit limits;
@@ -4298,6 +4264,11 @@
+  address base = current_stack_base();
+  address bottom = align_up(base - size, os::vm_page_size());;
+  return (size_t)(base - bottom);
+}
+
+void os::current_stack_base_and_size(address* stack_base, size_t* stack_size) {
+  *stack_base = os::Solaris::current_stack_base();
+  *stack_size = os::Solaris::current_stack_size();
+}
+
+jint os::Solaris::_os_thread_limit = 0;
@@ -4838,7 +4809,7 @@
+    // as much like a native attached thread as possible.  This means using
+    // the current stack size from thr_stksegment(), unless it is too large
+    // to reliably setup guard pages.  A reasonable max size is 8MB.
+    size_t current_size = os::current_stack_size();
+    size_t current_size = current_stack_size();
+    // This should never happen, but just in case....
+    if (current_size == 0) current_size = 2 * K * K;
+    stack_size = current_size > (8 * K * K) ? (8 * K * K) : current_size;
@@ -4957,8 +4928,8 @@
+  return false;
+}
+
+typedef int (*dladdr1_func_type)(void *, Dl_info *, void **, int);
+static dladdr1_func_type dladdr1_func = NULL;
+void os::prepare_native_symbols() {
+}
+
+bool os::dll_address_to_function_name(address addr, char *buf,
+                                      int buflen, int * offset,
@@ -4968,62 +4939,28 @@
+
+  Dl_info dlinfo;
+
+  // dladdr1_func was initialized in os::init()
+  if (dladdr1_func != NULL) {
+    // yes, we have dladdr1
+
+    // Support for dladdr1 is checked at runtime; it may be
+    // available even if the vm is built on a machine that does
+    // not have dladdr1 support.  Make sure there is a value for
+    // RTLD_DL_SYMENT.
+#ifndef RTLD_DL_SYMENT
+  #define RTLD_DL_SYMENT 1
+#endif
+#ifdef _LP64
+    Elf64_Sym * info;
+  Elf64_Sym * info;
+#else
+    Elf32_Sym * info;
+  Elf32_Sym * info;
+#endif
+    if (dladdr1_func((void *)addr, &dlinfo, (void **)&info,
+  if (dladdr1((void *)addr, &dlinfo, (void **)&info,
+                     RTLD_DL_SYMENT) != 0) {
+      // see if we have a matching symbol that covers our address
+      if (dlinfo.dli_saddr != NULL &&
+    // see if we have a matching symbol that covers our address
+    if (dlinfo.dli_saddr != NULL &&
+          (char *)dlinfo.dli_saddr + info->st_size > (char *)addr) {
+        if (dlinfo.dli_sname != NULL) {
+          if (!(demangle && Decoder::demangle(dlinfo.dli_sname, buf, buflen))) {
+            jio_snprintf(buf, buflen, "%s", dlinfo.dli_sname);
+          }
+          if (offset != NULL) *offset = addr - (address)dlinfo.dli_saddr;
+          return true;
+      if (dlinfo.dli_sname != NULL) {
+        if (!(demangle && Decoder::demangle(dlinfo.dli_sname, buf, buflen))) {
+          jio_snprintf(buf, buflen, "%s", dlinfo.dli_sname);
+        }
+        if (offset != NULL) *offset = addr - (address)dlinfo.dli_saddr;
+        return true;
+      }
+      // no matching symbol so try for just file info
+      if (dlinfo.dli_fname != NULL && dlinfo.dli_fbase != NULL) {
+        if (Decoder::decode((address)(addr - (address)dlinfo.dli_fbase),
+                            buf, buflen, offset, dlinfo.dli_fname, demangle)) {
+          return true;
+        }
+      }
+    }
+    buf[0] = '\0';
+    if (offset != NULL) *offset  = -1;
+    return false;
+  }
+
+  // no, only dladdr is available
+  if (dladdr((void *)addr, &dlinfo) != 0) {
+    // see if we have a matching symbol
+    if (dlinfo.dli_saddr != NULL && dlinfo.dli_sname != NULL) {
+      if (!(demangle && Decoder::demangle(dlinfo.dli_sname, buf, buflen))) {
+        jio_snprintf(buf, buflen, dlinfo.dli_sname);
+      }
+      if (offset != NULL) *offset = addr - (address)dlinfo.dli_saddr;
+      return true;
+    }
+    // no matching symbol so try for just file info
+    if (dlinfo.dli_fname != NULL && dlinfo.dli_fbase != NULL) {
+      if (Decoder::decode((address)(addr - (address)dlinfo.dli_fbase),
+                          buf, buflen, offset, dlinfo.dli_fname, demangle)) {
+                            buf, buflen, offset, dlinfo.dli_fname, demangle)) {
+        return true;
+      }
+    }
@@ -5690,7 +5627,7 @@
+// Get a list of leaf locality groups. A leaf lgroup is group that
+// doesn't have any children. Typical leaf group is a CPU or a CPU/memory
+// board. An LWP is assigned to one of these groups upon creation.
+size_t os::numa_get_leaf_groups(int *ids, size_t size) {
+size_t os::numa_get_leaf_groups(uint *ids, size_t size) {
+  if ((ids[0] = Solaris::lgrp_root(Solaris::lgrp_cookie())) == -1) {
+    ids[0] = 0;
+    return 1;
@@ -5761,69 +5698,6 @@
+
+bool os::numa_get_group_ids_for_range(const void** addresses, int* lgrp_ids, size_t count) {
+  return false;
+}
+
+// Scan the pages from start to end until a page different than
+// the one described in the info parameter is encountered.
+char *os::scan_pages(char *start, char* end, page_info* page_expected,
+                     page_info* page_found) {
+  const uint_t info_types[] = { MEMINFO_VLGRP, MEMINFO_VPAGESIZE };
+  const size_t types = sizeof(info_types) / sizeof(info_types[0]);
+  uint64_t addrs[MAX_MEMINFO_CNT], outdata[types * MAX_MEMINFO_CNT + 1];
+  uint_t validity[MAX_MEMINFO_CNT];
+
+  size_t page_size = MAX2((size_t)os::vm_page_size(), page_expected->size);
+  uint64_t p = (uint64_t)start;
+  while (p < (uint64_t)end) {
+    addrs[0] = p;
+    size_t addrs_count = 1;
+    while (addrs_count < MAX_MEMINFO_CNT && addrs[addrs_count - 1] + page_size < (uint64_t)end) {
+      addrs[addrs_count] = addrs[addrs_count - 1] + page_size;
+      addrs_count++;
+    }
+
+    if (meminfo(addrs, addrs_count, info_types, types, outdata, validity) < 0) {
+      return NULL;
+    }
+
+    size_t i = 0;
+    for (; i < addrs_count; i++) {
+      if ((validity[i] & 1) != 0) {
+        if ((validity[i] & 4) != 0) {
+          if (outdata[types * i + 1] != page_expected->size) {
+            break;
+          }
+        } else if (page_expected->size != 0) {
+          break;
+        }
+
+        if ((validity[i] & 2) != 0 && page_expected->lgrp_id > 0) {
+          if (outdata[types * i] != page_expected->lgrp_id) {
+            break;
+          }
+        }
+      } else {
+        return NULL;
+      }
+    }
+
+    if (i < addrs_count) {
+      if ((validity[i] & 2) != 0) {
+        page_found->lgrp_id = outdata[types * i];
+      } else {
+        page_found->lgrp_id = -1;
+      }
+      if ((validity[i] & 4) != 0) {
+        page_found->size = outdata[types * i + 1];
+      } else {
+        page_found->size = 0;
+      }
+      return (char*)addrs[i];
+    }
+
+    p = addrs[addrs_count - 1] + page_size;
+  }
+  return end;
+}
+
+bool os::pd_uncommit_memory(char* addr, size_t bytes, bool exec) {
@@ -6030,6 +5904,10 @@
+  return true;
+}
+
+size_t os::vm_min_address() {
+  return _vm_min_address_default;
+}
+
+// Used to convert frequent JVM_Yield() to nops
+bool os::dont_yield() {
+  if (DontYieldALot) {
@@ -6601,15 +6479,6 @@
+
+  clock_tics_per_sec = CLK_TCK;
+
+  // check if dladdr1() exists; dladdr1 can provide more information than
+  // dladdr for os::dll_address_to_function_name. It comes with SunOS 5.9
+  // and is available on linker patches for 5.7 and 5.8.
+  // libdl.so must have been loaded, this call is just an entry lookup
+  void * hdl = dlopen("libdl.so", RTLD_NOW);
+  if (hdl) {
+    dladdr1_func = CAST_TO_FN_PTR(dladdr1_func_type, dlsym(hdl, "dladdr1"));
+  }
+
+  // main_thread points to the thread that created/loaded the JVM.
+  main_thread = thr_self();
+
@@ -6641,9 +6510,9 @@
+      FLAG_SET_ERGO(UseNUMA, false);
+    } else {
+      size_t lgrp_limit = os::numa_get_groups_num();
+      int *lgrp_ids = NEW_C_HEAP_ARRAY(int, lgrp_limit, mtInternal);
+      uint *lgrp_ids = NEW_C_HEAP_ARRAY(uint, lgrp_limit, mtInternal);
+      size_t lgrp_num = os::numa_get_leaf_groups(lgrp_ids, lgrp_limit);
+      FREE_C_HEAP_ARRAY(int, lgrp_ids);
+      FREE_C_HEAP_ARRAY(uint, lgrp_ids);
+      if (lgrp_num < 2) {
+        // There's only one locality group, disable NUMA
+        UseNUMA = false;
@@ -7192,10 +7061,10 @@
+void os::jfr_report_memory_info() {}
+
+#endif // INCLUDE_JFR
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/os_solaris.hpp jdk-jdk-22-11/src/hotspot/os/solaris/os_solaris.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/os_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/os_solaris.hpp    2023-08-19 19:44:58.525734451 +0200
@@ -0,0 +1,198 @@
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/os_solaris.hpp jdk22u-jdk-22-33/src/hotspot/os/solaris/os_solaris.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/os_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/os_solaris.hpp    2024-01-27 15:17:39.007829819 +0100
@@ -0,0 +1,201 @@
+/*
+ * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -7315,6 +7184,9 @@
+  static char* anon_mmap(char* requested_addr, size_t bytes);
+  static bool mpss_sanity_check(bool warn, size_t * page_size);
+
+  static address current_stack_base();
+  static size_t current_stack_size();
+
+  // Workaround for 4352906. thr_stksegment sometimes returns
+  // a bad value for the primordial thread's stack base when
+  // it is called more than one time.
@@ -7394,9 +7266,9 @@
+
+};
+#endif // OS_SOLARIS_OS_SOLARIS_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/os_solaris.inline.hpp jdk-jdk-22-11/src/hotspot/os/solaris/os_solaris.inline.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/os_solaris.inline.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/os_solaris.inline.hpp    2023-08-19 19:44:58.526070284 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/os_solaris.inline.hpp jdk22u-jdk-22-33/src/hotspot/os/solaris/os_solaris.inline.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/os_solaris.inline.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/os_solaris.inline.hpp    2024-01-27 15:17:39.008099541 +0100
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -7470,9 +7342,9 @@
+inline bool os::numa_has_group_homing()     { return true;  }
+
+#endif // OS_SOLARIS_OS_SOLARIS_INLINE_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/osThread_solaris.cpp jdk-jdk-22-11/src/hotspot/os/solaris/osThread_solaris.cpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/osThread_solaris.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/osThread_solaris.cpp    2023-08-19 19:44:58.521922114 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/osThread_solaris.cpp jdk22u-jdk-22-33/src/hotspot/os/solaris/osThread_solaris.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/osThread_solaris.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/osThread_solaris.cpp    2024-01-27 15:17:39.004598664 +0100
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
@@ -7521,9 +7393,9 @@
+
+void OSThread::pd_destroy() {
+}
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/osThread_solaris.hpp jdk-jdk-22-11/src/hotspot/os/solaris/osThread_solaris.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/osThread_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/osThread_solaris.hpp    2023-08-19 19:44:58.522256983 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/osThread_solaris.hpp jdk22u-jdk-22-33/src/hotspot/os/solaris/osThread_solaris.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/osThread_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/osThread_solaris.hpp    2024-01-27 15:17:39.004872178 +0100
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -7618,9 +7490,9 @@
+  void pd_destroy();
+
+#endif // OS_SOLARIS_OSTHREAD_SOLARIS_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os/solaris/vmStructs_solaris.hpp jdk-jdk-22-11/src/hotspot/os/solaris/vmStructs_solaris.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os/solaris/vmStructs_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os/solaris/vmStructs_solaris.hpp    2023-08-19 19:44:58.526380529 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/vmStructs_solaris.hpp jdk22u-jdk-22-33/src/hotspot/os/solaris/vmStructs_solaris.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os/solaris/vmStructs_solaris.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os/solaris/vmStructs_solaris.hpp    2024-01-27 15:17:39.008358785 +0100
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -7666,9 +7538,9 @@
+#define VM_ADDRESSES_OS(declare_address, declare_preprocessor_address, declare_function)
+
+#endif // OS_SOLARIS_VMSTRUCTS_SOLARIS_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/assembler_solaris_x86.cpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/assembler_solaris_x86.cpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/assembler_solaris_x86.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/assembler_solaris_x86.cpp    2023-08-19 19:44:58.526833383 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/assembler_solaris_x86.cpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/assembler_solaris_x86.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/assembler_solaris_x86.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/assembler_solaris_x86.cpp    2024-01-27 15:17:39.008682917 +0100
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
@@ -7707,9 +7579,9 @@
+  pop(rdx);
+  pop(rax);
+}
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/atomic_solaris_x86.hpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/atomic_solaris_x86.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/atomic_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/atomic_solaris_x86.hpp    2023-08-19 19:44:58.527239712 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/atomic_solaris_x86.hpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/atomic_solaris_x86.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/atomic_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/atomic_solaris_x86.hpp    2024-01-27 15:17:39.009006090 +0100
@@ -0,0 +1,182 @@
+/*
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -7893,9 +7765,9 @@
+}
+
+#endif // OS_CPU_SOLARIS_X86_ATOMIC_SOLARIS_X86_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/bytes_solaris_x86.hpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/bytes_solaris_x86.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/bytes_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/bytes_solaris_x86.hpp    2023-08-19 19:44:58.527537731 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/bytes_solaris_x86.hpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/bytes_solaris_x86.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/bytes_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/bytes_solaris_x86.hpp    2024-01-27 15:17:39.009247339 +0100
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -7957,9 +7829,9 @@
+}
+
+#endif // OS_CPU_SOLARIS_X86_BYTES_SOLARIS_X86_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/copy_solaris_x86.hpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/copy_solaris_x86.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/copy_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/copy_solaris_x86.hpp    2023-08-19 19:44:58.527825815 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/copy_solaris_x86.hpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/copy_solaris_x86.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/copy_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/copy_solaris_x86.hpp    2024-01-27 15:17:39.009479377 +0100
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -7991,9 +7863,9 @@
+// now in central copy_x86.hpp
+
+#endif // OS_CPU_SOLARIS_X86_COPY_SOLARIS_X86_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/globals_solaris_x86.hpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/globals_solaris_x86.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/globals_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/globals_solaris_x86.hpp    2023-08-19 19:44:58.528129100 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/globals_solaris_x86.hpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/globals_solaris_x86.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/globals_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/globals_solaris_x86.hpp    2024-01-27 15:17:39.009724792 +0100
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -8035,9 +7907,9 @@
+define_pd_global(size_t, HeapBaseMinAddress,     2*G);
+
+#endif // OS_CPU_SOLARIS_X86_GLOBALS_SOLARIS_X86_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.cpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.cpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.cpp    2023-08-19 19:44:58.530864924 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.cpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.cpp    2024-01-27 15:17:39.011981217 +0100
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
@@ -8136,9 +8008,9 @@
+}
+
+void JavaThread::cache_global_variables() { }
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.hpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.hpp    2023-08-19 19:44:58.531170250 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.hpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/javaThread_solaris_x86.hpp    2024-01-27 15:17:39.012223010 +0100
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -8199,9 +8071,9 @@
+  static void disable_register_stack_guard() {}
+
+#endif // OS_CPU_SOLARIS_X86_JAVATHREAD_SOLARIS_X86_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp    2023-08-19 19:44:58.528469105 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp    2024-01-27 15:17:39.009976083 +0100
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -8261,9 +8133,9 @@
+}
+
+#endif // OS_CPU_SOLARIS_X86_ORDERACCESS_SOLARIS_X86_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp    2023-08-19 19:44:58.529121106 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp    2024-01-27 15:17:39.010533396 +0100
@@ -0,0 +1,662 @@
+/*
+ * Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
@@ -8927,9 +8799,9 @@
+  // JDK-8050147 requires the full cache line bang for x86.
+  return VM_Version::L1_line_size();
+}
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp    2023-08-19 19:44:58.529447165 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp    2024-01-27 15:17:39.010851604 +0100
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -8986,9 +8858,9 @@
+  static bool register_code_area(char *low, char *high) { return true; }
+
+#endif // OS_CPU_SOLARIS_X86_OS_SOLARIS_X86_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.inline.hpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.inline.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.inline.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.inline.hpp    2023-08-19 19:44:58.529760690 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.inline.hpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.inline.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.inline.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.inline.hpp    2024-01-27 15:17:39.011088078 +0100
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -9029,9 +8901,9 @@
+}
+
+#endif // OS_CPU_SOLARIS_X86_OS_SOLARIS_X86_INLINE_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/prefetch_solaris_x86.inline.hpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/prefetch_solaris_x86.inline.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/prefetch_solaris_x86.inline.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/prefetch_solaris_x86.inline.hpp    2023-08-19 19:44:58.530067651 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/prefetch_solaris_x86.inline.hpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/prefetch_solaris_x86.inline.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/prefetch_solaris_x86.inline.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/prefetch_solaris_x86.inline.hpp    2024-01-27 15:17:39.011333540 +0100
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -9075,9 +8947,9 @@
+}
+
+#endif // OS_CPU_SOLARIS_X86_PREFETCH_SOLARIS_X86_INLINE_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/solaris_x86_64.S jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/solaris_x86_64.S
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/solaris_x86_64.S    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/solaris_x86_64.S    2023-08-19 19:44:58.530531799 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/solaris_x86_64.S jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/solaris_x86_64.S
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/solaris_x86_64.S    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/solaris_x86_64.S    2024-01-27 15:17:39.011716678 +0100
@@ -0,0 +1,386 @@
+#
+# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
@@ -9465,9 +9337,9 @@
+        addq     $4,%rdx
+        jg       4b
+        ret
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/vm_version_solaris_x86.cpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/vm_version_solaris_x86.cpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/vm_version_solaris_x86.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/vm_version_solaris_x86.cpp    2023-08-19 19:44:58.531756219 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/vm_version_solaris_x86.cpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/vm_version_solaris_x86.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/vm_version_solaris_x86.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/vm_version_solaris_x86.cpp    2024-01-27 15:17:39.012702755 +0100
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -9497,9 +9369,9 @@
+#include "runtime/os.hpp"
+#include "runtime/vm_version.hpp"
+
diff -Nru jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/vmStructs_solaris_x86.hpp jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/vmStructs_solaris_x86.hpp
--- jdk-jdk-22-11.orig/src/hotspot/os_cpu/solaris_x86/vmStructs_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/os_cpu/solaris_x86/vmStructs_solaris_x86.hpp    2023-08-19 19:44:58.531467871 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/vmStructs_solaris_x86.hpp jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/vmStructs_solaris_x86.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/os_cpu/solaris_x86/vmStructs_solaris_x86.hpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/os_cpu/solaris_x86/vmStructs_solaris_x86.hpp    2024-01-27 15:17:39.012472867 +0100
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -9541,9 +9413,9 @@
+#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
+
+#endif // OS_CPU_SOLARIS_X86_VMSTRUCTS_SOLARIS_X86_HPP
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/c1/c1_LIR.cpp jdk-jdk-22-11/src/hotspot/share/c1/c1_LIR.cpp
--- jdk-jdk-22-11.orig/src/hotspot/share/c1/c1_LIR.cpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/c1/c1_LIR.cpp    2023-08-19 19:44:58.465595736 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/c1/c1_LIR.cpp jdk22u-jdk-22-33/src/hotspot/share/c1/c1_LIR.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/c1/c1_LIR.cpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/c1/c1_LIR.cpp    2024-01-27 15:17:38.959801283 +0100
@@ -446,6 +446,8 @@
     case lir_monaddr:        // input and result always valid, info always invalid
     case lir_null_check:     // input and info always valid, result always invalid
@@ -9562,9 +9434,9 @@
      // LIR_Op2
      case lir_cmp:                   s = "cmp";           break;
      case lir_cmp_l2i:               s = "cmp_l2i";       break;
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/c1/c1_LIR.hpp jdk-jdk-22-11/src/hotspot/share/c1/c1_LIR.hpp
--- jdk-jdk-22-11.orig/src/hotspot/share/c1/c1_LIR.hpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/c1/c1_LIR.hpp    2023-08-19 19:44:58.466590498 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/c1/c1_LIR.hpp jdk22u-jdk-22-33/src/hotspot/share/c1/c1_LIR.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/c1/c1_LIR.hpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/c1/c1_LIR.hpp    2024-01-27 15:17:38.960626677 +0100
@@ -939,6 +939,8 @@
       , lir_monaddr
       , lir_roundfp
@@ -9584,10 +9456,10 @@
   void null_check(LIR_Opr opr, CodeEmitInfo* info, bool deoptimize_on_null = false);
   void throw_exception(LIR_Opr exceptionPC, LIR_Opr exceptionOop, CodeEmitInfo* info) {
     append(new LIR_Op2(lir_throw, exceptionPC, exceptionOop, LIR_OprFact::illegalOpr, info));
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/cds/classListParser.cpp jdk-jdk-22-11/src/hotspot/share/cds/classListParser.cpp
--- jdk-jdk-22-11.orig/src/hotspot/share/cds/classListParser.cpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/cds/classListParser.cpp    2023-08-19 19:44:58.467249638 +0200
@@ -452,7 +452,7 @@
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/cds/classListParser.cpp jdk22u-jdk-22-33/src/hotspot/share/cds/classListParser.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/cds/classListParser.cpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/cds/classListParser.cpp    2024-01-27 15:17:38.961143075 +0100
@@ -453,7 +453,7 @@
 // This function is used for loading classes for customized class loaders
 // during archive dumping.
 InstanceKlass* ClassListParser::load_class_from_source(Symbol* class_name, TRAPS) {
@@ -9596,10 +9468,43 @@
   // The only supported platforms are: (1) Linux/64-bit and (2) Solaris/64-bit and
   // (3) MacOSX/64-bit and (4) Windowss/64-bit
   // This #if condition should be in sync with the areCustomLoadersSupportedForCDS
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/runtime/abstract_vm_version.cpp jdk-jdk-22-11/src/hotspot/share/runtime/abstract_vm_version.cpp
--- jdk-jdk-22-11.orig/src/hotspot/share/runtime/abstract_vm_version.cpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/runtime/abstract_vm_version.cpp    2023-08-19 19:44:58.467946534 +0200
@@ -167,6 +167,7 @@
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/nmt/memTracker.cpp jdk22u-jdk-22-33/src/hotspot/share/nmt/memTracker.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/nmt/memTracker.cpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/nmt/memTracker.cpp    2024-01-27 15:17:38.962450225 +0100
@@ -48,6 +48,12 @@
 #include <windows.h>
 #endif
+#ifdef SOLARIS
+  volatile bool NMT_stack_walkable = false;
+#else
+  volatile bool NMT_stack_walkable = true;
+#endif
+
 NMT_TrackingLevel MemTracker::_tracking_level = NMT_unknown;
 MemBaseline MemTracker::_baseline;
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/nmt/memTracker.hpp jdk22u-jdk-22-33/src/hotspot/share/nmt/memTracker.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/nmt/memTracker.hpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/nmt/memTracker.hpp    2024-01-27 15:17:38.962801562 +0100
@@ -34,9 +34,11 @@
 #include "utilities/debug.hpp"
 #include "utilities/nativeCallStack.hpp"
-#define CURRENT_PC ((MemTracker::tracking_level() == NMT_detail) ? \
+extern volatile bool NMT_stack_walkable;
+
+#define CURRENT_PC ((MemTracker::tracking_level() == NMT_detail && NMT_stack_walkable) ? \
                     NativeCallStack(0) : FAKE_CALLSTACK)
-#define CALLER_PC  ((MemTracker::tracking_level() == NMT_detail) ?  \
+#define CALLER_PC  ((MemTracker::tracking_level() == NMT_detail && NMT_stack_walkable) ?  \
                     NativeCallStack(1) : FAKE_CALLSTACK)
 class MemBaseline;
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/runtime/abstract_vm_version.cpp jdk22u-jdk-22-33/src/hotspot/share/runtime/abstract_vm_version.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/runtime/abstract_vm_version.cpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/runtime/abstract_vm_version.cpp    2024-01-27 15:17:38.961708119 +0100
@@ -169,6 +169,7 @@
 
 #define OS       LINUX_ONLY("linux")             \
                  WINDOWS_ONLY("windows")         \
@@ -9607,35 +9512,9 @@
                  AIX_ONLY("aix")                 \
                  BSD_ONLY("bsd")
 
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/runtime/globals.hpp jdk-jdk-22-11/src/hotspot/share/runtime/globals.hpp
--- jdk-jdk-22-11.orig/src/hotspot/share/runtime/globals.hpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/runtime/globals.hpp    2023-08-19 19:44:58.469345122 +0200
@@ -1602,8 +1602,10 @@
   product(int, ThreadPriorityPolicy, 0,                                     \
           "0 : Normal.                                                     "\
           "    VM chooses priorities that are appropriate for normal       "\
-          "    applications.                                               "\
-          "    On Windows applications are allowed to use higher native    "\
+          "    applications. On Solaris NORM_PRIORITY and above are mapped "\
+          "    to normal native priority. Java priorities below "           \
+          "    NORM_PRIORITY map to lower native priority values. On       "\
+          "    Windows applications are allowed to use higher native       "\
           "    priorities. However, with ThreadPriorityPolicy=0, VM will   "\
           "    not use the highest possible native priority,               "\
           "    THREAD_PRIORITY_TIME_CRITICAL, as it may interfere with     "\
@@ -1885,7 +1887,8 @@
   product(bool, WhiteBoxAPI, false, DIAGNOSTIC,                             \
           "Enable internal testing APIs")                                   \
                                                                             \
-  product(size_t, ArrayAllocatorMallocLimit, SIZE_MAX, EXPERIMENTAL,        \
+  product(size_t, ArrayAllocatorMallocLimit,                                \
+          SOLARIS_ONLY(64*K) NOT_SOLARIS(SIZE_MAX), EXPERIMENTAL,           \
           "Allocation less than this value will be allocated "              \
           "using malloc. Larger allocations will use mmap.")                \
                                                                             \
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/runtime/semaphore.hpp jdk-jdk-22-11/src/hotspot/share/runtime/semaphore.hpp
--- jdk-jdk-22-11.orig/src/hotspot/share/runtime/semaphore.hpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/runtime/semaphore.hpp    2023-08-19 19:44:58.469778494 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/runtime/semaphore.hpp jdk22u-jdk-22-33/src/hotspot/share/runtime/semaphore.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/runtime/semaphore.hpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/runtime/semaphore.hpp    2024-01-27 15:17:38.962027221 +0100
@@ -28,7 +28,7 @@
 #include "memory/allocation.hpp"
 #include "utilities/globalDefinitions.hpp"
@@ -9645,9 +9524,9 @@
 # include "semaphore_posix.hpp"
 #else
 # include OS_HEADER(semaphore)
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/services/dtraceAttacher.cpp jdk-jdk-22-11/src/hotspot/share/services/dtraceAttacher.cpp
--- jdk-jdk-22-11.orig/src/hotspot/share/services/dtraceAttacher.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/hotspot/share/services/dtraceAttacher.cpp    2023-08-19 19:44:58.532102080 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/services/dtraceAttacher.cpp jdk22u-jdk-22-33/src/hotspot/share/services/dtraceAttacher.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/services/dtraceAttacher.cpp    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/services/dtraceAttacher.cpp    2024-01-27 15:17:39.013035395 +0100
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -9748,42 +9627,9 @@
+}
+
+#endif /* SOLARIS */
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/services/memTracker.cpp jdk-jdk-22-11/src/hotspot/share/services/memTracker.cpp
--- jdk-jdk-22-11.orig/src/hotspot/share/services/memTracker.cpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/services/memTracker.cpp    2023-08-19 19:44:58.470316036 +0200
@@ -48,6 +48,12 @@
 #include <windows.h>
 #endif
+#ifdef SOLARIS
+  volatile bool NMT_stack_walkable = false;
+#else
+  volatile bool NMT_stack_walkable = true;
+#endif
+
 NMT_TrackingLevel MemTracker::_tracking_level = NMT_unknown;
 MemBaseline MemTracker::_baseline;
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/services/memTracker.hpp jdk-jdk-22-11/src/hotspot/share/services/memTracker.hpp
--- jdk-jdk-22-11.orig/src/hotspot/share/services/memTracker.hpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/services/memTracker.hpp    2023-08-19 19:44:58.470749230 +0200
@@ -34,9 +34,11 @@
 #include "utilities/debug.hpp"
 #include "utilities/nativeCallStack.hpp"
-#define CURRENT_PC ((MemTracker::tracking_level() == NMT_detail) ? \
+extern volatile bool NMT_stack_walkable;
+
+#define CURRENT_PC ((MemTracker::tracking_level() == NMT_detail && NMT_stack_walkable) ? \
                     NativeCallStack(0) : FAKE_CALLSTACK)
-#define CALLER_PC  ((MemTracker::tracking_level() == NMT_detail) ?  \
+#define CALLER_PC  ((MemTracker::tracking_level() == NMT_detail && NMT_stack_walkable) ?  \
                     NativeCallStack(1) : FAKE_CALLSTACK)
 class MemBaseline;
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/utilities/debug.cpp jdk-jdk-22-11/src/hotspot/share/utilities/debug.cpp
--- jdk-jdk-22-11.orig/src/hotspot/share/utilities/debug.cpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/utilities/debug.cpp    2023-08-19 19:44:58.471436170 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/utilities/debug.cpp jdk22u-jdk-22-33/src/hotspot/share/utilities/debug.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/utilities/debug.cpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/utilities/debug.cpp    2024-01-27 15:17:38.963368718 +0100
@@ -609,11 +609,12 @@
   tty->print_cr("  findm(intptr_t pc) - finds Method*");
   tty->print_cr("  find(intptr_t x)   - finds & prints nmethod/stub/bytecode/oop based on pointer into it");
@@ -9798,9 +9644,9 @@
   tty->print_cr("                 - in gdb do 'set overload-resolution off' before calling pns()");
   tty->print_cr("                 - in dbx do 'frame 1' before calling pns()");
   tty->print_cr("class metadata.");
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/utilities/globalDefinitions_gcc.hpp jdk-jdk-22-11/src/hotspot/share/utilities/globalDefinitions_gcc.hpp
--- jdk-jdk-22-11.orig/src/hotspot/share/utilities/globalDefinitions_gcc.hpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/utilities/globalDefinitions_gcc.hpp    2023-08-19 19:44:58.472011763 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/utilities/globalDefinitions_gcc.hpp jdk22u-jdk-22-33/src/hotspot/share/utilities/globalDefinitions_gcc.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/utilities/globalDefinitions_gcc.hpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/utilities/globalDefinitions_gcc.hpp    2024-01-27 15:17:38.963855772 +0100
@@ -39,15 +39,36 @@
 #include <stdlib.h>
 #include <wchar.h>
@@ -9927,9 +9773,9 @@
 inline int g_isnan(double f) { return isnan(f); }
 #elif defined(LINUX) || defined(_ALLBSD_SOURCE)
 inline int g_isnan(float  f) { return isnan(f); }
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/utilities/macros.hpp jdk-jdk-22-11/src/hotspot/share/utilities/macros.hpp
--- jdk-jdk-22-11.orig/src/hotspot/share/utilities/macros.hpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/utilities/macros.hpp    2023-08-19 19:44:58.472494491 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/utilities/macros.hpp jdk22u-jdk-22-33/src/hotspot/share/utilities/macros.hpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/utilities/macros.hpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/utilities/macros.hpp    2024-01-27 15:17:38.964277928 +0100
@@ -401,6 +401,14 @@
 #define NOT_AIX(code) code
 #endif
@@ -9945,10 +9791,10 @@
 #ifdef _WINDOWS
 #define WINDOWS_ONLY(code) code
 #define NOT_WINDOWS(code)
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/utilities/ostream.cpp jdk-jdk-22-11/src/hotspot/share/utilities/ostream.cpp
--- jdk-jdk-22-11.orig/src/hotspot/share/utilities/ostream.cpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/utilities/ostream.cpp    2023-08-19 19:44:58.473095865 +0200
@@ -1073,7 +1073,7 @@
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/utilities/ostream.cpp jdk22u-jdk-22-33/src/hotspot/share/utilities/ostream.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/utilities/ostream.cpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/utilities/ostream.cpp    2024-01-27 15:17:38.964771035 +0100
@@ -1055,7 +1055,7 @@
 
 #ifndef PRODUCT
 
@@ -9957,10 +9803,10 @@
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
diff -Nru jdk-jdk-22-11.orig/src/hotspot/share/utilities/vmError.cpp jdk-jdk-22-11/src/hotspot/share/utilities/vmError.cpp
--- jdk-jdk-22-11.orig/src/hotspot/share/utilities/vmError.cpp    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/hotspot/share/utilities/vmError.cpp    2023-08-19 19:44:58.473954284 +0200
@@ -1880,6 +1880,8 @@
diff -Nru jdk22u-jdk-22-33.orig/src/hotspot/share/utilities/vmError.cpp jdk22u-jdk-22-33/src/hotspot/share/utilities/vmError.cpp
--- jdk22u-jdk-22-33.orig/src/hotspot/share/utilities/vmError.cpp    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/hotspot/share/utilities/vmError.cpp    2024-01-27 15:17:38.965511853 +0100
@@ -1903,6 +1903,8 @@
       out.print_raw   ("#   Executing ");
 #if defined(LINUX) || defined(_ALLBSD_SOURCE)
       out.print_raw   ("/bin/sh -c ");
@@ -9969,7 +9815,7 @@
 #elif defined(_WINDOWS)
       out.print_raw   ("cmd /C ");
 #endif
@@ -1944,6 +1946,8 @@
@@ -1967,6 +1969,8 @@
     tty->print("#   Executing ");
 #if defined(LINUX)
     tty->print  ("/bin/sh -c ");
@@ -9978,9 +9824,9 @@
 #endif
     tty->print_cr("\"%s\"...", cmd);
 
diff -Nru jdk-jdk-22-11.orig/src/java.base/share/classes/sun/net/sdp/SdpSupport.java jdk-jdk-22-11/src/java.base/share/classes/sun/net/sdp/SdpSupport.java
--- jdk-jdk-22-11.orig/src/java.base/share/classes/sun/net/sdp/SdpSupport.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/share/classes/sun/net/sdp/SdpSupport.java    2023-08-19 19:44:58.474484649 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/share/classes/sun/net/sdp/SdpSupport.java jdk22u-jdk-22-33/src/java.base/share/classes/sun/net/sdp/SdpSupport.java
--- jdk22u-jdk-22-33.orig/src/java.base/share/classes/sun/net/sdp/SdpSupport.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/share/classes/sun/net/sdp/SdpSupport.java    2024-01-27 15:17:38.965921499 +0100
@@ -39,7 +39,7 @@
  */
 
@@ -9990,9 +9836,9 @@
     private static final JavaIOFileDescriptorAccess fdAccess =
         SharedSecrets.getJavaIOFileDescriptorAccess();
 
diff -Nru jdk-jdk-22-11.orig/src/java.base/share/classes/sun/nio/ch/Net.java jdk-jdk-22-11/src/java.base/share/classes/sun/nio/ch/Net.java
--- jdk-jdk-22-11.orig/src/java.base/share/classes/sun/nio/ch/Net.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/share/classes/sun/nio/ch/Net.java    2023-08-19 19:44:58.475148356 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/share/classes/sun/nio/ch/Net.java jdk22u-jdk-22-33/src/java.base/share/classes/sun/nio/ch/Net.java
--- jdk22u-jdk-22-33.orig/src/java.base/share/classes/sun/nio/ch/Net.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/share/classes/sun/nio/ch/Net.java    2024-01-27 15:17:38.966460989 +0100
@@ -512,7 +512,7 @@
     private static native boolean isReusePortAvailable0();
 
@@ -10002,9 +9848,9 @@
      */
     private static native int isExclusiveBindAvailable();
 
diff -Nru jdk-jdk-22-11.orig/src/java.base/share/classes/sun/nio/ch/SocketOptionRegistry.java.template jdk-jdk-22-11/src/java.base/share/classes/sun/nio/ch/SocketOptionRegistry.java.template
--- jdk-jdk-22-11.orig/src/java.base/share/classes/sun/nio/ch/SocketOptionRegistry.java.template    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/share/classes/sun/nio/ch/SocketOptionRegistry.java.template    2023-08-19 19:44:58.475616874 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/share/classes/sun/nio/ch/SocketOptionRegistry.java.template jdk22u-jdk-22-33/src/java.base/share/classes/sun/nio/ch/SocketOptionRegistry.java.template
--- jdk22u-jdk-22-33.orig/src/java.base/share/classes/sun/nio/ch/SocketOptionRegistry.java.template    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/share/classes/sun/nio/ch/SocketOptionRegistry.java.template    2024-01-27 15:17:38.966862954 +0100
@@ -43,6 +43,8 @@
 #define SO_REUSEPORT 0
 #elif defined(__linux__)
@@ -10025,9 +9871,9 @@
 /* To be able to name the Java constants the same as the C constants without
    having the preprocessor rewrite those identifiers, add PREFIX_ to all
    identifiers matching a C constant. The PREFIX_ is filtered out in the
diff -Nru jdk-jdk-22-11.orig/src/java.base/share/conf/security/java.security jdk-jdk-22-11/src/java.base/share/conf/security/java.security
--- jdk-jdk-22-11.orig/src/java.base/share/conf/security/java.security    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/share/conf/security/java.security    2023-08-19 19:44:58.476431220 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/share/conf/security/java.security jdk22u-jdk-22-33/src/java.base/share/conf/security/java.security
--- jdk22u-jdk-22-33.orig/src/java.base/share/conf/security/java.security    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/share/conf/security/java.security    2024-01-27 15:17:38.967572819 +0100
@@ -66,6 +66,9 @@
 #
 # List of providers and their preference orders (see above):
@@ -10048,9 +9894,9 @@
 
 #
 # A list of preferred providers for specific algorithms. These providers will
diff -Nru jdk-jdk-22-11.orig/src/java.base/share/native/libjli/jli_util.h jdk-jdk-22-11/src/java.base/share/native/libjli/jli_util.h
--- jdk-jdk-22-11.orig/src/java.base/share/native/libjli/jli_util.h    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/share/native/libjli/jli_util.h    2023-08-19 19:44:58.476912614 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/share/native/libjli/jli_util.h jdk22u-jdk-22-33/src/java.base/share/native/libjli/jli_util.h
--- jdk22u-jdk-22-33.orig/src/java.base/share/native/libjli/jli_util.h    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/share/native/libjli/jli_util.h    2024-01-27 15:17:38.967951210 +0100
@@ -100,6 +100,9 @@
 #define JLI_StrCaseCmp(p1, p2)          strcasecmp((p1), (p2))
 #define JLI_StrNCaseCmp(p1, p2, p3)     strncasecmp((p1), (p2), (p3))
@@ -10061,9 +9907,9 @@
 #ifdef __linux__
 #define _LARGFILE64_SOURCE
 #define JLI_Lseek                       lseek64
diff -Nru jdk-jdk-22-11.orig/src/java.base/share/native/libnet/net_util.c jdk-jdk-22-11/src/java.base/share/native/libnet/net_util.c
--- jdk-jdk-22-11.orig/src/java.base/share/native/libnet/net_util.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/share/native/libnet/net_util.c    2023-08-19 19:44:58.477410636 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/share/native/libnet/net_util.c jdk22u-jdk-22-33/src/java.base/share/native/libnet/net_util.c
--- jdk22u-jdk-22-33.orig/src/java.base/share/native/libnet/net_util.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/share/native/libnet/net_util.c    2024-01-27 15:17:38.968338574 +0100
@@ -81,6 +81,7 @@
 
     /* check if SO_REUSEPORT is supported on this platform */
@@ -10072,9 +9918,9 @@
 
     return JNI_VERSION_1_2;
 }
diff -Nru jdk-jdk-22-11.orig/src/java.base/share/native/libnet/net_util.h jdk-jdk-22-11/src/java.base/share/native/libnet/net_util.h
--- jdk-jdk-22-11.orig/src/java.base/share/native/libnet/net_util.h    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/share/native/libnet/net_util.h    2023-08-19 19:44:58.477819372 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/share/native/libnet/net_util.h jdk22u-jdk-22-33/src/java.base/share/native/libnet/net_util.h
--- jdk22u-jdk-22-33.orig/src/java.base/share/native/libnet/net_util.h    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/share/native/libnet/net_util.h    2024-01-27 15:17:38.968667498 +0100
@@ -142,6 +142,8 @@
 JNIEXPORT jobject JNICALL
 NET_SockaddrToInetAddress(JNIEnv *env, SOCKETADDRESS *sa, int *port);
@@ -10084,9 +9930,9 @@
 JNIEXPORT jint JNICALL NET_GetPortFromSockaddr(SOCKETADDRESS *sa);
 
 JNIEXPORT jboolean JNICALL
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java    2023-08-19 19:44:58.532692041 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java    2024-01-27 15:17:39.013489624 +0100
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
@@ -10135,9 +9981,9 @@
+        return new SolarisAsynchronousChannelProvider();
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java    2023-08-19 19:44:58.533016308 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java    2024-01-27 15:17:39.013753577 +0100
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -10193,9 +10039,9 @@
+        return INSTANCE;
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java    2023-08-19 19:44:58.533386195 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java    2024-01-27 15:17:39.014039082 +0100
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -10324,9 +10170,9 @@
+        IOUtil.load();
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java    2023-08-19 19:44:58.533807643 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java    2024-01-27 15:17:39.014378665 +0100
@@ -0,0 +1,263 @@
+/*
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -10591,9 +10437,9 @@
+        }
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorProvider.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorProvider.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorProvider.java    2023-08-19 19:44:58.534120684 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorProvider.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorProvider.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorProvider.java    2024-01-27 15:17:39.014625965 +0100
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -10637,9 +10483,9 @@
+        return InheritedChannel.getChannel();
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java    2023-08-19 19:44:58.534741925 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java    2024-01-27 15:17:39.015193814 +0100
@@ -0,0 +1,308 @@
+/*
+ * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -10949,9 +10795,9 @@
+        return (int) pollArray.getLong(offset);
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorProvider.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorProvider.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorProvider.java    2023-08-19 19:44:58.535064694 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorProvider.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorProvider.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorProvider.java    2024-01-27 15:17:39.015453906 +0100
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
@@ -10995,9 +10841,9 @@
+        return InheritedChannel.getChannel();
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java    2023-08-19 19:44:58.535411573 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java    2024-01-27 15:17:39.015743950 +0100
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -11092,9 +10938,9 @@
+        return new UnixAsynchronousSocketChannelImpl(toEventPort(group));
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java    2023-08-19 19:44:58.535839883 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java    2024-01-27 15:17:39.016123796 +0100
@@ -0,0 +1,268 @@
+/*
+ * Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved.
@@ -11364,9 +11210,9 @@
+        IOUtil.load();
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java    2023-08-19 19:44:58.536240290 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java    2024-01-27 15:17:39.016461615 +0100
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -11421,9 +11267,9 @@
+        return INSTANCE.theFileSystem();
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java    2023-08-19 19:44:58.536766901 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java    2024-01-27 15:17:39.016890896 +0100
@@ -0,0 +1,414 @@
+/*
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
@@ -11839,9 +11685,9 @@
+        }
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisConstants.java.template jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisConstants.java.template
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisConstants.java.template    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisConstants.java.template    2023-08-19 19:44:58.537136496 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisConstants.java.template jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisConstants.java.template
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisConstants.java.template    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisConstants.java.template    2024-01-27 15:17:39.017173423 +0100
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
@@ -11932,9 +11778,9 @@
+    static final int PREFIX_ACE_GROUP = ACE_GROUP;
+    static final int PREFIX_ACE_EVERYONE = ACE_EVERYONE;
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileStore.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisFileStore.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileStore.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisFileStore.java    2023-08-19 19:44:58.537486985 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileStore.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisFileStore.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileStore.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisFileStore.java    2024-01-27 15:17:39.017451409 +0100
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -12047,9 +11893,9 @@
+        return super.supportsFileAttributeView(name);
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystem.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystem.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystem.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystem.java    2023-08-19 19:44:58.537839454 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystem.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystem.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystem.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystem.java    2024-01-27 15:17:39.017735068 +0100
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -12178,9 +12024,9 @@
+        return new SolarisFileStore(this, entry);
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java    2023-08-19 19:44:58.538185559 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java    2024-01-27 15:17:39.018015678 +0100
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -12276,9 +12122,9 @@
+                     new MimeTypesFileTypeDetector(etcMimeTypes));
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java    2023-08-19 19:44:58.538551400 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java    2024-01-27 15:17:39.018273255 +0100
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -12335,9 +12181,9 @@
+        init();
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java    2023-08-19 19:44:58.538866403 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java    2024-01-27 15:17:39.018537475 +0100
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
@@ -12380,9 +12226,9 @@
+    }
+
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java
--- jdk-jdk-22-11.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java    2023-08-19 19:44:58.539589861 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java    2024-01-27 15:17:39.019128254 +0100
@@ -0,0 +1,821 @@
+/*
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -13205,9 +13051,9 @@
+        init();
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/native/libjava/ProcessHandleImpl_solaris.c jdk-jdk-22-11/src/java.base/solaris/native/libjava/ProcessHandleImpl_solaris.c
--- jdk-jdk-22-11.orig/src/java.base/solaris/native/libjava/ProcessHandleImpl_solaris.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/native/libjava/ProcessHandleImpl_solaris.c    2023-08-19 19:44:58.540007957 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libjava/ProcessHandleImpl_solaris.c jdk22u-jdk-22-33/src/java.base/solaris/native/libjava/ProcessHandleImpl_solaris.c
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libjava/ProcessHandleImpl_solaris.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/native/libjava/ProcessHandleImpl_solaris.c    2024-01-27 15:17:39.019465413 +0100
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
@@ -13260,9 +13106,9 @@
+    unix_getCmdlineAndUserInfo(env, jinfo, pid);
+}
+
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/native/libjvm_db/libjvm_db.c jdk-jdk-22-11/src/java.base/solaris/native/libjvm_db/libjvm_db.c
--- jdk-jdk-22-11.orig/src/java.base/solaris/native/libjvm_db/libjvm_db.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/native/libjvm_db/libjvm_db.c    2023-08-19 19:44:58.541199611 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libjvm_db/libjvm_db.c jdk22u-jdk-22-33/src/java.base/solaris/native/libjvm_db/libjvm_db.c
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libjvm_db/libjvm_db.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/native/libjvm_db/libjvm_db.c    2024-01-27 15:17:39.020436277 +0100
@@ -0,0 +1,1552 @@
+/*
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -14816,9 +14662,9 @@
+    update_gregs(gregs, jframe);
+    return (0);
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/native/libjvm_db/libjvm_db.h jdk-jdk-22-11/src/java.base/solaris/native/libjvm_db/libjvm_db.h
--- jdk-jdk-22-11.orig/src/java.base/solaris/native/libjvm_db/libjvm_db.h    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/native/libjvm_db/libjvm_db.h    2023-08-19 19:44:58.541537720 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libjvm_db/libjvm_db.h jdk22u-jdk-22-33/src/java.base/solaris/native/libjvm_db/libjvm_db.h
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libjvm_db/libjvm_db.h    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/native/libjvm_db/libjvm_db.h    2024-01-27 15:17:39.020717662 +0100
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -14889,9 +14735,9 @@
+#endif /* __cplusplus */
+
+#endif // OS_SOLARIS_DTRACE_LIBJVM_DB_H
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.c jdk-jdk-22-11/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.c
--- jdk-jdk-22-11.orig/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.c    2023-08-19 19:44:58.542167632 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.c jdk22u-jdk-22-33/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.c
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.c    2024-01-27 15:17:39.021221799 +0100
@@ -0,0 +1,562 @@
+/*
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
@@ -15455,9 +15301,9 @@
+    clear_jvm_error();
+    return count;
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.h jdk-jdk-22-11/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.h
--- jdk-jdk-22-11.orig/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.h    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.h    2023-08-19 19:44:58.542504099 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.h jdk22u-jdk-22-33/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.h
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.h    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/native/libjvm_dtrace/jvm_dtrace.h    2024-01-27 15:17:39.021488985 +0100
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -15545,9 +15391,9 @@
+#endif
+
+#endif /* _JVM_DTRACE_H_ */
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/native/libnet/solaris_close.c jdk-jdk-22-11/src/java.base/solaris/native/libnet/solaris_close.c
--- jdk-jdk-22-11.orig/src/java.base/solaris/native/libnet/solaris_close.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/native/libnet/solaris_close.c    2023-08-19 19:44:58.542909844 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libnet/solaris_close.c jdk22u-jdk-22-33/src/java.base/solaris/native/libnet/solaris_close.c
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libnet/solaris_close.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/native/libnet/solaris_close.c    2024-01-27 15:17:39.021818222 +0100
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -15656,9 +15502,9 @@
+        }
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/native/libnio/ch/DevPollArrayWrapper.c jdk-jdk-22-11/src/java.base/solaris/native/libnio/ch/DevPollArrayWrapper.c
--- jdk-jdk-22-11.orig/src/java.base/solaris/native/libnio/ch/DevPollArrayWrapper.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/native/libnio/ch/DevPollArrayWrapper.c    2023-08-19 19:44:58.543407140 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libnio/ch/DevPollArrayWrapper.c jdk22u-jdk-22-33/src/java.base/solaris/native/libnio/ch/DevPollArrayWrapper.c
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libnio/ch/DevPollArrayWrapper.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/native/libnio/ch/DevPollArrayWrapper.c    2024-01-27 15:17:39.022190732 +0100
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -15772,9 +15618,9 @@
+    }
+    return result;
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/native/libnio/ch/SolarisEventPort.c jdk-jdk-22-11/src/java.base/solaris/native/libnio/ch/SolarisEventPort.c
--- jdk-jdk-22-11.orig/src/java.base/solaris/native/libnio/ch/SolarisEventPort.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/native/libnio/ch/SolarisEventPort.c    2023-08-19 19:44:58.543763015 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libnio/ch/SolarisEventPort.c jdk22u-jdk-22-33/src/java.base/solaris/native/libnio/ch/SolarisEventPort.c
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libnio/ch/SolarisEventPort.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/native/libnio/ch/SolarisEventPort.c    2024-01-27 15:17:39.022475177 +0100
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -15923,9 +15769,9 @@
+
+    return (jint)n;
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/native/libnio/fs/SolarisNativeDispatcher.c jdk-jdk-22-11/src/java.base/solaris/native/libnio/fs/SolarisNativeDispatcher.c
--- jdk-jdk-22-11.orig/src/java.base/solaris/native/libnio/fs/SolarisNativeDispatcher.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/native/libnio/fs/SolarisNativeDispatcher.c    2023-08-19 19:44:58.544194391 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libnio/fs/SolarisNativeDispatcher.c jdk22u-jdk-22-33/src/java.base/solaris/native/libnio/fs/SolarisNativeDispatcher.c
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libnio/fs/SolarisNativeDispatcher.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/native/libnio/fs/SolarisNativeDispatcher.c    2024-01-27 15:17:39.022816125 +0100
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -16070,9 +15916,9 @@
+
+    return 0;
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/solaris/native/libnio/fs/SolarisWatchService.c jdk-jdk-22-11/src/java.base/solaris/native/libnio/fs/SolarisWatchService.c
--- jdk-jdk-22-11.orig/src/java.base/solaris/native/libnio/fs/SolarisWatchService.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.base/solaris/native/libnio/fs/SolarisWatchService.c    2023-08-19 19:44:58.544527686 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libnio/fs/SolarisWatchService.c jdk22u-jdk-22-33/src/java.base/solaris/native/libnio/fs/SolarisWatchService.c
--- jdk22u-jdk-22-33.orig/src/java.base/solaris/native/libnio/fs/SolarisWatchService.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/solaris/native/libnio/fs/SolarisWatchService.c    2024-01-27 15:17:39.023090747 +0100
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -16178,9 +16024,9 @@
+    }
+    return (jint)n;
+}
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/classes/java/lang/ProcessImpl.java jdk-jdk-22-11/src/java.base/unix/classes/java/lang/ProcessImpl.java
--- jdk-jdk-22-11.orig/src/java.base/unix/classes/java/lang/ProcessImpl.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/classes/java/lang/ProcessImpl.java    2023-08-19 19:44:58.478600624 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/classes/java/lang/ProcessImpl.java jdk22u-jdk-22-33/src/java.base/unix/classes/java/lang/ProcessImpl.java
--- jdk22u-jdk-22-33.orig/src/java.base/unix/classes/java/lang/ProcessImpl.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/classes/java/lang/ProcessImpl.java    2024-01-27 15:17:38.969345084 +0100
@@ -83,6 +83,9 @@
     private /* final */ InputStream  stdout;
     private /* final */ InputStream  stderr;
@@ -16271,9 +16117,9 @@
             default: throw new AssertionError("Unsupported platform: " + OperatingSystem.current());
         }
     }
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/classes/sun/net/PortConfig.java jdk-jdk-22-11/src/java.base/unix/classes/sun/net/PortConfig.java
--- jdk-jdk-22-11.orig/src/java.base/unix/classes/sun/net/PortConfig.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/classes/sun/net/PortConfig.java    2023-08-19 19:44:58.479026090 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/classes/sun/net/PortConfig.java jdk22u-jdk-22-33/src/java.base/unix/classes/sun/net/PortConfig.java
--- jdk22u-jdk-22-33.orig/src/java.base/unix/classes/sun/net/PortConfig.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/classes/sun/net/PortConfig.java    2024-01-27 15:17:38.969712589 +0100
@@ -48,6 +48,10 @@
                 defaultLower = 32768;
                 defaultUpper = 61000;
@@ -16285,9 +16131,9 @@
             case MACOS:
                 defaultLower = 49152;
                 defaultUpper = 65535;
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/classes/sun/nio/fs/UnixConstants.java.template jdk-jdk-22-11/src/java.base/unix/classes/sun/nio/fs/UnixConstants.java.template
--- jdk-jdk-22-11.orig/src/java.base/unix/classes/sun/nio/fs/UnixConstants.java.template    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/classes/sun/nio/fs/UnixConstants.java.template    2023-08-19 19:44:58.479484730 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/classes/sun/nio/fs/UnixConstants.java.template jdk22u-jdk-22-33/src/java.base/unix/classes/sun/nio/fs/UnixConstants.java.template
--- jdk22u-jdk-22-33.orig/src/java.base/unix/classes/sun/nio/fs/UnixConstants.java.template    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/classes/sun/nio/fs/UnixConstants.java.template    2024-01-27 15:17:38.970099383 +0100
@@ -35,6 +35,10 @@
 #include <sys/clonefile.h>
 #endif
@@ -16299,9 +16145,9 @@
 /* To be able to name the Java constants the same as the C constants without
    having the preprocessor rewrite those identifiers, add PREFIX_ to all
    identifiers matching a C constant. The PREFIX_ is filtered out in the
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java jdk-jdk-22-11/src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java
--- jdk-jdk-22-11.orig/src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java    2023-08-19 19:44:58.480107129 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java jdk22u-jdk-22-33/src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java
--- jdk22u-jdk-22-33.orig/src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java    2024-01-27 15:17:38.970583815 +0100
@@ -128,6 +128,10 @@
         return rootDirectory;
     }
@@ -16313,9 +16159,9 @@
     static List<String> standardFileAttributeViews() {
         return Arrays.asList("basic", "posix", "unix", "owner");
     }
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/classes/sun/nio/fs/UnixPath.java jdk-jdk-22-11/src/java.base/unix/classes/sun/nio/fs/UnixPath.java
--- jdk-jdk-22-11.orig/src/java.base/unix/classes/sun/nio/fs/UnixPath.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/classes/sun/nio/fs/UnixPath.java    2023-08-19 19:44:58.480683842 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/classes/sun/nio/fs/UnixPath.java jdk22u-jdk-22-33/src/java.base/unix/classes/sun/nio/fs/UnixPath.java
--- jdk22u-jdk-22-33.orig/src/java.base/unix/classes/sun/nio/fs/UnixPath.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/classes/sun/nio/fs/UnixPath.java    2024-01-27 15:17:38.971099755 +0100
@@ -831,7 +831,15 @@
                     ("NOFOLLOW_LINKS is not supported on this platform");
             flags |= O_NOFOLLOW;
@@ -16333,9 +16179,9 @@
     }
 
     void checkRead() {
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/classes/sun/security/provider/NativePRNG.java jdk-jdk-22-11/src/java.base/unix/classes/sun/security/provider/NativePRNG.java
--- jdk-jdk-22-11.orig/src/java.base/unix/classes/sun/security/provider/NativePRNG.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/classes/sun/security/provider/NativePRNG.java    2023-08-19 19:44:58.481222121 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/classes/sun/security/provider/NativePRNG.java jdk22u-jdk-22-33/src/java.base/unix/classes/sun/security/provider/NativePRNG.java
--- jdk22u-jdk-22-33.orig/src/java.base/unix/classes/sun/security/provider/NativePRNG.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/classes/sun/security/provider/NativePRNG.java    2024-01-27 15:17:38.971562014 +0100
@@ -33,7 +33,7 @@
 import sun.security.util.Debug;
 
@@ -16345,9 +16191,9 @@
  * <p>
  * It obtains seed and random numbers by reading system files such as
  * the special device files /dev/random and /dev/urandom.  This
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/io_util_md.c jdk-jdk-22-11/src/java.base/unix/native/libjava/io_util_md.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/io_util_md.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libjava/io_util_md.c    2023-08-19 19:44:58.484950253 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/io_util_md.c jdk22u-jdk-22-33/src/java.base/unix/native/libjava/io_util_md.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/io_util_md.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libjava/io_util_md.c    2024-01-27 15:17:38.974609212 +0100
@@ -30,6 +30,10 @@
 #include <string.h>
 #include <unistd.h>
@@ -16359,10 +16205,10 @@
 #if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(_AIX)
 #include <sys/ioctl.h>
 #endif
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/java_props_md.c jdk-jdk-22-11/src/java.base/unix/native/libjava/java_props_md.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/java_props_md.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libjava/java_props_md.c    2023-08-19 19:44:58.485428608 +0200
@@ -313,6 +313,27 @@
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/java_props_md.c jdk22u-jdk-22-33/src/java.base/unix/native/libjava/java_props_md.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/java_props_md.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libjava/java_props_md.c    2024-01-27 15:17:38.975067732 +0100
@@ -323,6 +323,27 @@
         }
 #endif
 
@@ -16390,9 +16236,9 @@
 #ifdef MACOSX
         /*
          * For the case on MacOS X where encoding is set to US-ASCII, but we
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/jlong_md.h jdk-jdk-22-11/src/java.base/unix/native/libjava/jlong_md.h
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/jlong_md.h    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libjava/jlong_md.h    2023-08-19 19:44:58.485901996 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/jlong_md.h jdk22u-jdk-22-33/src/java.base/unix/native/libjava/jlong_md.h
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/jlong_md.h    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libjava/jlong_md.h    2024-01-27 15:17:38.975427994 +0100
@@ -23,8 +23,8 @@
  * questions.
  */
@@ -16410,9 +16256,9 @@
 
-#endif /* !_UNIX_JLONG_MD_H_ */
+#endif /* !_SOLARIS_JLONG_MD_H_ */
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c jdk-jdk-22-11/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c    2023-08-19 19:44:58.482076966 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c jdk22u-jdk-22-33/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c    2024-01-27 15:17:38.972251263 +0100
@@ -45,10 +45,20 @@
 #include <sys/stat.h>
 #include <sys/wait.h>
@@ -16456,20 +16302,20 @@
 #define RESTARTABLE(_cmd, _result) do { \
   do { \
@@ -488,7 +503,7 @@
  * The following functions are common on Solaris, Linux and AIX.
  * The following functions are for Linux
  */
 
-#if defined (__linux__) || defined(_AIX)
+#if defined(__solaris__) || defined (__linux__) || defined(_AIX)
-#if defined (__linux__)
+#if defined(__solaris__) || defined (__linux__)
 
 /*
  * Returns the children of the requested pid and optionally each parent and
@@ -607,13 +622,13 @@
  * Return pids of active processes, and optionally parent pids and
@@ -617,13 +632,13 @@
     return count;
 }
 
-#endif // defined (__linux__) || defined(_AIX)
+#endif // defined(__solaris__) || defined (__linux__) || defined(_AIX)
-#endif // defined (__linux__)
+#endif // defined(__solaris__) || defined (__linux__)
 
 /*
- * The following functions are for AIX.
@@ -16481,7 +16327,7 @@
 
 /**
  * Helper function to get the 'psinfo_t' data from "/proc/%d/psinfo".
@@ -677,6 +692,19 @@
@@ -687,6 +702,19 @@
     int ret;
 
     /*
@@ -16501,15 +16347,15 @@
      * Now try to open /proc/%d/psinfo
      */
     if (getPsinfo(pid, &psinfo) < 0) {
@@ -705,4 +733,4 @@
@@ -715,4 +743,4 @@
                       prargs[0] == '\0' ? NULL : prargs);
 }
 
-#endif // defined(_AIX)
+#endif // defined(__solaris__) || defined(_AIX)
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h jdk-jdk-22-11/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h    2023-08-19 19:44:58.482527122 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h jdk22u-jdk-22-33/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h    2024-01-27 15:17:38.972591327 +0100
@@ -29,7 +29,7 @@
  * Declaration of ProcessHandleImpl functions common on all Unix platforms.
  * 'unix_' functions have a single implementation in ProcessHandleImpl_unix.c
@@ -16519,9 +16365,9 @@
  * See ProcessHandleImpl_unix.c for more details.
  */
 
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/ProcessImpl_md.c jdk-jdk-22-11/src/java.base/unix/native/libjava/ProcessImpl_md.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/ProcessImpl_md.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libjava/ProcessImpl_md.c    2023-08-19 19:44:58.483158510 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/ProcessImpl_md.c jdk22u-jdk-22-33/src/java.base/unix/native/libjava/ProcessImpl_md.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/ProcessImpl_md.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libjava/ProcessImpl_md.c    2024-01-27 15:17:38.973126495 +0100
@@ -230,7 +230,14 @@
 static const char*
 defaultPath(void)
@@ -16556,9 +16402,9 @@
       case MODE_VFORK:
         return vforkChild(c);
       #endif
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/TimeZone_md.c jdk-jdk-22-11/src/java.base/unix/native/libjava/TimeZone_md.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/TimeZone_md.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libjava/TimeZone_md.c    2023-08-19 19:44:58.484026329 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/TimeZone_md.c jdk22u-jdk-22-33/src/java.base/unix/native/libjava/TimeZone_md.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/TimeZone_md.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libjava/TimeZone_md.c    2024-01-27 15:17:38.973859443 +0100
@@ -35,6 +35,9 @@
 #include <string.h>
 #include <dirent.h>
@@ -16813,9 +16659,9 @@
         if (freetz == NULL) {
             /* strdup if we are still working on getenv result. */
             javatz = strdup(tz);
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/UnixFileSystem_md.c jdk-jdk-22-11/src/java.base/unix/native/libjava/UnixFileSystem_md.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libjava/UnixFileSystem_md.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libjava/UnixFileSystem_md.c    2023-08-19 19:44:58.484513160 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/UnixFileSystem_md.c jdk22u-jdk-22-33/src/java.base/unix/native/libjava/UnixFileSystem_md.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjava/UnixFileSystem_md.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libjava/UnixFileSystem_md.c    2024-01-27 15:17:38.974240668 +0100
@@ -63,6 +63,10 @@
   #define stat stat64
 #endif
@@ -16827,9 +16673,9 @@
 #if defined(_ALLBSD_SOURCE)
   #ifndef MACOSX
     #define statvfs64 statvfs
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libjsig/jsig.c jdk-jdk-22-11/src/java.base/unix/native/libjsig/jsig.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libjsig/jsig.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libjsig/jsig.c    2023-08-19 19:44:58.486754519 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjsig/jsig.c jdk22u-jdk-22-33/src/java.base/unix/native/libjsig/jsig.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libjsig/jsig.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libjsig/jsig.c    2024-01-27 15:17:38.976117334 +0100
@@ -35,6 +35,16 @@
 
 #include "jni.h"
@@ -16943,9 +16789,9 @@
   /* Does race condition make sense here? */
   if (sigismember(&jvmsigs, sig)) {
     return &sact[sig];
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/Inet4AddressImpl.c jdk-jdk-22-11/src/java.base/unix/native/libnet/Inet4AddressImpl.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/Inet4AddressImpl.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnet/Inet4AddressImpl.c    2023-08-19 19:44:58.487294524 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/Inet4AddressImpl.c jdk22u-jdk-22-33/src/java.base/unix/native/libnet/Inet4AddressImpl.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/Inet4AddressImpl.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnet/Inet4AddressImpl.c    2024-01-27 15:17:38.976536119 +0100
@@ -66,8 +66,27 @@
     if (gethostname(hostname, sizeof(hostname)) != 0) {
         strcpy(hostname, "localhost");
@@ -16974,9 +16820,9 @@
     }
     return (*env)->NewStringUTF(env, hostname);
 }
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/Inet6AddressImpl.c jdk-jdk-22-11/src/java.base/unix/native/libnet/Inet6AddressImpl.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/Inet6AddressImpl.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnet/Inet6AddressImpl.c    2023-08-19 19:44:58.487809402 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/Inet6AddressImpl.c jdk22u-jdk-22-33/src/java.base/unix/native/libnet/Inet6AddressImpl.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/Inet6AddressImpl.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnet/Inet6AddressImpl.c    2024-01-27 15:17:38.976965935 +0100
@@ -67,8 +67,27 @@
     if (gethostname(hostname, sizeof(hostname)) != 0) {
         strcpy(hostname, "localhost");
@@ -17005,10 +16851,10 @@
     }
     return (*env)->NewStringUTF(env, hostname);
 }
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/net_util_md.c jdk-jdk-22-11/src/java.base/unix/native/libnet/net_util_md.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/net_util_md.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnet/net_util_md.c    2023-08-19 19:44:58.490323316 +0200
@@ -37,6 +37,14 @@
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/net_util_md.c jdk22u-jdk-22-33/src/java.base/unix/native/libnet/net_util_md.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/net_util_md.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnet/net_util_md.c    2024-01-27 15:17:38.979021329 +0100
@@ -36,6 +36,14 @@
 #include <sys/utsname.h>
 #endif
 
@@ -17023,7 +16869,7 @@
 #if defined(MACOSX)
 #include <sys/sysctl.h>
 #endif
@@ -51,6 +59,20 @@
@@ -50,12 +58,114 @@
 #define IPV6_FLOWINFO_SEND      33
 #endif
 
@@ -17041,11 +16887,10 @@
+#define UDP_EXCLBIND            0x0101
+#endif
+
 #define RESTARTABLE(_cmd, _result) do { \
     do { \
         _result = _cmd; \
@@ -63,6 +85,94 @@
     return result;
 void
 NET_ThrowByNameWithLastError(JNIEnv *env, const char *name,
                    const char *defaultDetail) {
     JNU_ThrowByNameWithMessageAndLastError(env, name, defaultDetail);
 }
 
+#ifdef __solaris__
@@ -17137,9 +16982,9 @@
+#endif
+
 void
 NET_ThrowByNameWithLastError(JNIEnv *env, const char *name,
                    const char *defaultDetail) {
@@ -146,6 +256,50 @@
 NET_ThrowNew(JNIEnv *env, int errorNumber, char *msg) {
     char fullMsg[512];
@@ -133,6 +243,50 @@
     }
 #endif
 
@@ -17190,7 +17035,7 @@
     /*
      *  OK we may have the stack available in the kernel,
      *  we should also check if the APIs are available.
@@ -210,6 +364,26 @@
@@ -197,6 +351,26 @@
     }
 }
 
@@ -17217,16 +17062,7 @@
 JNIEXPORT jint JNICALL
 NET_EnableFastTcpLoopback(int fd) {
     return 0;
@@ -368,7 +542,7 @@
                 *level = IPPROTO_IPV6;
                 *optname = IPV6_MULTICAST_LOOP;
                 return 0;
-#if defined(MACOSX)
+#if (defined(__solaris__) || defined(MACOSX))
             // Map IP_TOS request to IPV6_TCLASS
             case java_net_SocketOptions_IP_TOS:
                 *level = IPPROTO_IPV6;
@@ -517,6 +691,65 @@
@@ -438,6 +612,65 @@
         *iptos &= (IPTOS_TOS_MASK | IPTOS_PREC_MASK);
     }
 
@@ -17292,7 +17128,7 @@
 #ifdef _AIX
     if (level == SOL_SOCKET) {
         if (opt == SO_SNDBUF || opt == SO_RCVBUF) {
@@ -629,10 +862,20 @@
@@ -552,10 +785,20 @@
  *
  * Linux allows a socket to bind to 127.0.0.255 which must be
  * caught.
@@ -17313,7 +17149,7 @@
     int rv;
 
 #ifdef __linux__
@@ -649,8 +892,61 @@
@@ -572,8 +815,61 @@
     }
 #endif
 
@@ -17375,9 +17211,9 @@
     return rv;
 }
 
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/net_util_md.h jdk-jdk-22-11/src/java.base/unix/native/libnet/net_util_md.h
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/net_util_md.h    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnet/net_util_md.h    2023-08-19 19:44:58.490768388 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/net_util_md.h jdk22u-jdk-22-33/src/java.base/unix/native/libnet/net_util_md.h
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/net_util_md.h    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnet/net_util_md.h    2024-01-27 15:17:38.979376098 +0100
@@ -47,6 +47,8 @@
 #ifndef SO_REUSEPORT
 #ifdef __linux__
@@ -17396,9 +17232,9 @@
+#endif
+
 #endif /* NET_UTILS_MD_H */
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/NetworkInterface.c jdk-jdk-22-11/src/java.base/unix/native/libnet/NetworkInterface.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/NetworkInterface.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnet/NetworkInterface.c    2023-08-19 19:44:58.488836455 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/NetworkInterface.c jdk22u-jdk-22-33/src/java.base/unix/native/libnet/NetworkInterface.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/NetworkInterface.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnet/NetworkInterface.c    2024-01-27 15:17:38.977860069 +0100
@@ -37,6 +37,12 @@
 #include <strings.h>
 #endif
@@ -17809,9 +17645,9 @@
 /** BSD **/
 #if defined(_ALLBSD_SOURCE)
 
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/portconfig.c jdk-jdk-22-11/src/java.base/unix/native/libnet/portconfig.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/portconfig.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnet/portconfig.c    2023-08-19 19:44:58.491160499 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/portconfig.c jdk22u-jdk-22-33/src/java.base/unix/native/libnet/portconfig.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/portconfig.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnet/portconfig.c    2024-01-27 15:17:38.979719051 +0100
@@ -60,6 +60,13 @@
         }
         return -1;
@@ -17826,9 +17662,9 @@
 #elif defined(_ALLBSD_SOURCE)
     {
         int ret;
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/SdpSupport.c jdk-jdk-22-11/src/java.base/unix/native/libnet/SdpSupport.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnet/SdpSupport.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnet/SdpSupport.c    2023-08-19 19:44:58.489291975 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/SdpSupport.c jdk22u-jdk-22-33/src/java.base/unix/native/libnet/SdpSupport.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnet/SdpSupport.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnet/SdpSupport.c    2024-01-27 15:17:38.978229282 +0100
@@ -27,7 +27,11 @@
 #include <sys/socket.h>
 #include <errno.h>
@@ -17854,9 +17690,9 @@
     /**
      * IPv6 not supported by SDP on Linux
      */
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnio/ch/DatagramChannelImpl.c jdk-jdk-22-11/src/java.base/unix/native/libnio/ch/DatagramChannelImpl.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnio/ch/DatagramChannelImpl.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnio/ch/DatagramChannelImpl.c    2023-08-19 19:44:58.491680082 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnio/ch/DatagramChannelImpl.c jdk22u-jdk-22-33/src/java.base/unix/native/libnio/ch/DatagramChannelImpl.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnio/ch/DatagramChannelImpl.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnio/ch/DatagramChannelImpl.c    2024-01-27 15:17:38.980160440 +0100
@@ -50,6 +50,9 @@
     jint fd = fdval(env, fdo);
     int rv;
@@ -17876,9 +17712,9 @@
     if (rv < 0)
         handleSocketError(env, errno);
 }
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnio/ch/NativeThread.c jdk-jdk-22-11/src/java.base/unix/native/libnio/ch/NativeThread.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnio/ch/NativeThread.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnio/ch/NativeThread.c    2023-08-19 19:44:58.492124734 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnio/ch/NativeThread.c jdk22u-jdk-22-33/src/java.base/unix/native/libnio/ch/NativeThread.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnio/ch/NativeThread.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnio/ch/NativeThread.c    2024-01-27 15:17:38.980526533 +0100
@@ -40,6 +40,9 @@
 #elif defined(_AIX)
   /* Also defined in net/aix_close.c */
@@ -17912,10 +17748,18 @@
 #ifdef MACOSX
     if (ret != 0 && ret != ESRCH)
 #else
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnio/ch/Net.c jdk-jdk-22-11/src/java.base/unix/native/libnio/ch/Net.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnio/ch/Net.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnio/ch/Net.c    2023-08-19 19:44:58.492731523 +0200
@@ -219,7 +219,7 @@
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnio/ch/Net.c jdk22u-jdk-22-33/src/java.base/unix/native/libnio/ch/Net.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnio/ch/Net.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnio/ch/Net.c    2024-01-27 15:17:38.981061613 +0100
@@ -25,6 +25,7 @@
 #include <poll.h>
 #include <sys/ioctl.h>
+#include <sys/filio.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <string.h>
@@ -220,7 +221,7 @@
 JNIEXPORT jboolean JNICALL
 Java_sun_nio_ch_Net_canIPv6SocketJoinIPv4Group0(JNIEnv* env, jclass cl)
 {
@@ -17924,7 +17768,7 @@
     /* IPv6 sockets can join IPv4 multicast groups */
     return JNI_TRUE;
 #else
@@ -231,7 +231,7 @@
@@ -232,7 +233,7 @@
 JNIEXPORT jboolean JNICALL
 Java_sun_nio_ch_Net_canJoin6WithIPv4Group0(JNIEnv* env, jclass cl)
 {
@@ -17933,9 +17777,9 @@
     /* IPV6_ADD_MEMBERSHIP can be used to join IPv4 multicast groups */
     return JNI_TRUE;
 #else
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnio/ch/nio_util.h jdk-jdk-22-11/src/java.base/unix/native/libnio/ch/nio_util.h
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnio/ch/nio_util.h    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnio/ch/nio_util.h    2023-08-19 19:44:58.493132750 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnio/ch/nio_util.h jdk22u-jdk-22-33/src/java.base/unix/native/libnio/ch/nio_util.h
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnio/ch/nio_util.h    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnio/ch/nio_util.h    2024-01-27 15:17:38.981374308 +0100
@@ -41,6 +41,8 @@
 #ifndef SO_REUSEPORT
 #ifdef __linux__
@@ -17945,9 +17789,9 @@
 #elif defined(AIX) || defined(MACOSX)
 #define SO_REUSEPORT 0x0200
 #else
diff -Nru jdk-jdk-22-11.orig/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c jdk-jdk-22-11/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
--- jdk-jdk-22-11.orig/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c    2023-08-19 19:44:58.493813780 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c jdk22u-jdk-22-33/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
--- jdk22u-jdk-22-33.orig/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c    2024-01-27 15:17:38.981971801 +0100
@@ -45,10 +45,17 @@
 #include <sys/xattr.h>
 #endif
@@ -17966,8 +17810,8 @@
+
 #ifdef __linux__
 #include <sys/syscall.h>
 #endif
@@ -260,7 +267,8 @@
 #include <sys/sysmacros.h> // makedev macros
@@ -374,7 +381,8 @@
 
     /* system calls that might not be available at run time */
 
@@ -17977,9 +17821,9 @@
     my_openat64_func = (openat64_func*)dlsym(RTLD_DEFAULT, "openat");
     my_fstatat64_func = (fstatat64_func*)dlsym(RTLD_DEFAULT, "fstatat");
 #else
diff -Nru jdk-jdk-22-11.orig/src/java.base/windows/native/libnet/net_util_md.c jdk-jdk-22-11/src/java.base/windows/native/libnet/net_util_md.c
--- jdk-jdk-22-11.orig/src/java.base/windows/native/libnet/net_util_md.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.base/windows/native/libnet/net_util_md.c    2023-08-19 19:44:58.494370931 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.base/windows/native/libnet/net_util_md.c jdk22u-jdk-22-33/src/java.base/windows/native/libnet/net_util_md.c
--- jdk22u-jdk-22-33.orig/src/java.base/windows/native/libnet/net_util_md.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.base/windows/native/libnet/net_util_md.c    2024-01-27 15:17:38.982416750 +0100
@@ -125,6 +125,8 @@
     }
     return TRUE;
@@ -17989,9 +17833,9 @@
 
 /*
  * Since winsock doesn't have the equivalent of strerror(errno)
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/share/classes/sun/awt/FontConfiguration.java jdk-jdk-22-11/src/java.desktop/share/classes/sun/awt/FontConfiguration.java
--- jdk-jdk-22-11.orig/src/java.desktop/share/classes/sun/awt/FontConfiguration.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/share/classes/sun/awt/FontConfiguration.java    2023-08-19 19:44:58.495504449 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/share/classes/sun/awt/FontConfiguration.java jdk22u-jdk-22-33/src/java.desktop/share/classes/sun/awt/FontConfiguration.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/share/classes/sun/awt/FontConfiguration.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/share/classes/sun/awt/FontConfiguration.java    2024-01-27 15:17:38.983282589 +0100
@@ -1422,6 +1422,22 @@
                 }
             }
@@ -18015,9 +17859,9 @@
         if (errors != 0) {
             System.err.println("!!THERE ARE " + errors + " ERROR(S) IN "
                                + "THE FONTCONFIG FILE, PLEASE CHECK ITS CONTENT!!\n");
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/share/classes/sun/awt/OSInfo.java jdk-jdk-22-11/src/java.desktop/share/classes/sun/awt/OSInfo.java
--- jdk-jdk-22-11.orig/src/java.desktop/share/classes/sun/awt/OSInfo.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/share/classes/sun/awt/OSInfo.java    2023-08-19 19:44:58.495999471 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/share/classes/sun/awt/OSInfo.java jdk22u-jdk-22-33/src/java.desktop/share/classes/sun/awt/OSInfo.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/share/classes/sun/awt/OSInfo.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/share/classes/sun/awt/OSInfo.java    2024-01-27 15:17:38.983692082 +0100
@@ -39,6 +39,7 @@
     public static enum OSType {
         WINDOWS,
@@ -18034,9 +17878,9 @@
             case MACOS -> MACOSX;
             case AIX -> AIX;
             default -> UNKNOWN;
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/share/classes/sun/font/FontUtilities.java jdk-jdk-22-11/src/java.desktop/share/classes/sun/font/FontUtilities.java
--- jdk-jdk-22-11.orig/src/java.desktop/share/classes/sun/font/FontUtilities.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/share/classes/sun/font/FontUtilities.java    2023-08-19 19:44:58.496658257 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/share/classes/sun/font/FontUtilities.java jdk22u-jdk-22-33/src/java.desktop/share/classes/sun/font/FontUtilities.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/share/classes/sun/font/FontUtilities.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/share/classes/sun/font/FontUtilities.java    2024-01-27 15:17:38.984221236 +0100
@@ -41,6 +41,8 @@
  */
 public final class FontUtilities {
@@ -18055,9 +17899,9 @@
                 isLinux = OSInfo.getOSType() == OSInfo.OSType.LINUX;
 
                 isMacOSX = OSInfo.getOSType() == OSInfo.OSType.MACOSX;
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/share/native/libjsound/SoundDefs.h jdk-jdk-22-11/src/java.desktop/share/native/libjsound/SoundDefs.h
--- jdk-jdk-22-11.orig/src/java.desktop/share/native/libjsound/SoundDefs.h    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/share/native/libjsound/SoundDefs.h    2023-08-19 19:44:58.497227324 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/share/native/libjsound/SoundDefs.h jdk22u-jdk-22-33/src/java.desktop/share/native/libjsound/SoundDefs.h
--- jdk22u-jdk-22-33.orig/src/java.desktop/share/native/libjsound/SoundDefs.h    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/share/native/libjsound/SoundDefs.h    2024-01-27 15:17:38.984672455 +0100
@@ -29,9 +29,10 @@
 
 // types for X_PLATFORM
@@ -18093,9 +17937,9 @@
 #if X_PLATFORM == X_LINUX
 #define INLINE          inline
 #endif
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643.java jdk-jdk-22-11/src/java.desktop/solaris/classes/sun/font/X11CNS11643.java
--- jdk-jdk-22-11.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.desktop/solaris/classes/sun/font/X11CNS11643.java    2023-08-19 19:44:58.545048087 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643.java jdk22u-jdk-22-33/src/java.desktop/solaris/classes/sun/font/X11CNS11643.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/solaris/classes/sun/font/X11CNS11643.java    2024-01-27 15:17:39.023504531 +0100
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -18275,9 +18119,9 @@
+        }
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P1.java jdk-jdk-22-11/src/java.desktop/solaris/classes/sun/font/X11CNS11643P1.java
--- jdk-jdk-22-11.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P1.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.desktop/solaris/classes/sun/font/X11CNS11643P1.java    2023-08-19 19:44:58.545342255 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P1.java jdk22u-jdk-22-33/src/java.desktop/solaris/classes/sun/font/X11CNS11643P1.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P1.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/solaris/classes/sun/font/X11CNS11643P1.java    2024-01-27 15:17:39.023750463 +0100
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
@@ -18312,9 +18156,9 @@
+        super(1, "X11CNS11643P1");
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P2.java jdk-jdk-22-11/src/java.desktop/solaris/classes/sun/font/X11CNS11643P2.java
--- jdk-jdk-22-11.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P2.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.desktop/solaris/classes/sun/font/X11CNS11643P2.java    2023-08-19 19:44:58.545647166 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P2.java jdk22u-jdk-22-33/src/java.desktop/solaris/classes/sun/font/X11CNS11643P2.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P2.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/solaris/classes/sun/font/X11CNS11643P2.java    2024-01-27 15:17:39.023986458 +0100
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
@@ -18348,9 +18192,9 @@
+        super(2, "X11CNS11643P2");
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P3.java jdk-jdk-22-11/src/java.desktop/solaris/classes/sun/font/X11CNS11643P3.java
--- jdk-jdk-22-11.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P3.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.desktop/solaris/classes/sun/font/X11CNS11643P3.java    2023-08-19 19:44:58.545932996 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P3.java jdk22u-jdk-22-33/src/java.desktop/solaris/classes/sun/font/X11CNS11643P3.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/solaris/classes/sun/font/X11CNS11643P3.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/solaris/classes/sun/font/X11CNS11643P3.java    2024-01-27 15:17:39.024221518 +0100
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved.
@@ -18384,9 +18228,9 @@
+        super(3, "X11CNS11643P3");
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/solaris/data/fontconfig/fontconfig.properties jdk-jdk-22-11/src/java.desktop/solaris/data/fontconfig/fontconfig.properties
--- jdk-jdk-22-11.orig/src/java.desktop/solaris/data/fontconfig/fontconfig.properties    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.desktop/solaris/data/fontconfig/fontconfig.properties    2023-08-19 19:44:58.515978126 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/solaris/data/fontconfig/fontconfig.properties jdk22u-jdk-22-33/src/java.desktop/solaris/data/fontconfig/fontconfig.properties
--- jdk22u-jdk-22-33.orig/src/java.desktop/solaris/data/fontconfig/fontconfig.properties    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/solaris/data/fontconfig/fontconfig.properties    2024-01-27 15:17:38.999755579 +0100
@@ -0,0 +1,516 @@
+#
+#
@@ -18904,9 +18748,9 @@
+
+# Appended Font Path
+
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_PCM.c jdk-jdk-22-11/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_PCM.c
--- jdk-jdk-22-11.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_PCM.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_PCM.c    2023-08-19 19:44:58.546611566 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_PCM.c jdk22u-jdk-22-33/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_PCM.c
--- jdk22u-jdk-22-33.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_PCM.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_PCM.c    2024-01-27 15:17:39.024809540 +0100
@@ -0,0 +1,627 @@
+/*
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
@@ -19535,9 +19379,9 @@
+
+
+#endif // USE_DAUDIO
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Ports.c jdk-jdk-22-11/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Ports.c
--- jdk-jdk-22-11.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Ports.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Ports.c    2023-08-19 19:44:58.547201089 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Ports.c jdk22u-jdk-22-33/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Ports.c
--- jdk22u-jdk-22-33.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Ports.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Ports.c    2024-01-27 15:17:39.025290324 +0100
@@ -0,0 +1,600 @@
+/*
+ * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
@@ -20139,9 +19983,9 @@
+}
+
+#endif // USE_PORTS
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.c jdk-jdk-22-11/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.c
--- jdk-jdk-22-11.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.c    2023-08-19 19:44:58.547550994 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.c jdk22u-jdk-22-33/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.c
--- jdk22u-jdk-22-33.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.c    2024-01-27 15:17:39.025572799 +0100
@@ -0,0 +1,193 @@
+/*
+ * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -20336,9 +20180,9 @@
+    }
+    return 0;
+}
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.h jdk-jdk-22-11/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.h
--- jdk-jdk-22-11.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.h    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.h    2023-08-19 19:44:58.547846489 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.h jdk22u-jdk-22-33/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.h
--- jdk22u-jdk-22-33.orig/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.h    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/solaris/native/libjsound/PLATFORM_API_SolarisOS_Utils.h    2024-01-27 15:17:39.025812177 +0100
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
@@ -20437,9 +20281,9 @@
+
+
+#endif // PLATFORM_API_SOLARISOS_UTILS_H_INCLUDED
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/unix/classes/sun/awt/X11FontManager.java jdk-jdk-22-11/src/java.desktop/unix/classes/sun/awt/X11FontManager.java
--- jdk-jdk-22-11.orig/src/java.desktop/unix/classes/sun/awt/X11FontManager.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/unix/classes/sun/awt/X11FontManager.java    2023-08-19 19:44:58.497837071 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/unix/classes/sun/awt/X11FontManager.java jdk22u-jdk-22-33/src/java.desktop/unix/classes/sun/awt/X11FontManager.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/unix/classes/sun/awt/X11FontManager.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/unix/classes/sun/awt/X11FontManager.java    2024-01-27 15:17:38.985172265 +0100
@@ -686,7 +686,8 @@
          * and do the best we can.
          */
@@ -20450,9 +20294,9 @@
             FcFontConfiguration fcFontConfig =
                 new FcFontConfiguration(this);
             if (fcFontConfig.init()) {
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/unix/classes/sun/font/MFontConfiguration.java jdk-jdk-22-11/src/java.desktop/unix/classes/sun/font/MFontConfiguration.java
--- jdk-jdk-22-11.orig/src/java.desktop/unix/classes/sun/font/MFontConfiguration.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/unix/classes/sun/font/MFontConfiguration.java    2023-08-19 19:44:58.498479739 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/unix/classes/sun/font/MFontConfiguration.java jdk22u-jdk-22-33/src/java.desktop/unix/classes/sun/font/MFontConfiguration.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/unix/classes/sun/font/MFontConfiguration.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/unix/classes/sun/font/MFontConfiguration.java    2024-01-27 15:17:38.985700253 +0100
@@ -68,7 +68,59 @@
      */
     protected void initReorderMap() {
@@ -20539,9 +20383,9 @@
             try {
                 File f;
                 if ((f = new File("/etc/fedora-release")).canRead()) {
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/unix/classes/sun/print/PrintServiceLookupProvider.java jdk-jdk-22-11/src/java.desktop/unix/classes/sun/print/PrintServiceLookupProvider.java
--- jdk-jdk-22-11.orig/src/java.desktop/unix/classes/sun/print/PrintServiceLookupProvider.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/unix/classes/sun/print/PrintServiceLookupProvider.java    2023-08-19 19:44:58.499299200 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/unix/classes/sun/print/PrintServiceLookupProvider.java jdk22u-jdk-22-33/src/java.desktop/unix/classes/sun/print/PrintServiceLookupProvider.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/unix/classes/sun/print/PrintServiceLookupProvider.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/unix/classes/sun/print/PrintServiceLookupProvider.java    2024-01-27 15:17:38.986402334 +0100
@@ -150,6 +150,10 @@
         return OSInfo.getOSType() == OSInfo.OSType.MACOSX;
     }
@@ -20589,9 +20433,9 @@
                 cmd[0] = "/usr/bin/sh";
                 cmd[1] = "-c";
                 cmd[2] = "env LC_ALL=C " + command;
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java jdk-jdk-22-11/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java
--- jdk-jdk-22-11.orig/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java    2023-08-19 19:44:58.500495346 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java jdk22u-jdk-22-33/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java    2024-01-27 15:17:38.986937102 +0100
@@ -872,25 +872,51 @@
                         isAttributeCategorySupported(JobSheets.class)) {
             ncomps+=1;
@@ -20663,9 +20507,9 @@
         }
         execCmd[n++] = spoolFile;
         if (IPPPrintService.debugPrint) {
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/unix/classes/sun/print/UnixPrintService.java jdk-jdk-22-11/src/java.desktop/unix/classes/sun/print/UnixPrintService.java
--- jdk-jdk-22-11.orig/src/java.desktop/unix/classes/sun/print/UnixPrintService.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/unix/classes/sun/print/UnixPrintService.java    2023-08-19 19:44:58.501362920 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/unix/classes/sun/print/UnixPrintService.java jdk22u-jdk-22-33/src/java.desktop/unix/classes/sun/print/UnixPrintService.java
--- jdk22u-jdk-22-33.orig/src/java.desktop/unix/classes/sun/print/UnixPrintService.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/unix/classes/sun/print/UnixPrintService.java    2024-01-27 15:17:38.988111717 +0100
@@ -220,6 +220,31 @@
         return name;
     }
@@ -20760,9 +20604,9 @@
             return getAIXServiceAttributes();
         } else {
             return getBSDServiceAttributes();
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/unix/native/common/awt/fontpath.c jdk-jdk-22-11/src/java.desktop/unix/native/common/awt/fontpath.c
--- jdk-jdk-22-11.orig/src/java.desktop/unix/native/common/awt/fontpath.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/unix/native/common/awt/fontpath.c    2023-08-19 19:44:58.502209785 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/unix/native/common/awt/fontpath.c jdk22u-jdk-22-33/src/java.desktop/unix/native/common/awt/fontpath.c
--- jdk22u-jdk-22-33.orig/src/java.desktop/unix/native/common/awt/fontpath.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/unix/native/common/awt/fontpath.c    2024-01-27 15:17:38.988822887 +0100
@@ -57,7 +57,57 @@
 
 #define MAXFDIRS 512    /* Max number of directories that contain fonts */
@@ -20846,9 +20690,9 @@
 #elif defined(_AIX)
     knowndirs = fullAixFontPath;
 #endif
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c jdk-jdk-22-11/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c
--- jdk-jdk-22-11.orig/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c    2023-08-19 19:44:58.503018142 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c jdk22u-jdk-22-33/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c
--- jdk22u-jdk-22-33.orig/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c    2024-01-27 15:17:38.989508047 +0100
@@ -402,7 +402,12 @@
             xrenderLibHandle = dlopen("libXrender.so", RTLD_LAZY | RTLD_GLOBAL);
         }
@@ -20863,9 +20707,9 @@
         if (xrenderLibHandle == NULL) {
             xrenderLibHandle = dlopen("libXrender.a(libXrender.so.0)",
                                       RTLD_MEMBER | RTLD_LAZY | RTLD_GLOBAL);
diff -Nru jdk-jdk-22-11.orig/src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRBackendNative.c jdk-jdk-22-11/src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRBackendNative.c
--- jdk-jdk-22-11.orig/src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRBackendNative.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRBackendNative.c    2023-08-19 19:44:58.503838395 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRBackendNative.c jdk22u-jdk-22-33/src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRBackendNative.c
--- jdk22u-jdk-22-33.orig/src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRBackendNative.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRBackendNative.c    2024-01-27 15:17:38.990198501 +0100
@@ -61,6 +61,29 @@
 
 #include <dlfcn.h>
@@ -20952,9 +20796,9 @@
     free(colors);
     free(stops);
 
diff -Nru jdk-jdk-22-11.orig/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java jdk-jdk-22-11/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java
--- jdk-jdk-22-11.orig/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java    2023-08-19 19:44:58.504451783 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java jdk22u-jdk-22-33/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java
--- jdk22u-jdk-22-33.orig/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java    2024-01-27 15:17:38.990630895 +0100
@@ -91,6 +91,9 @@
                                 = System.getProperty("sun.security.jgss.lib");
                         if (defaultLib == null || defaultLib.trim().equals("")) {
@@ -20965,10 +20809,10 @@
                                 case LINUX -> new String[]{
                                         "libgssapi.so",
                                         "libgssapi_krb5.so",
diff -Nru jdk-jdk-22-11.orig/src/java.security.jgss/share/classes/sun/security/krb5/Config.java jdk-jdk-22-11/src/java.security.jgss/share/classes/sun/security/krb5/Config.java
--- jdk-jdk-22-11.orig/src/java.security.jgss/share/classes/sun/security/krb5/Config.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.security.jgss/share/classes/sun/security/krb5/Config.java    2023-08-19 19:44:58.505201497 +0200
@@ -931,6 +931,8 @@
diff -Nru jdk22u-jdk-22-33.orig/src/java.security.jgss/share/classes/sun/security/krb5/Config.java jdk22u-jdk-22-33/src/java.security.jgss/share/classes/sun/security/krb5/Config.java
--- jdk22u-jdk-22-33.orig/src/java.security.jgss/share/classes/sun/security/krb5/Config.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.security.jgss/share/classes/sun/security/krb5/Config.java    2024-01-27 15:17:38.991181943 +0100
@@ -930,6 +930,8 @@
             if (name == null) {
                 name = "c:\\winnt\\krb5.ini";
             }
@@ -20977,9 +20821,9 @@
         } else if (OperatingSystem.isMacOS()) {
             name = findMacosConfigFile();
         } else {
diff -Nru jdk-jdk-22-11.orig/src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/DflCache.java jdk-jdk-22-11/src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/DflCache.java
--- jdk-jdk-22-11.orig/src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/DflCache.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/DflCache.java    2023-08-19 19:44:58.505702989 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/DflCache.java jdk22u-jdk-22-33/src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/DflCache.java
--- jdk22u-jdk-22-33.orig/src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/DflCache.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/DflCache.java    2024-01-27 15:17:38.991584978 +0100
@@ -107,7 +107,7 @@
 
     private static long uid;
@@ -20989,27 +20833,27 @@
         uid = jdk.internal.misc.VM.geteuid();
     }
 
diff -Nru jdk-jdk-22-11.orig/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java jdk-jdk-22-11/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
--- jdk-jdk-22-11.orig/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java    2023-08-19 19:44:58.506218104 +0200
@@ -82,8 +82,12 @@
         String s2 = lib.substring(k + 7);
         String libDir;
         if ("64".equals(System.getProperty("sun.arch.data.model"))) {
-            // assume Linux convention
-            libDir = "lib64";
+            if ("SunOS".equals(System.getProperty("os.name"))) {
+                libDir = "lib/64";
+            } else {
+                // assume Linux convention
+                libDir = "lib64";
+            }
         } else {
             // must be 32-bit
             libDir = "lib";
diff -Nru jdk-jdk-22-11.orig/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java jdk-jdk-22-11/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java
--- jdk-jdk-22-11.orig/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java    2023-08-19 19:44:58.506842915 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java jdk22u-jdk-22-33/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
--- jdk22u-jdk-22-33.orig/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java    2024-01-27 15:17:38.991979938 +0100
@@ -86,8 +86,12 @@
         if (k != -1) {
             String libDir;
             if ("64".equals(System.getProperty("sun.arch.data.model"))) {
-                // assume Linux convention
-                libDir = "lib64";
+                if ("SunOS".equals(System.getProperty("os.name"))) {
+                    libDir = "lib/64";
+                } else {
+                    // assume Linux convention
+                    libDir = "lib64";
+                }
             } else {
                 // must be 32-bit
                 libDir = "lib";
diff -Nru jdk22u-jdk-22-33.orig/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java jdk22u-jdk-22-33/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java
--- jdk22u-jdk-22-33.orig/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java    2024-01-27 15:17:38.992409649 +0100
@@ -33,12 +33,21 @@
     private static final int KB = 1024;
     private static int BUFFER_SIZE = 4 * KB;
@@ -21033,9 +20877,9 @@
      */
     public WriterOutputBuffer(Writer writer) {
         _writer = new BufferedWriter(writer, BUFFER_SIZE);
diff -Nru jdk-jdk-22-11.orig/src/jdk.attach/solaris/classes/sun/tools/attach/AttachProviderImpl.java jdk-jdk-22-11/src/jdk.attach/solaris/classes/sun/tools/attach/AttachProviderImpl.java
--- jdk-jdk-22-11.orig/src/jdk.attach/solaris/classes/sun/tools/attach/AttachProviderImpl.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/jdk.attach/solaris/classes/sun/tools/attach/AttachProviderImpl.java    2023-08-19 19:44:58.548411220 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.attach/solaris/classes/sun/tools/attach/AttachProviderImpl.java jdk22u-jdk-22-33/src/jdk.attach/solaris/classes/sun/tools/attach/AttachProviderImpl.java
--- jdk22u-jdk-22-33.orig/src/jdk.attach/solaris/classes/sun/tools/attach/AttachProviderImpl.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.attach/solaris/classes/sun/tools/attach/AttachProviderImpl.java    2024-01-27 15:17:39.026278539 +0100
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
@@ -21116,9 +20960,9 @@
+    }
+
+}
diff -Nru jdk-jdk-22-11.orig/src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java jdk-jdk-22-11/src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java
--- jdk-jdk-22-11.orig/src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java    2023-08-19 19:44:58.548814855 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java jdk22u-jdk-22-33/src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java
--- jdk22u-jdk-22-33.orig/src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java    2024-01-27 15:17:39.026606208 +0100
@@ -0,0 +1,272 @@
+/*
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -21392,9 +21236,9 @@
+        System.loadLibrary("attach");
+    }
+}
diff -Nru jdk-jdk-22-11.orig/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c jdk-jdk-22-11/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c
--- jdk-jdk-22-11.orig/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c    2023-08-19 19:44:58.549361182 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c jdk22u-jdk-22-33/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c
--- jdk22u-jdk-22-33.orig/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c    2024-01-27 15:17:39.027055282 +0100
@@ -0,0 +1,389 @@
+/*
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -21785,9 +21629,9 @@
+    free(buf);
+    return result;
+}
diff -Nru jdk-jdk-22-11.orig/src/jdk.charsets/share/classes/sun/nio/cs/ext/JISAutoDetect.java jdk-jdk-22-11/src/jdk.charsets/share/classes/sun/nio/cs/ext/JISAutoDetect.java
--- jdk-jdk-22-11.orig/src/jdk.charsets/share/classes/sun/nio/cs/ext/JISAutoDetect.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.charsets/share/classes/sun/nio/cs/ext/JISAutoDetect.java    2023-08-19 19:44:58.507474731 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.charsets/share/classes/sun/nio/cs/ext/JISAutoDetect.java jdk22u-jdk-22-33/src/jdk.charsets/share/classes/sun/nio/cs/ext/JISAutoDetect.java
--- jdk22u-jdk-22-33.orig/src/jdk.charsets/share/classes/sun/nio/cs/ext/JISAutoDetect.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.charsets/share/classes/sun/nio/cs/ext/JISAutoDetect.java    2024-01-27 15:17:38.992842747 +0100
@@ -95,7 +95,7 @@
     private static class Decoder extends CharsetDecoder {
 
@@ -21823,9 +21667,9 @@
+
     }
 }
diff -Nru jdk-jdk-22-11.orig/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java jdk-jdk-22-11/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java
--- jdk-jdk-22-11.orig/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java    2023-08-19 19:44:58.508193583 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java jdk22u-jdk-22-33/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java
--- jdk22u-jdk-22-33.orig/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java    2024-01-27 15:17:38.993317334 +0100
@@ -711,10 +711,15 @@
         lib = expand(lib);
         int i = lib.indexOf("/$ISA/");
@@ -21844,9 +21688,9 @@
         }
         if (DEBUG) {
             System.out.println(keyword + ": " + lib);
diff -Nru jdk-jdk-22-11.orig/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg jdk-jdk-22-11/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg
--- jdk-jdk-22-11.orig/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg    2023-08-19 19:44:58.549842234 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg jdk22u-jdk-22-33/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg
--- jdk22u-jdk-22-33.orig/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg    2024-01-27 15:17:39.027427792 +0100
@@ -0,0 +1,23 @@
+#
+# Configuration file to allow the SunPKCS11 provider to utilize
@@ -21871,9 +21715,9 @@
+  SecureRandom
+}
+
diff -Nru jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotSolarisVtblAccess.java jdk-jdk-22-11/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotSolarisVtblAccess.java
--- jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotSolarisVtblAccess.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotSolarisVtblAccess.java    2023-08-19 19:44:58.550191177 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotSolarisVtblAccess.java jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotSolarisVtblAccess.java
--- jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotSolarisVtblAccess.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotSolarisVtblAccess.java    2024-01-27 15:17:39.027721666 +0100
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
@@ -21940,9 +21784,9 @@
+    return mangled.toString();
+  }
+}
diff -Nru jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_amd64/SolarisAMD64JavaThreadPDAccess.java jdk-jdk-22-11/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_amd64/SolarisAMD64JavaThreadPDAccess.java
--- jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_amd64/SolarisAMD64JavaThreadPDAccess.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_amd64/SolarisAMD64JavaThreadPDAccess.java    2023-08-19 19:44:58.550633879 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_amd64/SolarisAMD64JavaThreadPDAccess.java jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_amd64/SolarisAMD64JavaThreadPDAccess.java
--- jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_amd64/SolarisAMD64JavaThreadPDAccess.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_amd64/SolarisAMD64JavaThreadPDAccess.java    2024-01-27 15:17:39.028089513 +0100
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2004, 2020, Oracle and/or its affiliates. All rights reserved.
@@ -22084,9 +21928,9 @@
+    }
+
+}
diff -Nru jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_x86/SolarisX86JavaThreadPDAccess.java jdk-jdk-22-11/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_x86/SolarisX86JavaThreadPDAccess.java
--- jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_x86/SolarisX86JavaThreadPDAccess.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_x86/SolarisX86JavaThreadPDAccess.java    2023-08-19 19:44:58.551074091 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_x86/SolarisX86JavaThreadPDAccess.java jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_x86/SolarisX86JavaThreadPDAccess.java
--- jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_x86/SolarisX86JavaThreadPDAccess.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/solaris_x86/SolarisX86JavaThreadPDAccess.java    2024-01-27 15:17:39.028464028 +0100
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
@@ -22230,9 +22074,9 @@
+  }
+
+}
diff -Nru jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java jdk-jdk-22-11/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java
--- jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java    2023-08-19 19:44:58.508868353 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java
--- jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java    2024-01-27 15:17:38.993863825 +0100
@@ -28,6 +28,8 @@
 
 import sun.jvm.hotspot.debugger.*;
@@ -22257,9 +22101,9 @@
             if (cpu.equals("x86")) {
                 access =  new Win32X86JavaThreadPDAccess();
             } else if (cpu.equals("amd64")) {
diff -Nru jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java jdk-jdk-22-11/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java
--- jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java    2023-08-19 19:44:58.509366129 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java
--- jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java    2024-01-27 15:17:38.994291133 +0100
@@ -28,10 +28,14 @@
     system. */
 
@@ -22277,9 +22121,9 @@
       return "linux";
     } else if (os.equals("FreeBSD")) {
       return "bsd";
diff -Nru jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c jdk-jdk-22-11/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c
--- jdk-jdk-22-11.orig/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c    2023-08-19 19:44:58.509873946 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c
--- jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c    2024-01-27 15:17:38.994732824 +0100
@@ -22,6 +22,8 @@
  *
  */
@@ -22289,9 +22133,9 @@
 #if defined(LINUX) || defined(__APPLE__)
 #include <unistd.h>
 #include <fcntl.h>
diff -Nru jdk-jdk-22-11.orig/src/jdk.hotspot.agent/test/libproc/libproctest.sh jdk-jdk-22-11/src/jdk.hotspot.agent/test/libproc/libproctest.sh
--- jdk-jdk-22-11.orig/src/jdk.hotspot.agent/test/libproc/libproctest.sh    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.hotspot.agent/test/libproc/libproctest.sh    2023-08-19 19:44:58.510306879 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/test/libproc/libproctest.sh jdk22u-jdk-22-33/src/jdk.hotspot.agent/test/libproc/libproctest.sh
--- jdk22u-jdk-22-33.orig/src/jdk.hotspot.agent/test/libproc/libproctest.sh    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.hotspot.agent/test/libproc/libproctest.sh    2024-01-27 15:17:38.995121594 +0100
@@ -59,8 +59,10 @@
 kill -9 $pid
 
@@ -22304,9 +22148,9 @@
 
 # delete core
 rm -f core.$pid
diff -Nru jdk-jdk-22-11.orig/src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c jdk-jdk-22-11/src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c
--- jdk-jdk-22-11.orig/src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c    2023-08-19 19:44:58.510950739 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c jdk22u-jdk-22-33/src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c
--- jdk22u-jdk-22-33.orig/src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c    2024-01-27 15:17:38.995615885 +0100
@@ -33,8 +33,12 @@
 #include <errno.h>
 #include <string.h>
@@ -22365,9 +22209,9 @@
 long
 dbgsysCurrentTimeMillis() {
     struct timeval t;
diff -Nru jdk-jdk-22-11.orig/src/jdk.management/solaris/native/libmanagement_ext/UnixOperatingSystem.c jdk-jdk-22-11/src/jdk.management/solaris/native/libmanagement_ext/UnixOperatingSystem.c
--- jdk-jdk-22-11.orig/src/jdk.management/solaris/native/libmanagement_ext/UnixOperatingSystem.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-11/src/jdk.management/solaris/native/libmanagement_ext/UnixOperatingSystem.c    2023-08-19 19:44:58.551608397 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.management/solaris/native/libmanagement_ext/UnixOperatingSystem.c jdk22u-jdk-22-33/src/jdk.management/solaris/native/libmanagement_ext/UnixOperatingSystem.c
--- jdk22u-jdk-22-33.orig/src/jdk.management/solaris/native/libmanagement_ext/UnixOperatingSystem.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.management/solaris/native/libmanagement_ext/UnixOperatingSystem.c    2024-01-27 15:17:39.028892650 +0100
@@ -0,0 +1,254 @@
+/*
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
@@ -22623,9 +22467,9 @@
+{
+    return -1;
+}
diff -Nru jdk-jdk-22-11.orig/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c jdk-jdk-22-11/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c
--- jdk-jdk-22-11.orig/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c    2023-08-19 19:44:58.511593908 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c jdk22u-jdk-22-33/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c
--- jdk22u-jdk-22-33.orig/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c    2024-01-27 15:17:38.996147704 +0100
@@ -85,7 +85,63 @@
 // true = get available swap in bytes
 // false = get total swap in bytes
@@ -22739,9 +22583,9 @@
     clk_tck = (jlong) sysconf(_SC_CLK_TCK);
 #elif defined(__linux__) || defined(_ALLBSD_SOURCE)
     clk_tck = 100;
diff -Nru jdk-jdk-22-11.orig/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java jdk-jdk-22-11/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java
--- jdk-jdk-22-11.orig/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java    2023-08-19 19:44:58.512157591 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java jdk22u-jdk-22-33/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java
--- jdk22u-jdk-22-33.orig/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java    2024-01-27 15:17:38.996609773 +0100
@@ -44,6 +44,12 @@
     /* -- Miscellaneous SCTP utilities -- */
 
@@ -22755,9 +22599,9 @@
         /* lksctp/linux requires Ipv4 addresses */
         return false;
     }
diff -Nru jdk-jdk-22-11.orig/src/jdk.sctp/unix/native/libsctp/Sctp.h jdk-jdk-22-11/src/jdk.sctp/unix/native/libsctp/Sctp.h
--- jdk-jdk-22-11.orig/src/jdk.sctp/unix/native/libsctp/Sctp.h    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.sctp/unix/native/libsctp/Sctp.h    2023-08-19 19:44:58.512726518 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.sctp/unix/native/libsctp/Sctp.h jdk22u-jdk-22-33/src/jdk.sctp/unix/native/libsctp/Sctp.h
--- jdk22u-jdk-22-33.orig/src/jdk.sctp/unix/native/libsctp/Sctp.h    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.sctp/unix/native/libsctp/Sctp.h    2024-01-27 15:17:38.997074613 +0100
@@ -26,6 +26,48 @@
 #ifndef SUN_NIO_CH_SCTP_H
 #define SUN_NIO_CH_SCTP_H
@@ -22816,9 +22660,9 @@
 extern sctp_getladdrs_func* nio_sctp_getladdrs;
 extern sctp_freeladdrs_func* nio_sctp_freeladdrs;
 extern sctp_getpaddrs_func* nio_sctp_getpaddrs;
diff -Nru jdk-jdk-22-11.orig/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c jdk-jdk-22-11/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c
--- jdk-jdk-22-11.orig/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c    2023-08-19 19:44:58.513218359 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c jdk22u-jdk-22-33/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c
--- jdk22u-jdk-22-33.orig/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c    2024-01-27 15:17:38.997475118 +0100
@@ -331,11 +331,10 @@
             break;
         case SCTP_ADDR_MADE_PRIM :
@@ -22832,9 +22676,9 @@
 #endif  /* __linux__ */
     }
 
diff -Nru jdk-jdk-22-11.orig/src/jdk.sctp/unix/native/libsctp/SctpNet.c jdk-jdk-22-11/src/jdk.sctp/unix/native/libsctp/SctpNet.c
--- jdk-jdk-22-11.orig/src/jdk.sctp/unix/native/libsctp/SctpNet.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.sctp/unix/native/libsctp/SctpNet.c    2023-08-19 19:44:58.513771543 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.sctp/unix/native/libsctp/SctpNet.c jdk22u-jdk-22-33/src/jdk.sctp/unix/native/libsctp/SctpNet.c
--- jdk22u-jdk-22-33.orig/src/jdk.sctp/unix/native/libsctp/SctpNet.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.sctp/unix/native/libsctp/SctpNet.c    2024-01-27 15:17:38.997940461 +0100
@@ -371,7 +371,11 @@
     int i, addrCount;
     jobjectArray isaa;
@@ -22859,9 +22703,9 @@
         sctpHandleSocketError(env, errno);
         return NULL;
     }
diff -Nru jdk-jdk-22-11.orig/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java jdk-jdk-22-11/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java
--- jdk-jdk-22-11.orig/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java    2023-08-19 19:44:58.514528076 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java jdk22u-jdk-22-33/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java
--- jdk22u-jdk-22-33.orig/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java    2024-01-27 15:17:38.998549202 +0100
@@ -104,7 +104,7 @@
  * to false if you do not want this module to use the ticket cache.
  * (Default is False).
@@ -22871,9 +22715,9 @@
  * it will look for the ticket cache in /tmp/krb5cc_{@code uid}
  * where the uid is numeric user identifier. If the ticket cache is
  * not available in the above location, or if we are on a
diff -Nru jdk-jdk-22-11.orig/src/jdk.security.auth/unix/native/libjaas/Unix.c jdk-jdk-22-11/src/jdk.security.auth/unix/native/libjaas/Unix.c
--- jdk-jdk-22-11.orig/src/jdk.security.auth/unix/native/libjaas/Unix.c    2023-08-16 19:37:21.000000000 +0200
+++ jdk-jdk-22-11/src/jdk.security.auth/unix/native/libjaas/Unix.c    2023-08-19 19:44:58.514995868 +0200
diff -Nru jdk22u-jdk-22-33.orig/src/jdk.security.auth/unix/native/libjaas/Unix.c jdk22u-jdk-22-33/src/jdk.security.auth/unix/native/libjaas/Unix.c
--- jdk22u-jdk-22-33.orig/src/jdk.security.auth/unix/native/libjaas/Unix.c    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/src/jdk.security.auth/unix/native/libjaas/Unix.c    2024-01-27 15:17:38.998921518 +0100
@@ -32,6 +32,10 @@
 #include <stdlib.h>
 #include <string.h>
components/runtime/openjdk-22/patches/2_revert-remove-install.patch
New file
@@ -0,0 +1,144 @@
diff -Nru jdk22u-jdk-22-33.orig/make/autoconf/spec.gmk.in jdk22u-jdk-22-33/make/autoconf/spec.gmk.in
--- jdk22u-jdk-22-33.orig/make/autoconf/spec.gmk.in    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/autoconf/spec.gmk.in    2024-01-27 15:45:38.510790947 +0100
@@ -826,6 +826,57 @@
 ####################################################
 #
+# INSTALLATION
+#
+
+# Common prefix for all installed files. Defaults to /usr/local,
+# but /opt/myjdk is another common version.
+INSTALL_PREFIX = @prefix@
+
+# Directories containing architecture-dependent files should be relative to exec_prefix
+INSTALL_EXECPREFIX = @exec_prefix@
+
+# java,javac,javap etc are installed here.
+INSTALL_BINDIR = @bindir@
+
+# Read only architecture-independent data
+INSTALL_DATADIR = @datadir@
+
+# Root of above.
+INSTALL_DATAROOTDIR = @datarootdir@
+
+# Doc files, other than info and man.
+INSTALL_DOCDIR = @docdir@
+
+# Html documentation
+INSTALL_HTMLDIR = @htmldir@
+
+# Installing C header files, JNI headers for example.
+INSTALL_INCLUDEDIR = @includedir@
+
+# Installing library files....
+INSTALL_INCLUDEDIR = @libdir@
+
+# Executables that other programs run.
+INSTALL_LIBEXECDIR = @libexecdir@
+
+# Locale-dependent but architecture-independent data, such as message catalogs.
+INSTALL_LOCALEDIR = @localedir@
+
+# Modifiable single-machine data
+INSTALL_LOCALSTATEDIR = @localstatedir@
+
+# Man pages
+INSTALL_MANDIR = @mandir@
+
+# Modifiable architecture-independent data.
+INSTALL_SHAREDSTATEDIR = @sharedstatedir@
+
+# Read-only single-machine data
+INSTALL_SYSCONFDIR = @sysconfdir@
+
+####################################################
+#
 # Libraries
 #
diff -Nru jdk22u-jdk-22-33.orig/make/Global.gmk jdk22u-jdk-22-33/make/Global.gmk
--- jdk22u-jdk-22-33.orig/make/Global.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/Global.gmk    2024-01-27 15:45:38.509506235 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2012, 2023, 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
@@ -52,6 +52,7 @@
     $(info $(_) make docs              # Create all docs)
     $(info $(_) make docs-jdk-api      # Create just JDK javadocs)
     $(info $(_) make bootcycle-images  # Build images twice, second time with newly built JDK)
+    $(info $(_) make install           # Install the generated images locally)
     $(info $(_) make check             # Run basic testing (currently tier1))
     $(info $(_) make test-<test>       # Run test, e.g. test-tier1)
     $(info $(_) make test TEST=<t>     # Run test(s) given by TEST specification)
diff -Nru jdk22u-jdk-22-33.orig/make/Install.gmk jdk22u-jdk-22-33/make/Install.gmk
--- jdk22u-jdk-22-33.orig/make/Install.gmk    1970-01-01 01:00:00.000000000 +0100
+++ jdk22u-jdk-22-33/make/Install.gmk    2024-01-27 15:45:38.509708752 +0100
@@ -0,0 +1,43 @@
+#
+# Copyright (c) 2014, 2015, 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
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+default: install
+
+include $(SPEC)
+
+BINARIES := $(notdir $(wildcard $(JDK_IMAGE_DIR)/bin/*))
+INSTALLDIR := openjdk-$(VERSION_SHORT)
+
+# Install the jdk image, in a very crude way. Not taking into
+# account, how to install properly on macosx or windows etc.
+install:
+    echo Installing jdk image into $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
+    echo and creating $(words $(BINARIES)) links from $(INSTALL_PREFIX)/bin into the jdk.
+    $(MKDIR) -p $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
+    $(RM) -r $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/*
+    $(CP) -rp $(JDK_IMAGE_DIR)/* $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
+    $(MKDIR) -p $(INSTALL_PREFIX)/bin
+    $(RM) $(addprefix $(INSTALL_PREFIX)/bin/, $(BINARIES))
+    $(foreach b, $(BINARIES), $(LN) -s $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/bin/$b $(INSTALL_PREFIX)/bin/$b &&) true
diff -Nru jdk22u-jdk-22-33.orig/make/Main.gmk jdk22u-jdk-22-33/make/Main.gmk
--- jdk22u-jdk-22-33.orig/make/Main.gmk    2024-01-22 17:02:33.000000000 +0100
+++ jdk22u-jdk-22-33/make/Main.gmk    2024-01-27 15:45:38.510344411 +0100
@@ -867,6 +867,14 @@
 endif
 ################################################################################
+# Install targets
+
+$(eval $(call SetupTarget, install, \
+    MAKEFILE := Install, \
+    DEPS := product-images, \
+))
+
+################################################################################
 #
 # Dependency declarations between targets.
 #
components/runtime/openjdk-22/patches/README-zero.txt
@@ -21,9 +21,15 @@
Adds the src/hotspot/os_cpu/solaris_zero directory and contents
These are current and tested for a successful build (not necessarily
fully working) as of jdk 22+8. They don't provide a proper zero port,
as they still have x86 assembler that needs to be removed. But this
fully working) as of jdk 22+22. They don't provide a proper zero port,
as they still have assembler that needs to be removed. But this
provides a starting point.
There's a warning:
OpenJDK 64-Bit Zero VM warning: Unsupported locking mode for this CPU.
which you can gt around by passing -XX:LockingMode=0 or -XX:LockingMode=1
The two patches above are now applied by default, so we at least catch
any source incompatibilities early.
@@ -31,7 +37,7 @@
Configure:
env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin bash ./configure \
--enable-unlimited-crypto --with-boot-jdk=/usr/jdk/instances/jdk20 \
--enable-unlimited-crypto --with-boot-jdk=/usr/jdk/instances/jdk21 \
--with-native-debug-symbols=none \
--with-toolchain-type=gcc \
--disable-dtrace \
components/runtime/openjdk-22/patches/README.txt
@@ -3,14 +3,111 @@
See also README-zero.txt for note on a project zero variant.
JDK 22 now that jdk21 has been forked off.
JDK 22 now switched to the jdk22 stabilisation repo
Issues known that indicate serious bugs, likely due to not integrating
loom correctly as they date back to that change. Specifically, I
suspect we need to provide a working DefaultPoller implementation
rather than the current stub.
loom correctly as they date back to that change.
* jshell doesn't work
* illuminate doesn't work
22+28, 22+29, 22+30, 22+31, 22+32
No changes.
22+27
Trivial patch noise
Switch to jdk22 stabilisation repo
22+26
Don't patch make/autoconf/spec.gmk.in any more, the variable added is
no longer used
os::scan_pages() has been removed
os::prepare_native_symbols() has been added, provide a no-op implementation
Cleanup: we always have dladdr1() on all supported releases, so don't
check for it or work around its potential absence
22+25
Revised illumos-pollerprovider.patch for signature change in
EPollPoller.implDeregister()
22+24
Trivial patch noise.
22+23
Signature change in DefaultPoller.java, the whole of Poller has been
reworked. As our DevPollPoller was a stub and never worked, delete and
replace with a copy of EPollPoller from Linux:
cp src/java.base/linux/classes/sun/nio/ch/EPoll* src/java.base/solaris/classes/sun/nio/ch
cp src/java.base/linux/classes/sun/nio/ch/EventFD.java src/java.base/solaris/classes/sun/nio/ch
cp src/java.base/linux/native/libnio/ch/EPoll.c src/java.base/solaris/native/libnio/ch/EPoll.c
See revised illumos-pollerprovider.patch
22+22
memTracker was moved from src/hotspot/share/services to
src/hotspot/share/nmt
22+21
Trivial patch noise
22+20
Larger changes to src/java.base/unix/native/libnet/net_util_md.c
Need to #include sys/filio.h in
src/java.base/unix/native/libnio/ch/Net.c so that FIONREAD is defined
22+19
Trivial patch noise.
22+18
Boot jdk bumped to 21
22+17
With the removal of ArrayAllocatorMallocLimit, don't patch
globals.hpp, and remove the comment-only hunk too.
os::numa_get_leaf groups signature change
22+15, 22+16
Trivial patch noise.
22+14
New function os::vm_min_address() needs an implementation. Provide a
very basic one.
22+13
Minor patch noise.
#include "utilities/checkedCast.hpp" in os_solaris.cpp
current_stack_base() and current_stack_size() have been merged into a
single current_stack_base_and_size()
As we make some use of the old functions, move them into os::Solaris,
and implement the new merged function by calling them.
22+12
Remove AttachListener::pd_set_flag()
22+11
@@ -58,7 +155,7 @@
Build:
env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin bash ./configure \
--enable-unlimited-crypto --with-boot-jdk=/usr/jdk/instances/jdk20 \
--enable-unlimited-crypto --with-boot-jdk=/usr/jdk/instances/jdk21 \
--with-native-debug-symbols=none \
--with-toolchain-type=gcc \
--disable-dtrace \
components/runtime/openjdk-22/patches/illumos-pollerprovider.patch
@@ -36,21 +36,146 @@
+    DefaultPollerProvider() { }
+
+    @Override
+    Poller readPoller() throws IOException {
+        return new DevPollPoller(true);
+    Poller readPoller(boolean subPoller) throws IOException {
+        return new EPollPoller(subPoller, true);
+    }
+
+    @Override
+    Poller writePoller() throws IOException {
+        return new DevPollPoller(false);
+    Poller writePoller(boolean subPoller) throws IOException {
+        return new EPollPoller(subPoller, false);
+    }
+}
--- /dev/null    Sun May 15 10:42:57 2022
+++ a/src/java.base/solaris/classes/sun/nio/ch/DevPollPoller.java    Sun May 15 10:17:09 2022
@@ -0,0 +1,64 @@
diff --new-file -ur jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EPoll.java jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EPoll.java
--- jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EPoll.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EPoll.java    2023-11-09 09:45:49.844024203 +0000
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2022 Peter Tribble
+ * Copyright (c) 2008, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.ch;
+
+import java.io.IOException;
+import jdk.internal.misc.Unsafe;
+
+/**
+ * Provides access to the Linux epoll facility.
+ */
+
+class EPoll {
+    private EPoll() { }
+
+    private static final Unsafe unsafe = Unsafe.getUnsafe();
+
+    /**
+     * typedef union epoll_data {
+     *     void *ptr;
+     *     int fd;
+     *     __uint32_t u32;
+     *     __uint64_t u64;
+     *  } epoll_data_t;
+     *
+     * struct epoll_event {
+     *     __uint32_t events;
+     *     epoll_data_t data;
+     * }
+     */
+    static {
+        IOUtil.load();
+    }
+    private static final int SIZEOF_EPOLLEVENT   = eventSize();
+    private static final int OFFSETOF_EVENTS     = eventsOffset();
+    private static final int OFFSETOF_FD         = dataOffset();
+
+    // opcodes
+    static final int EPOLL_CTL_ADD  = 1;
+    static final int EPOLL_CTL_DEL  = 2;
+    static final int EPOLL_CTL_MOD  = 3;
+
+    // events
+    static final int EPOLLIN   = 0x1;
+    static final int EPOLLOUT  = 0x4;
+
+    // flags
+    static final int EPOLLONESHOT   = (1 << 30);
+
+    /**
+     * Allocates a poll array to handle up to {@code count} events.
+     */
+    static long allocatePollArray(int count) {
+        return unsafe.allocateMemory(count * SIZEOF_EPOLLEVENT);
+    }
+
+    /**
+     * Free a poll array
+     */
+    static void freePollArray(long address) {
+        unsafe.freeMemory(address);
+    }
+
+    /**
+     * Returns event[i];
+     */
+    static long getEvent(long address, int i) {
+        return address + (SIZEOF_EPOLLEVENT*i);
+    }
+
+    /**
+     * Returns event->data.fd
+     */
+    static int getDescriptor(long eventAddress) {
+        return unsafe.getInt(eventAddress + OFFSETOF_FD);
+    }
+
+    /**
+     * Returns event->events
+     */
+    static int getEvents(long eventAddress) {
+        return unsafe.getInt(eventAddress + OFFSETOF_EVENTS);
+    }
+
+    // -- Native methods --
+
+    private static native int eventSize();
+
+    private static native int eventsOffset();
+
+    private static native int dataOffset();
+
+    static native int create() throws IOException;
+
+    static native int ctl(int epfd, int opcode, int fd, int events);
+
+    static native int wait(int epfd, long pollAddress, int numfds, int timeout)
+        throws IOException;
+}
diff --new-file -ur jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EPollPoller.java jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EPollPoller.java
--- jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EPollPoller.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EPollPoller.java    2023-11-09 09:45:51.976254333 +0000
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2017, 2023, 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
@@ -76,39 +201,885 @@
+package sun.nio.ch;
+
+import java.io.IOException;
+import static sun.nio.ch.EPoll.*;
+
+/**
+ * Stub Poller implementation for illumos/Solaris.
+ * Returns UnsupportedOperationException for all calls.
+ * Poller implementation based on the epoll facility.
+ */
+
+class DevPollPoller extends Poller {
+class EPollPoller extends Poller {
+    private static final int ENOENT = 2;
+
+    DevPollPoller(boolean read) throws IOException {
+        super(read);
+    private final int epfd;
+    private final int event;
+    private final int maxEvents;
+    private final long address;
+
+    EPollPoller(boolean subPoller, boolean read) throws IOException {
+        this.epfd = EPoll.create();
+        this.event = (read) ? EPOLLIN : EPOLLOUT;
+        this.maxEvents = (subPoller) ? 64 : 512;
+        this.address = EPoll.allocatePollArray(maxEvents);
+    }
+
+    @Override
+    int fdVal() {
+        // Stub
+        throw new UnsupportedOperationException("Unimplemented on SunOS");
+        return epfd;
+    }
+
+    @Override
+    void implRegister(int fdVal) throws IOException {
+        // Stub
+        throw new UnsupportedOperationException("Unimplemented on SunOS");
+        // re-arm
+        int err = EPoll.ctl(epfd, EPOLL_CTL_MOD, fdVal, (event | EPOLLONESHOT));
+        if (err == ENOENT)
+            err = EPoll.ctl(epfd, EPOLL_CTL_ADD, fdVal, (event | EPOLLONESHOT));
+        if (err != 0)
+            throw new IOException("epoll_ctl failed: " + err);
+    }
+
+    @Override
+    void implDeregister(int fdVal) {
+        // Stub
+        throw new UnsupportedOperationException("Unimplemented on SunOS");
+    void implDeregister(int fdVal, boolean polled) {
+        // event is disabled if already polled
+        if (!polled) {
+            EPoll.ctl(epfd, EPOLL_CTL_DEL, fdVal, 0);
+        }
+    }
+
+    @Override
+    int poll(int timeout) throws IOException {
+        // Stub
+        throw new UnsupportedOperationException("Unimplemented on SunOS");
+        int n = EPoll.wait(epfd, address, maxEvents, timeout);
+        int i = 0;
+        while (i < n) {
+            long eventAddress = EPoll.getEvent(address, i);
+            int fdVal = EPoll.getDescriptor(eventAddress);
+            polled(fdVal);
+            i++;
+        }
+        return n;
+    }
+}
+
diff --new-file -ur jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EPollPort.java jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EPollPort.java
--- jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EPollPort.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EPollPort.java    2023-11-09 09:45:51.976499486 +0000
@@ -0,0 +1,320 @@
+/*
+ * Copyright (c) 2008, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.ch;
+
+import java.nio.channels.spi.AsynchronousChannelProvider;
+import java.io.IOException;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.RejectedExecutionException;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import static sun.nio.ch.EPoll.EPOLLIN;
+import static sun.nio.ch.EPoll.EPOLLONESHOT;
+import static sun.nio.ch.EPoll.EPOLL_CTL_ADD;
+import static sun.nio.ch.EPoll.EPOLL_CTL_MOD;
+
+
+/**
+ * AsynchronousChannelGroup implementation based on the Linux epoll facility.
+ */
+
+final class EPollPort
+    extends Port
+{
+    // maximum number of events to poll at a time
+    private static final int MAX_EPOLL_EVENTS = 512;
+
+    // errors
+    private static final int ENOENT     = 2;
+
+    // epoll file descriptor
+    private final int epfd;
+
+    // address of the poll array passed to epoll_wait
+    private final long address;
+
+    // true if epoll closed
+    private boolean closed;
+
+    // socket pair used for wakeup
+    private final int sp[];
+
+    // number of wakeups pending
+    private final AtomicInteger wakeupCount = new AtomicInteger();
+
+    // encapsulates an event for a channel
+    static class Event {
+        final PollableChannel channel;
+        final int events;
+
+        Event(PollableChannel channel, int events) {
+            this.channel = channel;
+            this.events = events;
+        }
+
+        PollableChannel channel()   { return channel; }
+        int events()                { return events; }
+    }
+
+    // queue of events for cases that a polling thread dequeues more than one
+    // event
+    private final ArrayBlockingQueue<Event> queue;
+    private final Event NEED_TO_POLL = new Event(null, 0);
+    private final Event EXECUTE_TASK_OR_SHUTDOWN = new Event(null, 0);
+
+    EPollPort(AsynchronousChannelProvider provider, ThreadPool pool)
+        throws IOException
+    {
+        super(provider, pool);
+
+        this.epfd = EPoll.create();
+        this.address = EPoll.allocatePollArray(MAX_EPOLL_EVENTS);
+
+        // create socket pair for wakeup mechanism
+        try {
+            long fds = IOUtil.makePipe(true);
+            this.sp = new int[]{(int) (fds >>> 32), (int) fds};
+        } catch (IOException ioe) {
+            EPoll.freePollArray(address);
+            FileDispatcherImpl.closeIntFD(epfd);
+            throw ioe;
+        }
+
+        // register one end with epoll
+        EPoll.ctl(epfd, EPOLL_CTL_ADD, sp[0], EPOLLIN);
+
+        // create the queue and offer the special event to ensure that the first
+        // threads polls
+        this.queue = new ArrayBlockingQueue<>(MAX_EPOLL_EVENTS);
+        this.queue.offer(NEED_TO_POLL);
+    }
+
+    EPollPort start() {
+        startThreads(new EventHandlerTask());
+        return this;
+    }
+
+    /**
+     * Release all resources
+     */
+    private void implClose() {
+        synchronized (this) {
+            if (closed)
+                return;
+            closed = true;
+        }
+        try { FileDispatcherImpl.closeIntFD(epfd); } catch (IOException ioe) { }
+        try { FileDispatcherImpl.closeIntFD(sp[0]); } catch (IOException ioe) { }
+        try { FileDispatcherImpl.closeIntFD(sp[1]); } catch (IOException ioe) { }
+        EPoll.freePollArray(address);
+    }
+
+    private void wakeup() {
+        if (wakeupCount.incrementAndGet() == 1) {
+            // write byte to socketpair to force wakeup
+            try {
+                IOUtil.write1(sp[1], (byte)0);
+            } catch (IOException x) {
+                throw new AssertionError(x);
+            }
+        }
+    }
+
+    @Override
+    void executeOnHandlerTask(Runnable task) {
+        synchronized (this) {
+            if (closed)
+                throw new RejectedExecutionException();
+            offerTask(task);
+            wakeup();
+        }
+    }
+
+    @Override
+    void shutdownHandlerTasks() {
+        /*
+         * If no tasks are running then just release resources; otherwise
+         * write to the one end of the socketpair to wakeup any polling threads.
+         */
+        int nThreads = threadCount();
+        if (nThreads == 0) {
+            implClose();
+        } else {
+            // send wakeup to each thread
+            while (nThreads-- > 0) {
+                wakeup();
+            }
+        }
+    }
+
+    // invoke by clients to register a file descriptor
+    @Override
+    void startPoll(int fd, int events) {
+        // update events (or add to epoll on first usage)
+        int err = EPoll.ctl(epfd, EPOLL_CTL_MOD, fd, (events | EPOLLONESHOT));
+        if (err == ENOENT)
+            err = EPoll.ctl(epfd, EPOLL_CTL_ADD, fd, (events | EPOLLONESHOT));
+        if (err != 0)
+            throw new AssertionError();     // should not happen
+    }
+
+    /**
+     * Task to process events from epoll and dispatch to the channel's
+     * onEvent handler.
+     *
+     * Events are retrieved from epoll in batch and offered to a BlockingQueue
+     * where they are consumed by handler threads. A special "NEED_TO_POLL"
+     * event is used to signal one consumer to re-poll when all events have
+     * been consumed.
+     */
+    private class EventHandlerTask implements Runnable {
+        private Event poll() throws IOException {
+            try {
+                for (;;) {
+                    int n;
+                    do {
+                        n = EPoll.wait(epfd, address, MAX_EPOLL_EVENTS, -1);
+                    } while (n == IOStatus.INTERRUPTED);
+
+                    /**
+                     * 'n' events have been read. Here we map them to their
+                     * corresponding channel in batch and queue n-1 so that
+                     * they can be handled by other handler threads. The last
+                     * event is handled by this thread (and so is not queued).
+                     */
+                    fdToChannelLock.readLock().lock();
+                    try {
+                        while (n-- > 0) {
+                            long eventAddress = EPoll.getEvent(address, n);
+                            int fd = EPoll.getDescriptor(eventAddress);
+
+                            // wakeup
+                            if (fd == sp[0]) {
+                                if (wakeupCount.decrementAndGet() == 0) {
+                                    // consume one wakeup byte, never more as this
+                                    // would interfere with shutdown when there is
+                                    // a wakeup byte queued to wake each thread
+                                    int nread;
+                                    do {
+                                        nread = IOUtil.drain1(sp[0]);
+                                    } while (nread == IOStatus.INTERRUPTED);
+                                }
+
+                                // queue special event if there are more events
+                                // to handle.
+                                if (n > 0) {
+                                    queue.offer(EXECUTE_TASK_OR_SHUTDOWN);
+                                    continue;
+                                }
+                                return EXECUTE_TASK_OR_SHUTDOWN;
+                            }
+
+                            PollableChannel channel = fdToChannel.get(fd);
+                            if (channel != null) {
+                                int events = EPoll.getEvents(eventAddress);
+                                Event ev = new Event(channel, events);
+
+                                // n-1 events are queued; This thread handles
+                                // the last one except for the wakeup
+                                if (n > 0) {
+                                    queue.offer(ev);
+                                } else {
+                                    return ev;
+                                }
+                            }
+                        }
+                    } finally {
+                        fdToChannelLock.readLock().unlock();
+                    }
+                }
+            } finally {
+                // to ensure that some thread will poll when all events have
+                // been consumed
+                queue.offer(NEED_TO_POLL);
+            }
+        }
+
+        public void run() {
+            Invoker.GroupAndInvokeCount myGroupAndInvokeCount =
+                Invoker.getGroupAndInvokeCount();
+            final boolean isPooledThread = (myGroupAndInvokeCount != null);
+            boolean replaceMe = false;
+            Event ev;
+            try {
+                for (;;) {
+                    // reset invoke count
+                    if (isPooledThread)
+                        myGroupAndInvokeCount.resetInvokeCount();
+
+                    try {
+                        replaceMe = false;
+                        ev = queue.take();
+
+                        // no events and this thread has been "selected" to
+                        // poll for more.
+                        if (ev == NEED_TO_POLL) {
+                            try {
+                                ev = poll();
+                            } catch (IOException x) {
+                                x.printStackTrace();
+                                return;
+                            }
+                        }
+                    } catch (InterruptedException x) {
+                        continue;
+                    }
+
+                    // handle wakeup to execute task or shutdown
+                    if (ev == EXECUTE_TASK_OR_SHUTDOWN) {
+                        Runnable task = pollTask();
+                        if (task == null) {
+                            // shutdown request
+                            return;
+                        }
+                        // run task (may throw error/exception)
+                        replaceMe = true;
+                        task.run();
+                        continue;
+                    }
+
+                    // process event
+                    try {
+                        ev.channel().onEvent(ev.events(), isPooledThread);
+                    } catch (Error | RuntimeException x) {
+                        replaceMe = true;
+                        throw x;
+                    }
+                }
+            } finally {
+                // last handler to exit when shutdown releases resources
+                int remaining = threadExit(this, replaceMe);
+                if (remaining == 0 && isShutdown()) {
+                    implClose();
+                }
+            }
+        }
+    }
+}
diff --new-file -ur jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EPollSelectorImpl.java jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EPollSelectorImpl.java
--- jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EPollSelectorImpl.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EPollSelectorImpl.java    2023-11-09 09:45:51.976701355 +0000
@@ -0,0 +1,273 @@
+/*
+ * Copyright (c) 2005, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.ch;
+
+import java.io.IOException;
+import java.nio.channels.ClosedSelectorException;
+import java.nio.channels.SelectionKey;
+import java.nio.channels.Selector;
+import java.nio.channels.spi.SelectorProvider;
+import java.util.ArrayDeque;
+import java.util.Deque;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+import java.util.function.Consumer;
+import jdk.internal.misc.Blocker;
+
+import static sun.nio.ch.EPoll.EPOLLIN;
+import static sun.nio.ch.EPoll.EPOLL_CTL_ADD;
+import static sun.nio.ch.EPoll.EPOLL_CTL_DEL;
+import static sun.nio.ch.EPoll.EPOLL_CTL_MOD;
+
+
+/**
+ * Linux epoll based Selector implementation
+ */
+
+class EPollSelectorImpl extends SelectorImpl {
+
+    // maximum number of events to poll in one call to epoll_wait
+    private static final int NUM_EPOLLEVENTS = Math.min(IOUtil.fdLimit(), 1024);
+
+    // epoll file descriptor
+    private final int epfd;
+
+    // address of poll array when polling with epoll_wait
+    private final long pollArrayAddress;
+
+    // eventfd object used for interrupt
+    private final EventFD eventfd;
+
+    // maps file descriptor to selection key, synchronize on selector
+    private final Map<Integer, SelectionKeyImpl> fdToKey = new HashMap<>();
+
+    // pending new registrations/updates, queued by setEventOps
+    private final Object updateLock = new Object();
+    private final Deque<SelectionKeyImpl> updateKeys = new ArrayDeque<>();
+
+    // interrupt triggering and clearing
+    private final Object interruptLock = new Object();
+    private boolean interruptTriggered;
+
+    EPollSelectorImpl(SelectorProvider sp) throws IOException {
+        super(sp);
+
+        this.epfd = EPoll.create();
+        this.pollArrayAddress = EPoll.allocatePollArray(NUM_EPOLLEVENTS);
+
+        try {
+            this.eventfd = new EventFD();
+            IOUtil.configureBlocking(IOUtil.newFD(eventfd.efd()), false);
+        } catch (IOException ioe) {
+            EPoll.freePollArray(pollArrayAddress);
+            FileDispatcherImpl.closeIntFD(epfd);
+            throw ioe;
+        }
+
+        // register the eventfd object for wakeups
+        EPoll.ctl(epfd, EPOLL_CTL_ADD, eventfd.efd(), EPOLLIN);
+    }
+
+    private void ensureOpen() {
+        if (!isOpen())
+            throw new ClosedSelectorException();
+    }
+
+    @Override
+    protected int doSelect(Consumer<SelectionKey> action, long timeout)
+        throws IOException
+    {
+        assert Thread.holdsLock(this);
+
+        // epoll_wait timeout is int
+        int to = (int) Math.min(timeout, Integer.MAX_VALUE);
+        boolean blocking = (to != 0);
+        boolean timedPoll = (to > 0);
+
+        int numEntries;
+        processUpdateQueue();
+        processDeregisterQueue();
+        try {
+            begin(blocking);
+
+            do {
+                long startTime = timedPoll ? System.nanoTime() : 0;
+                long comp = Blocker.begin(blocking);
+                try {
+                    numEntries = EPoll.wait(epfd, pollArrayAddress, NUM_EPOLLEVENTS, to);
+                } finally {
+                    Blocker.end(comp);
+                }
+                if (numEntries == IOStatus.INTERRUPTED && timedPoll) {
+                    // timed poll interrupted so need to adjust timeout
+                    long adjust = System.nanoTime() - startTime;
+                    to -= (int) TimeUnit.NANOSECONDS.toMillis(adjust);
+                    if (to <= 0) {
+                        // timeout expired so no retry
+                        numEntries = 0;
+                    }
+                }
+            } while (numEntries == IOStatus.INTERRUPTED);
+            assert IOStatus.check(numEntries);
+
+        } finally {
+            end(blocking);
+        }
+        processDeregisterQueue();
+        return processEvents(numEntries, action);
+    }
+
+    /**
+     * Process changes to the interest ops.
+     */
+    private void processUpdateQueue() {
+        assert Thread.holdsLock(this);
+
+        synchronized (updateLock) {
+            SelectionKeyImpl ski;
+            while ((ski = updateKeys.pollFirst()) != null) {
+                if (ski.isValid()) {
+                    int fd = ski.getFDVal();
+                    // add to fdToKey if needed
+                    SelectionKeyImpl previous = fdToKey.putIfAbsent(fd, ski);
+                    assert (previous == null) || (previous == ski);
+
+                    int newEvents = ski.translateInterestOps();
+                    int registeredEvents = ski.registeredEvents();
+                    if (newEvents != registeredEvents) {
+                        if (newEvents == 0) {
+                            // remove from epoll
+                            EPoll.ctl(epfd, EPOLL_CTL_DEL, fd, 0);
+                        } else {
+                            if (registeredEvents == 0) {
+                                // add to epoll
+                                EPoll.ctl(epfd, EPOLL_CTL_ADD, fd, newEvents);
+                            } else {
+                                // modify events
+                                EPoll.ctl(epfd, EPOLL_CTL_MOD, fd, newEvents);
+                            }
+                        }
+                        ski.registeredEvents(newEvents);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Process the polled events.
+     * If the interrupt fd has been selected, drain it and clear the interrupt.
+     */
+    private int processEvents(int numEntries, Consumer<SelectionKey> action)
+        throws IOException
+    {
+        assert Thread.holdsLock(this);
+
+        boolean interrupted = false;
+        int numKeysUpdated = 0;
+        for (int i=0; i<numEntries; i++) {
+            long event = EPoll.getEvent(pollArrayAddress, i);
+            int fd = EPoll.getDescriptor(event);
+            if (fd == eventfd.efd()) {
+                interrupted = true;
+            } else {
+                SelectionKeyImpl ski = fdToKey.get(fd);
+                if (ski != null) {
+                    int rOps = EPoll.getEvents(event);
+                    numKeysUpdated += processReadyEvents(rOps, ski, action);
+                }
+            }
+        }
+
+        if (interrupted) {
+            clearInterrupt();
+        }
+
+        return numKeysUpdated;
+    }
+
+    @Override
+    protected void implClose() throws IOException {
+        assert Thread.holdsLock(this);
+
+        // prevent further wakeup
+        synchronized (interruptLock) {
+            interruptTriggered = true;
+        }
+
+        FileDispatcherImpl.closeIntFD(epfd);
+        EPoll.freePollArray(pollArrayAddress);
+
+        eventfd.close();
+    }
+
+    @Override
+    protected void implDereg(SelectionKeyImpl ski) throws IOException {
+        assert !ski.isValid();
+        assert Thread.holdsLock(this);
+
+        int fd = ski.getFDVal();
+        if (fdToKey.remove(fd) != null) {
+            if (ski.registeredEvents() != 0) {
+                EPoll.ctl(epfd, EPOLL_CTL_DEL, fd, 0);
+                ski.registeredEvents(0);
+            }
+        } else {
+            assert ski.registeredEvents() == 0;
+        }
+    }
+
+    @Override
+    public void setEventOps(SelectionKeyImpl ski) {
+        ensureOpen();
+        synchronized (updateLock) {
+            updateKeys.addLast(ski);
+        }
+    }
+
+    @Override
+    public Selector wakeup() {
+        synchronized (interruptLock) {
+            if (!interruptTriggered) {
+                try {
+                    eventfd.set();
+                } catch (IOException ioe) {
+                    throw new InternalError(ioe);
+                }
+                interruptTriggered = true;
+            }
+        }
+        return this;
+    }
+
+    private void clearInterrupt() throws IOException {
+        synchronized (interruptLock) {
+            eventfd.reset();
+            interruptTriggered = false;
+        }
+    }
+}
diff --new-file -ur jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EPollSelectorProvider.java jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EPollSelectorProvider.java
--- jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EPollSelectorProvider.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EPollSelectorProvider.java    2023-11-09 09:45:51.976886100 +0000
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2005, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.ch;
+
+import java.io.IOException;
+import java.nio.channels.*;
+import java.nio.channels.spi.*;
+
+public class EPollSelectorProvider
+    extends SelectorProviderImpl
+{
+    public AbstractSelector openSelector() throws IOException {
+        return new EPollSelectorImpl(this);
+    }
+
+    public Channel inheritedChannel() throws IOException {
+        return InheritedChannel.getChannel();
+    }
+}
diff --new-file -ur jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EventFD.java jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EventFD.java
--- jdk-jdk-22-22/src/java.base/solaris/classes/sun/nio/ch/EventFD.java    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-23/src/java.base/solaris/classes/sun/nio/ch/EventFD.java    2023-11-09 09:51:38.680862380 +0000
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2021, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.ch;
+
+import java.io.IOException;
+
+/*
+ * Provides access to the Linux eventfd object.
+ */
+final class EventFD {
+    private final int efd;
+
+    /**
+     * Creates a blocking eventfd object with initial value zero.
+     */
+    EventFD() throws IOException {
+        efd = eventfd0();
+    }
+
+    int efd() {
+        return efd;
+    }
+
+    void set() throws IOException {
+        set0(efd);
+    }
+
+    void reset() throws IOException {
+        IOUtil.drain(efd);
+    }
+
+    void close() throws IOException {
+        FileDispatcherImpl.closeIntFD(efd);
+    }
+
+    private static native int eventfd0() throws IOException;
+
+    /**
+     * Writes the value 1 to the eventfd object as a long in the
+     * native byte order of the platform.
+     *
+     * @param the integral eventfd file descriptor
+     * @return the number of bytes written; should equal 8
+     */
+    private static native int set0(int efd) throws IOException;
+
+    static {
+        IOUtil.load();
+    }
+}
diff --new-file -ur jdk-jdk-22-22/src/java.base/solaris/native/libnio/ch/EPoll.c jdk-jdk-22-23/src/java.base/solaris/native/libnio/ch/EPoll.c
--- jdk-jdk-22-22/src/java.base/solaris/native/libnio/ch/EPoll.c    1970-01-01 01:00:00.000000000 +0100
+++ jdk-jdk-22-23/src/java.base/solaris/native/libnio/ch/EPoll.c    2023-11-09 09:46:09.429493149 +0000
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2008, 2020, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+ #include <dlfcn.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/epoll.h>
+
+#include "jni.h"
+#include "jni_util.h"
+#include "jvm.h"
+#include "jlong.h"
+#include "nio.h"
+#include "nio_util.h"
+
+#include "sun_nio_ch_EPoll.h"
+
+JNIEXPORT jint JNICALL
+Java_sun_nio_ch_EPoll_eventSize(JNIEnv* env, jclass clazz)
+{
+    return sizeof(struct epoll_event);
+}
+
+JNIEXPORT jint JNICALL
+Java_sun_nio_ch_EPoll_eventsOffset(JNIEnv* env, jclass clazz)
+{
+    return offsetof(struct epoll_event, events);
+}
+
+JNIEXPORT jint JNICALL
+Java_sun_nio_ch_EPoll_dataOffset(JNIEnv* env, jclass clazz)
+{
+    return offsetof(struct epoll_event, data);
+}
+
+JNIEXPORT jint JNICALL
+Java_sun_nio_ch_EPoll_create(JNIEnv *env, jclass clazz) {
+    int epfd = epoll_create1(EPOLL_CLOEXEC);
+    if (epfd < 0) {
+        JNU_ThrowIOExceptionWithLastError(env, "epoll_create1 failed");
+    }
+    return epfd;
+}
+
+JNIEXPORT jint JNICALL
+Java_sun_nio_ch_EPoll_ctl(JNIEnv *env, jclass clazz, jint epfd,
+                          jint opcode, jint fd, jint events)
+{
+    struct epoll_event event;
+    int res;
+
+    event.events = events;
+    event.data.fd = fd;
+
+    res = epoll_ctl(epfd, (int)opcode, (int)fd, &event);
+    return (res == 0) ? 0 : errno;
+}
+
+JNIEXPORT jint JNICALL
+Java_sun_nio_ch_EPoll_wait(JNIEnv *env, jclass clazz, jint epfd,
+                           jlong address, jint numfds, jint timeout)
+{
+    struct epoll_event *events = jlong_to_ptr(address);
+    int res = epoll_wait(epfd, events, numfds, timeout);
+    if (res < 0) {
+        if (errno == EINTR) {
+            return IOS_INTERRUPTED;
+        } else {
+            JNU_ThrowIOExceptionWithLastError(env, "epoll_wait failed");
+            return IOS_THROWN;
+        }
+    }
+    return res;
+}
components/runtime/openjdk-22/patches/illumos-port-02.patch
@@ -1,6 +1,6 @@
--- a/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c    Thu May 28 11:43:30 2020
+++ b/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c    Wed May 20 19:29:11 2020
@@ -379,7 +379,41 @@
@@ -499,7 +499,41 @@
     return (jint)res;
 }
 
@@ -42,7 +42,7 @@
 Java_sun_nio_fs_UnixNativeDispatcher_rewind(JNIEnv* env, jclass this, jlong stream)
 {
     FILE* fp = jlong_to_ptr(stream);
@@ -1046,6 +1080,33 @@
@@ -1262,6 +1296,33 @@
     }
 }
 
components/runtime/openjdk-22/patches/illumos-port-06.patch
@@ -6,7 +6,7 @@
--- a/src/hotspot/share/runtime/os.cpp    Wed Aug 12 16:38:30 2020
+++ b/src/hotspot/share/runtime/os.cpp    Thu Aug 13 19:44:36 2020
@@ -162,7 +162,7 @@
@@ -165,7 +165,7 @@
   // No offset when dealing with UTC
   time_t UTC_to_local = 0;
   if (!utc) {
@@ -15,7 +15,7 @@
     UTC_to_local = -(time_struct.tm_gmtoff);
 #elif defined(_WINDOWS)
     long zone;
@@ -173,7 +173,7 @@
@@ -176,7 +176,7 @@
 #endif
 
     // tm_gmtoff already includes adjustment for daylight saving
components/runtime/openjdk-22/patches/illumos-port-07.patch
@@ -1,6 +1,6 @@
--- a/src/hotspot/share/prims/methodHandles.cpp    Wed Aug 19 21:41:08 2020
+++ b/src/hotspot/share/prims/methodHandles.cpp    Fri Aug 21 10:42:08 2020
@@ -1367,6 +1367,10 @@
@@ -1369,6 +1369,10 @@
 #define LANG "Ljava/lang/"
 #define JLINV "Ljava/lang/invoke/"
 
components/runtime/openjdk-22/patches/illumos-port-10.patch
@@ -1,6 +1,6 @@
--- a/make/autoconf/flags-ldflags.m4    Thu Nov 26 19:47:04 2020
+++ b/make/autoconf/flags-ldflags.m4    Thu Nov 26 20:43:34 2020
@@ -198,7 +198,9 @@
@@ -199,7 +199,9 @@
        test "x${OPENJDK_$1_CPU}" = xmips64el; then
       $1_CPU_LDFLAGS="${$1_CPU_LDFLAGS} -Wl,--hash-style=sysv"
     else
components/runtime/openjdk-22/patches/illumos-port-11.patch
@@ -1,6 +1,6 @@
--- a/src/hotspot/share/runtime/os.cpp    Thu Jan 14 11:21:25 2021
+++ b/src/hotspot/share/runtime/os.cpp    Thu Jan 14 11:44:00 2021
@@ -81,6 +61,7 @@
@@ -84,6 +84,7 @@
 
 # include <signal.h>
 # include <errno.h>
components/runtime/openjdk-22/patches/illumos-port-20.patch
@@ -1,6 +1,6 @@
--- a/src/hotspot/share/runtime/os.hpp    Wed Aug 10 20:17:42 2022
+++ b/src/hotspot/share/runtime/os.hpp    Thu Aug 11 11:42:41 2022
@@ -984,6 +984,8 @@
@@ -995,6 +995,8 @@
   class Bsd;
 #elif defined(LINUX)
   class Linux;
components/runtime/openjdk-22/patches/illumos-signal-1.patch
@@ -1,6 +1,6 @@
--- a/src/hotspot/os/posix/signals_posix.cpp    Wed Oct  7 17:21:51 2020
+++ b/src/hotspot/os/posix/signals_posix.cpp    Sat Oct 10 16:46:21 2020
@@ -548,6 +548,8 @@
@@ -549,6 +549,8 @@
 #define JVM_HANDLE_XXX_SIGNAL JVM_handle_aix_signal
 #elif defined(LINUX)
 #define JVM_HANDLE_XXX_SIGNAL JVM_handle_linux_signal
components/runtime/openjdk-22/patches/illumos-zero-2.patch
@@ -563,7 +563,7 @@
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// Stubs for things that would be in bsd_zero.s if it existed.
+// Stubs for things that would be in solaris_zero.s if it existed.
+// You probably want to disassemble these monkeys to check they're ok.
+
+extern "C" {
components/runtime/openjdk-22/patches/sparc-bitness.patch
@@ -1,6 +1,6 @@
--- a/make/autoconf/flags.m4       :: 
+++ b/make/autoconf/flags.m4       :: 
@@ -267,12 +267,13 @@
@@ -263,12 +263,13 @@
 
   # For xlc, the word size flag is required for correct behavior.
   # For clang/gcc, the flag is only strictly required for reduced builds, but
components/runtime/openjdk-22/patches/tribblix-flags-cflags.patch
@@ -11,7 +11,7 @@
     # reduce lib size on linux in link step, this needs also special compile flags
     # do this on s390x also for libjvm (where serviceability agent is not supported)
     if test "x$ENABLE_LINKTIME_GC" = xtrue; then
@@ -580,7 +580,12 @@
@@ -582,7 +582,12 @@
 
   # CFLAGS C language level for JDK sources (hotspot only uses C++)
   if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xxlc; then
components/runtime/openjdk-22/patches/tribblix-flags-ldflags.patch
@@ -1,18 +1,20 @@
--- a/make/autoconf/flags-ldflags.m4~    Mon Apr 13 13:55:05 2020
+++ b/make/autoconf/flags-ldflags.m4    Mon Apr 13 14:10:29 2020
@@ -58,9 +58,13 @@
@@ -58,10 +58,14 @@
   # Setup basic LDFLAGS
   if test "x$TOOLCHAIN_TYPE" = xgcc; then
     # Add -z,defs, to forbid undefined symbols in object files.
-    # add -z,relro (mark relocations read only) for all libs
-    # add -z,now ("full relro" - more of the Global Offset Table GOT is marked read only)
-    BASIC_LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now"
-    # add --no-as-needed to disable default --as-needed link flag on some GCC toolchains
-    BASIC_LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -Wl,--no-as-needed"
+    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+      BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs"
+    else
+      # add relro (mark relocations read only) for all libs
+      # add -z,now ("full relro" - more of the Global Offset Table GOT is marked read only)
+      BASIC_LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now"
+      # add --no-as-needed to disable default --as-needed link flag on some GCC toolchains
+      BASIC_LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -Wl,--no-as-needed"
+    fi
     # Linux : remove unused code+data in link step
     if test "x$ENABLE_LINKTIME_GC" = xtrue; then
components/runtime/openjdk-22/patches/tribblix-flags-ldflags3.patch
@@ -1,6 +1,6 @@
--- a/make/autoconf/flags-ldflags.m4~    Wed Apr 15 14:26:49 2020
+++ b/make/autoconf/flags-ldflags.m4    Wed Apr 15 14:28:01 2020
@@ -142,11 +142,13 @@
@@ -143,11 +143,13 @@
 
   # Setup LDFLAGS for linking executables
   if test "x$TOOLCHAIN_TYPE" = xgcc; then
components/runtime/openjdk-22/pkg5
@@ -11,8 +11,8 @@
        "system/library",
        "system/library/c++/sunpro",
        "system/library/freetype-2",
        "system/library/g++-10-runtime",
        "system/library/gcc-10-runtime",
        "system/library/g++-13-runtime",
        "system/library/gcc-13-runtime",
        "system/library/math",
        "x11/library/libx11",
        "x11/library/libxext",
@@ -25,4 +25,4 @@
        "runtime/java/openjdk22"
    ],
    "name": "openjdk"
}
}