From f84ddbcbb06f6928d977832b332dc7067ea8f8af Mon Sep 17 00:00:00 2001 From: luoyaoming Date: Tue, 7 May 2024 09:58:08 +0800 Subject: [PATCH] format patches --- debian/patches/8199220.diff | 11 +- debian/patches/8307977-proposed.diff | 26 +-- ...dlibm-fork-for-Zero-on-linux-sparc-Z.patch | 5 +- debian/patches/adlc-parser.diff | 16 +- debian/patches/alpha-float-const.diff | 13 -- debian/patches/atk-wrapper-security.diff | 10 ++ debian/patches/default-jvm-cfg.diff | 20 ++- .../patches/disable-doclint-by-default.diff | 12 +- debian/patches/disable-thumb-assertion.patch | 17 +- debian/patches/dnd-files.diff | 12 +- ...otspot-disable-exec-shield-workaround.diff | 12 +- debian/patches/hotspot-libpath.diff | 43 +++-- debian/patches/hotspot-mips-align.diff | 12 +- ...hotspot-test-fix-npe-on-missing-file.patch | 24 ++- debian/patches/icc_loading_with_symlink.diff | 20 ++- .../icedtea-override-redirect-compiz.diff | 12 +- debian/patches/jdk-getAccessibleValue.diff | 151 ++++++++++-------- debian/patches/jdk-i18n-pt_BR.diff | 12 +- debian/patches/jexec.diff | 57 ++++--- debian/patches/jtreg-location.diff | 78 +++++---- debian/patches/keep-gtk2-as-default.patch | 32 ++-- debian/patches/ldap-timeout-test-use-ip.patch | 19 ++- debian/patches/libpcsclite-dlopen.diff | 14 +- .../patches/log-generated-classes-test.patch | 19 ++- debian/patches/loong64-autoconf-config.diff | 10 ++ debian/patches/machine-flag.diff | 14 +- .../patches/multiple-pkcs11-library-init.diff | 14 +- debian/patches/nss-limited-ecc-tests.patch | 22 ++- debian/patches/reproducible-build-jmod.diff | 30 ++-- debian/patches/reproducible-build-user.diff | 13 +- .../patches/reproducible-character-data.diff | 17 +- .../reproducible-copyright-headers.diff | 21 ++- .../reproducible-javadoc-timestamp.diff | 19 ++- debian/patches/reproducible-module-info.diff | 15 +- .../reproducible-properties-timestamp.diff | 19 ++- debian/patches/riscv64.diff | 18 ++- debian/patches/s390x-opt.diff | 12 +- debian/patches/s390x-thread-stack-size.diff | 84 ++++++---- debian/patches/series | 1 - debian/patches/system-pcsclite.diff | 40 +++-- debian/patches/test-use-ip-address.patch | 24 ++- .../patches/update-assertion-for-armhf.patch | 19 ++- debian/patches/update-permission-test.patch | 67 +++++--- debian/patches/use_clock64_fns_armhf.patch | 87 +++++----- debian/patches/zero-x32.diff | 39 +++-- 45 files changed, 835 insertions(+), 397 deletions(-) delete mode 100644 debian/patches/alpha-float-const.diff diff --git a/debian/patches/8199220.diff b/debian/patches/8199220.diff index bc7be6b85..8837595ab 100644 --- a/debian/patches/8199220.diff +++ b/debian/patches/8199220.diff @@ -1,3 +1,7 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:01 +0800 +Subject: 8199220 + # HG changeset patch # User enevill # Date 1520877434 0 @@ -6,10 +10,15 @@ # Parent ecd91135d645bed6620abbd76ce30a906b6d7d44 8199220: Zero build broken after 8195103, 8191102 and 8189871 Reviewed-by: dholmes, stuefe, eosterlund, glaubitz, coleenp +--- + src/hotspot/share/utilities/debug.hpp | 1 + + 1 file changed, 1 insertion(+) +diff --git a/src/hotspot/share/utilities/debug.hpp b/src/hotspot/share/utilities/debug.hpp +index 56bb226..afb0427 100644 --- a/src/hotspot/share/utilities/debug.hpp +++ b/src/hotspot/share/utilities/debug.hpp -@@ -202,6 +202,7 @@ +@@ -202,6 +202,7 @@ void warning(const char* format, ...) ATTRIBUTE_PRINTF(1, 2); // use of an array type. template struct STATIC_ASSERT_FAILURE; diff --git a/debian/patches/8307977-proposed.diff b/debian/patches/8307977-proposed.diff index 3500c2166..cacf9ba9e 100644 --- a/debian/patches/8307977-proposed.diff +++ b/debian/patches/8307977-proposed.diff @@ -1,28 +1,32 @@ -Description: attach in linux hangs due to permission denied accessing /proc/pid/root - The attach API uses /proc/pid/root in order to support containers. - Dereferencing this symlink is governed by ptrace access mode PTRACE_MODE_READ_FSCREDS - which may not succeed when running as the user running the JRE. - This breaks running jcmd and jmap as the same user the JVM is running as. - Use tmpdir when pid matches ns_pid. -Author: Sebastian Lövdahl +From: =?utf-8?q?Sebastian_L=C3=B6vdahl?= +Date: Tue, 7 May 2024 09:58:07 +0800 +Subject: attach in linux hangs due to permission denied accessing + /proc/pid/root + Bug: https://bugs.openjdk.org/browse/JDK-8307977 Bug: https://bugs.openjdk.org/browse/JDK-8226919 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034601 Last-Update: 2023-04-18 + The attach API uses /proc/pid/root in order to support containers. + Dereferencing this symlink is governed by ptrace access mode PTRACE_MODE_READ_FSCREDS + which may not succeed when running as the user running the JRE. + This breaks running jcmd and jmap as the same user the JVM is running as. + Use tmpdir when pid matches ns_pid. From 36b554e2de46d77898be4d0feae0ee2171b445bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20L=C3=B6vdahl?= Date: Tue, 18 Apr 2023 12:50:32 +0300 Subject: [PATCH] 8226919: Fix dynamic attach in Linux for non-container environments - --- - .../sun/tools/attach/VirtualMachineImpl.java | 37 ++++++++++++------- + .../sun/tools/attach/VirtualMachineImpl.java | 37 ++++++++++++++-------- 1 file changed, 23 insertions(+), 14 deletions(-) +diff --git a/src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java b/src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java +index 484fb1d..1276766 100644 --- a/src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java +++ b/src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java -@@ -267,11 +267,8 @@ public class VirtualMachineImpl extends +@@ -267,11 +267,8 @@ public class VirtualMachineImpl extends HotSpotVirtualMachine { } // Return the socket file for the given process. @@ -36,7 +40,7 @@ Subject: [PATCH] 8226919: Fix dynamic attach in Linux for non-container return new File(root, ".java_pid" + ns_pid); } -@@ -286,21 +283,33 @@ public class VirtualMachineImpl extends +@@ -286,21 +283,33 @@ public class VirtualMachineImpl extends HotSpotVirtualMachine { try { f.createNewFile(); } catch (IOException x) { diff --git a/debian/patches/Don-t-optimize-fdlibm-fork-for-Zero-on-linux-sparc-Z.patch b/debian/patches/Don-t-optimize-fdlibm-fork-for-Zero-on-linux-sparc-Z.patch index 6f1d7ee45..c2a5895b6 100644 --- a/debian/patches/Don-t-optimize-fdlibm-fork-for-Zero-on-linux-sparc-Z.patch +++ b/debian/patches/Don-t-optimize-fdlibm-fork-for-Zero-on-linux-sparc-Z.patch @@ -1,4 +1,3 @@ -From 7ce2609d6ff5299f2ed3ff6850a3cab4a16125f8 Mon Sep 17 00:00:00 2001 From: John Paul Adrian Glaubitz Date: Fri, 21 Dec 2018 15:18:17 +0300 Subject: [PATCH] Don't optimize fdlibm-fork for Zero on linux-sparc (Zero) @@ -7,9 +6,11 @@ Subject: [PATCH] Don't optimize fdlibm-fork for Zero on linux-sparc (Zero) make/hotspot/lib/JvmOverrideFiles.gmk | 9 +++++++++ 1 file changed, 9 insertions(+) +diff --git a/make/hotspot/lib/JvmOverrideFiles.gmk b/make/hotspot/lib/JvmOverrideFiles.gmk +index 7a0f2ab..026aca0 100644 --- a/make/hotspot/lib/JvmOverrideFiles.gmk +++ b/make/hotspot/lib/JvmOverrideFiles.gmk -@@ -48,6 +48,15 @@ +@@ -52,6 +52,15 @@ LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NONE) # by using -ffp-contract=off on GCC/Clang platforms. ifneq ($(FDLIBM_CFLAGS), ) LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NORM) diff --git a/debian/patches/adlc-parser.diff b/debian/patches/adlc-parser.diff index 48c64b686..5e1243e25 100644 --- a/debian/patches/adlc-parser.diff +++ b/debian/patches/adlc-parser.diff @@ -1,7 +1,19 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:00 +0800 +Subject: adlc-parser + # DP: fixes an uninitialized memory issue in adlc + +# DP: fixes an uninitialized memory issue in adlc +--- + src/hotspot/share/adlc/formsopt.cpp | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/hotspot/share/adlc/formsopt.cpp b/src/hotspot/share/adlc/formsopt.cpp +index 90ec7c8..71333dc 100644 --- a/src/hotspot/share/adlc/formsopt.cpp +++ b/src/hotspot/share/adlc/formsopt.cpp -@@ -427,6 +427,11 @@ +@@ -427,6 +427,11 @@ void AllocClass::output(FILE *fp) { // Write info to output files //==============================Frame Handling================================= //------------------------------FrameForm-------------------------------------- FrameForm::FrameForm() { @@ -13,7 +25,7 @@ _frame_pointer = NULL; _c_frame_pointer = NULL; _alignment = NULL; -@@ -438,7 +443,6 @@ +@@ -438,7 +443,6 @@ FrameForm::FrameForm() { _c_calling_convention = NULL; _return_value = NULL; _c_return_value = NULL; diff --git a/debian/patches/alpha-float-const.diff b/debian/patches/alpha-float-const.diff deleted file mode 100644 index e3b6e08ff..000000000 --- a/debian/patches/alpha-float-const.diff +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/java.base/share/classes/java/lang/Float.java 2017-11-16 00:58:50.000000000 +0100 -+++ b/src/java.base/share/classes/java/lang/Float.java 2017-12-22 22:56:30.771249660 +0100 -@@ -84,7 +84,9 @@ - * - * @since 1.6 - */ -- public static final float MIN_NORMAL = 0x1.0p-126f; // 1.17549435E-38f -+ // FIXME: still required on alpha? -+ // public static final float MIN_NORMAL = 0x1.0p-126f; // 1.17549435E-38f -+ public static final float MIN_NORMAL = Float.intBitsToFloat(0x00800000); - - /** - * A constant holding the smallest positive nonzero value of type diff --git a/debian/patches/atk-wrapper-security.diff b/debian/patches/atk-wrapper-security.diff index 6f3ec8caa..156daf76a 100644 --- a/debian/patches/atk-wrapper-security.diff +++ b/debian/patches/atk-wrapper-security.diff @@ -1,3 +1,13 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:02 +0800 +Subject: atk-wrapper-security + +--- + src/java.base/share/conf/security/java.security | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/java.base/share/conf/security/java.security b/src/java.base/share/conf/security/java.security +index c871d72..9080b50 100644 --- a/src/java.base/share/conf/security/java.security +++ b/src/java.base/share/conf/security/java.security @@ -319,6 +319,7 @@ keystore.type.compat=true diff --git a/debian/patches/default-jvm-cfg.diff b/debian/patches/default-jvm-cfg.diff index 342ce80df..e9d8f2dd2 100644 --- a/debian/patches/default-jvm-cfg.diff +++ b/debian/patches/default-jvm-cfg.diff @@ -1,6 +1,16 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:57:59 +0800 +Subject: default-jvm-cfg + +--- + src/java.base/share/native/libjli/java.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/java.base/share/native/libjli/java.c b/src/java.base/share/native/libjli/java.c +index a38ddae..67d1011 100644 --- a/src/java.base/share/native/libjli/java.c +++ b/src/java.base/share/native/libjli/java.c -@@ -2067,7 +2067,7 @@ +@@ -2067,7 +2067,7 @@ jint ReadKnownVMs(const char *jvmCfgName, jboolean speculative) { FILE *jvmCfg; @@ -9,15 +19,15 @@ int cnt = 0; int lineno = 0; jlong start = 0, end = 0; -@@ -2082,6 +2082,11 @@ +@@ -2081,6 +2081,11 @@ ReadKnownVMs(const char *jvmCfgName, jboolean speculative) + } jvmCfg = fopen(jvmCfgName, "r"); - if (jvmCfg == NULL) { ++ if (jvmCfg == NULL) { + char cfgName[strlen(jvmCfgName)+10]; + sprintf(cfgName, "%s-default", jvmCfgName); + jvmCfg = fopen(cfgName, "r"); + } -+ if (jvmCfg == NULL) { + if (jvmCfg == NULL) { if (!speculative) { JLI_ReportErrorMessage(CFG_ERROR6, jvmCfgName); - exit(1); diff --git a/debian/patches/disable-doclint-by-default.diff b/debian/patches/disable-doclint-by-default.diff index 6f4a737d0..97e09dbc7 100644 --- a/debian/patches/disable-doclint-by-default.diff +++ b/debian/patches/disable-doclint-by-default.diff @@ -1,6 +1,16 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:01 +0800 +Subject: disable-doclint-by-default + +--- + .../share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java +index 19a9cc6..a6abef6 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java -@@ -126,7 +126,7 @@ +@@ -126,7 +126,7 @@ public class WorkArounds { } if (!msgOptionSeen) { diff --git a/debian/patches/disable-thumb-assertion.patch b/debian/patches/disable-thumb-assertion.patch index cdd8e1a51..0e7eb2dff 100644 --- a/debian/patches/disable-thumb-assertion.patch +++ b/debian/patches/disable-thumb-assertion.patch @@ -1,11 +1,20 @@ -Description: Unable to obtain frame pointer on Thumb architecture - ARM Thumb has os::current_frame() disabled. Disable associated test. -Author: Vladimir Petko +From: Vladimir Petko +Date: Tue, 7 May 2024 09:58:06 +0800 +Subject: Unable to obtain frame pointer on Thumb architecture + Bug: https://bugs.openjdk.org/browse/JDK-8305481 Last-Update: 2023-03-30 + +ARM Thumb has os::current_frame() disabled. Disable associated test. +--- + test/hotspot/gtest/runtime/test_os.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/hotspot/gtest/runtime/test_os.cpp b/test/hotspot/gtest/runtime/test_os.cpp +index 06761d8..6d7cded 100644 --- a/test/hotspot/gtest/runtime/test_os.cpp +++ b/test/hotspot/gtest/runtime/test_os.cpp -@@ -347,7 +347,7 @@ +@@ -347,7 +347,7 @@ TEST_VM(os, jio_snprintf) { } TEST_VM(os, is_first_C_frame) { diff --git a/debian/patches/dnd-files.diff b/debian/patches/dnd-files.diff index 0e6b09beb..7c41e06bb 100644 --- a/debian/patches/dnd-files.diff +++ b/debian/patches/dnd-files.diff @@ -1,6 +1,16 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:02 +0800 +Subject: dnd-files + +--- + src/java.desktop/unix/classes/sun/awt/X11/XDataTransferer.java | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/java.desktop/unix/classes/sun/awt/X11/XDataTransferer.java b/src/java.desktop/unix/classes/sun/awt/X11/XDataTransferer.java +index c7d0813..18bb22c 100644 --- a/src/java.desktop/unix/classes/sun/awt/X11/XDataTransferer.java +++ b/src/java.desktop/unix/classes/sun/awt/X11/XDataTransferer.java -@@ -273,14 +273,14 @@ +@@ -273,14 +273,14 @@ public class XDataTransferer extends DataTransferer { BufferedReader reader = new BufferedReader(isr)) { String line; ArrayList uriList = new ArrayList<>(); diff --git a/debian/patches/hotspot-disable-exec-shield-workaround.diff b/debian/patches/hotspot-disable-exec-shield-workaround.diff index d8c1235d3..3e4be6eac 100644 --- a/debian/patches/hotspot-disable-exec-shield-workaround.diff +++ b/debian/patches/hotspot-disable-exec-shield-workaround.diff @@ -1,6 +1,16 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:02 +0800 +Subject: hotspot-disable-exec-shield-workaround + +--- + src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp b/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp +index 247da0a..a674d86 100644 --- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp +++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp -@@ -874,7 +874,7 @@ +@@ -874,7 +874,7 @@ void os::verify_stack_alignment() { * updates (JDK-8023956). */ void os::workaround_expand_exec_shield_cs_limit() { diff --git a/debian/patches/hotspot-libpath.diff b/debian/patches/hotspot-libpath.diff index 62690e7ec..b628b0ac1 100644 --- a/debian/patches/hotspot-libpath.diff +++ b/debian/patches/hotspot-libpath.diff @@ -1,6 +1,33 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:02 +0800 +Subject: hotspot-libpath + +--- + make/hotspot/lib/CompileJvm.gmk | 5 +++++ + src/hotspot/os/linux/os_linux.cpp | 10 +++++++--- + 2 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/make/hotspot/lib/CompileJvm.gmk b/make/hotspot/lib/CompileJvm.gmk +index bce8bf0..44ac4e5 100644 +--- a/make/hotspot/lib/CompileJvm.gmk ++++ b/make/hotspot/lib/CompileJvm.gmk +@@ -84,6 +84,11 @@ CFLAGS_VM_VERSION := \ + ################################################################################ + # Platform specific setup + ++DEB_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null || true) ++ifneq (,$(DEB_MULTIARCH)) ++ JVM_CFLAGS += -DDEB_MULTIARCH="\"$(DEB_MULTIARCH)\"" ++endif ++ + # ARM source selection + + ifeq ($(call And, $(call isTargetOs, linux) $(call isTargetCpu, arm)), true) +diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp +index d54d8ce..4193f19 100644 --- a/src/hotspot/os/linux/os_linux.cpp +++ b/src/hotspot/os/linux/os_linux.cpp -@@ -430,18 +430,22 @@ +@@ -430,18 +430,22 @@ void os::init_system_properties_values() { // 1: ... // ... // 7: The default directories, normally /lib and /usr/lib. @@ -26,17 +53,3 @@ // Base path of extensions installed on the system. #define SYS_EXT_DIR "/usr/java/packages" ---- a/make/hotspot/lib/CompileJvm.gmk -+++ b/make/hotspot/lib/CompileJvm.gmk -@@ -84,6 +84,11 @@ - ################################################################################ - # Platform specific setup - -+DEB_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null || true) -+ifneq (,$(DEB_MULTIARCH)) -+ JVM_CFLAGS += -DDEB_MULTIARCH="\"$(DEB_MULTIARCH)\"" -+endif -+ - # ARM source selection - - ifeq ($(call And, $(call isTargetOs, linux) $(call isTargetCpu, arm)), true) diff --git a/debian/patches/hotspot-mips-align.diff b/debian/patches/hotspot-mips-align.diff index 4ffd7f146..d78745f89 100644 --- a/debian/patches/hotspot-mips-align.diff +++ b/debian/patches/hotspot-mips-align.diff @@ -1,6 +1,16 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:57:58 +0800 +Subject: hotspot-mips-align + +--- + src/hotspot/cpu/zero/cppInterpreter_zero.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/hotspot/cpu/zero/cppInterpreter_zero.cpp b/src/hotspot/cpu/zero/cppInterpreter_zero.cpp +index 9331d02..7aa6070 100644 --- a/src/hotspot/cpu/zero/cppInterpreter_zero.cpp +++ b/src/hotspot/cpu/zero/cppInterpreter_zero.cpp -@@ -369,7 +369,7 @@ +@@ -369,7 +369,7 @@ int CppInterpreter::native_entry(Method* method, intptr_t UNUSED, TRAPS) { ThreadStateTransition::transition_from_java(thread, _thread_in_native); // Make the call diff --git a/debian/patches/hotspot-test-fix-npe-on-missing-file.patch b/debian/patches/hotspot-test-fix-npe-on-missing-file.patch index afab6bd71..b1cd77988 100644 --- a/debian/patches/hotspot-test-fix-npe-on-missing-file.patch +++ b/debian/patches/hotspot-test-fix-npe-on-missing-file.patch @@ -1,17 +1,25 @@ -Description: Test fails with NPE on dangling link - We link libatk on OpenJDK's lib/ but it is a dangling link - unless libatk is installed. Since we don't build depend on - it the ModeJDKTest needs to be fixed to recurse only when - the source exists. -Author: Tiago Stürmer Daitx +From: =?utf-8?q?Tiago_St=C3=BCrmer_Daitx?= +Date: Tue, 7 May 2024 09:58:05 +0800 +Subject: Test fails with NPE on dangling link + Origin: Ubuntu Forwarded: no Last-Update: 2020-11-09 + +We link libatk on OpenJDK's lib/ but it is a dangling link +unless libatk is installed. Since we don't build depend on +it the ModeJDKTest needs to be fixed to recurse only when +the source exists. +Last-Update: 2020-11-09 --- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ + test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java b/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java +index 05b5fc1..cff2a4b 100644 --- a/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java +++ b/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java -@@ -137,7 +137,7 @@ +@@ -143,7 +143,7 @@ public class MoveJDKTest { Files.createSymbolicLink(child_dst.toPath(), /* link to -> */ child_src.toPath()); } } else { diff --git a/debian/patches/icc_loading_with_symlink.diff b/debian/patches/icc_loading_with_symlink.diff index 664e0ab0a..66a8baf1a 100644 --- a/debian/patches/icc_loading_with_symlink.diff +++ b/debian/patches/icc_loading_with_symlink.diff @@ -1,6 +1,16 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:57:58 +0800 +Subject: icc_loading_with_symlink + +--- + .../share/classes/java/awt/color/ICC_Profile.java | 23 ---------------------- + 1 file changed, 23 deletions(-) + +diff --git a/src/java.desktop/share/classes/java/awt/color/ICC_Profile.java b/src/java.desktop/share/classes/java/awt/color/ICC_Profile.java +index e1424f2..45d6b15 100644 --- a/src/java.desktop/share/classes/java/awt/color/ICC_Profile.java +++ b/src/java.desktop/share/classes/java/awt/color/ICC_Profile.java -@@ -1753,9 +1753,6 @@ +@@ -1753,9 +1753,6 @@ public class ICC_Profile implements Serializable { dir = st.nextToken(); fullPath = dir + File.separatorChar + fileName; f = new File(fullPath); @@ -10,10 +20,11 @@ } } -@@ -1795,26 +1792,6 @@ +@@ -1794,26 +1791,6 @@ public class ICC_Profile implements Serializable { + new RuntimePermission("accessSystemModules")); } - /** +- /** - * Checks whether given file resides inside give directory. - */ - private static boolean isChildOf(File f, String dirName) { @@ -33,7 +44,6 @@ - } - } - -- /** + /** * Checks whether built-in profile specified by fileName exists. */ - private static boolean standardProfileExists(final String fileName) { diff --git a/debian/patches/icedtea-override-redirect-compiz.diff b/debian/patches/icedtea-override-redirect-compiz.diff index fe5da60eb..236744210 100644 --- a/debian/patches/icedtea-override-redirect-compiz.diff +++ b/debian/patches/icedtea-override-redirect-compiz.diff @@ -1,6 +1,16 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:57:59 +0800 +Subject: icedtea-override-redirect-compiz + +--- + src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java b/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java +index 010e934..68b8462 100644 --- a/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java +++ b/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java -@@ -1260,6 +1260,7 @@ +@@ -1260,6 +1260,7 @@ class XWindowPeer extends XPanelPeer implements WindowPeer, boolean isOverrideRedirect() { return XWM.getWMID() == XWM.OPENLOOK_WM || diff --git a/debian/patches/jdk-getAccessibleValue.diff b/debian/patches/jdk-getAccessibleValue.diff index e1daf8f06..7e59ee45d 100644 --- a/debian/patches/jdk-getAccessibleValue.diff +++ b/debian/patches/jdk-getAccessibleValue.diff @@ -1,6 +1,79 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:01 +0800 +Subject: jdk-getAccessibleValue + +--- + .../share/classes/javax/swing/JTable.java | 28 ++++++++++++++++++---- + .../share/classes/javax/swing/JTree.java | 6 ++--- + .../classes/javax/swing/table/JTableHeader.java | 28 ++++++++++++++++++---- + .../java/accessibility/internal/AccessBridge.java | 6 ++--- + 4 files changed, 54 insertions(+), 14 deletions(-) + +diff --git a/src/java.desktop/share/classes/javax/swing/JTable.java b/src/java.desktop/share/classes/javax/swing/JTable.java +index c10290a..3380449 100644 +--- a/src/java.desktop/share/classes/javax/swing/JTable.java ++++ b/src/java.desktop/share/classes/javax/swing/JTable.java +@@ -9165,7 +9165,12 @@ public class JTable extends JComponent implements TableModelListener, Scrollable + * @return the AccessibleAction, or null + */ + public AccessibleAction getAccessibleAction() { +- return getCurrentAccessibleContext().getAccessibleAction(); ++ AccessibleContext ac = getCurrentAccessibleContext(); ++ if (ac != null) { ++ return ac.getAccessibleAction(); ++ } else { ++ return null; ++ } + } + + /** +@@ -9187,7 +9192,12 @@ public class JTable extends JComponent implements TableModelListener, Scrollable + * null + */ + public AccessibleSelection getAccessibleSelection() { +- return getCurrentAccessibleContext().getAccessibleSelection(); ++ AccessibleContext ac = getCurrentAccessibleContext(); ++ if (ac != null) { ++ return ac.getAccessibleSelection(); ++ } else { ++ return null; ++ } + } + + /** +@@ -9197,7 +9207,12 @@ public class JTable extends JComponent implements TableModelListener, Scrollable + * @return the AccessibleText, or null + */ + public AccessibleText getAccessibleText() { +- return getCurrentAccessibleContext().getAccessibleText(); ++ AccessibleContext ac = getCurrentAccessibleContext(); ++ if (ac != null) { ++ return ac.getAccessibleText(); ++ } else { ++ return null; ++ } + } + + /** +@@ -9207,7 +9222,12 @@ public class JTable extends JComponent implements TableModelListener, Scrollable + * @return the AccessibleValue, or null + */ + public AccessibleValue getAccessibleValue() { +- return getCurrentAccessibleContext().getAccessibleValue(); ++ AccessibleContext ac = getCurrentAccessibleContext(); ++ if (ac != null) { ++ return ac.getAccessibleValue(); ++ } else { ++ return null; ++ } + } + + +diff --git a/src/java.desktop/share/classes/javax/swing/JTree.java b/src/java.desktop/share/classes/javax/swing/JTree.java +index 9a00277..f645983 100644 --- a/src/java.desktop/share/classes/javax/swing/JTree.java +++ b/src/java.desktop/share/classes/javax/swing/JTree.java -@@ -5063,7 +5063,7 @@ +@@ -5063,7 +5063,7 @@ public class JTree extends JComponent implements Scrollable, Accessible public AccessibleSelection getAccessibleSelection() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null && isLeaf) { @@ -9,7 +82,7 @@ } else { return this; } -@@ -5078,7 +5078,7 @@ +@@ -5078,7 +5078,7 @@ public class JTree extends JComponent implements Scrollable, Accessible public AccessibleText getAccessibleText() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { @@ -18,7 +91,7 @@ } else { return null; } -@@ -5093,7 +5093,7 @@ +@@ -5093,7 +5093,7 @@ public class JTree extends JComponent implements Scrollable, Accessible public AccessibleValue getAccessibleValue() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { @@ -27,9 +100,11 @@ } else { return null; } +diff --git a/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java b/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java +index be2d158..7240d30 100644 --- a/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java +++ b/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java -@@ -1114,7 +1114,12 @@ +@@ -1114,7 +1114,12 @@ public class JTableHeader extends JComponent implements TableColumnModelListener } public AccessibleAction getAccessibleAction() { @@ -43,7 +118,7 @@ } /** -@@ -1130,15 +1135,30 @@ +@@ -1130,15 +1135,30 @@ public class JTableHeader extends JComponent implements TableColumnModelListener } public AccessibleSelection getAccessibleSelection() { @@ -77,67 +152,11 @@ } ---- a/src/java.desktop/share/classes/javax/swing/JTable.java -+++ b/src/java.desktop/share/classes/javax/swing/JTable.java -@@ -9165,7 +9165,12 @@ - * @return the AccessibleAction, or null - */ - public AccessibleAction getAccessibleAction() { -- return getCurrentAccessibleContext().getAccessibleAction(); -+ AccessibleContext ac = getCurrentAccessibleContext(); -+ if (ac != null) { -+ return ac.getAccessibleAction(); -+ } else { -+ return null; -+ } - } - - /** -@@ -9187,7 +9192,12 @@ - * null - */ - public AccessibleSelection getAccessibleSelection() { -- return getCurrentAccessibleContext().getAccessibleSelection(); -+ AccessibleContext ac = getCurrentAccessibleContext(); -+ if (ac != null) { -+ return ac.getAccessibleSelection(); -+ } else { -+ return null; -+ } - } - - /** -@@ -9197,7 +9207,12 @@ - * @return the AccessibleText, or null - */ - public AccessibleText getAccessibleText() { -- return getCurrentAccessibleContext().getAccessibleText(); -+ AccessibleContext ac = getCurrentAccessibleContext(); -+ if (ac != null) { -+ return ac.getAccessibleText(); -+ } else { -+ return null; -+ } - } - - /** -@@ -9207,7 +9222,12 @@ - * @return the AccessibleValue, or null - */ - public AccessibleValue getAccessibleValue() { -- return getCurrentAccessibleContext().getAccessibleValue(); -+ AccessibleContext ac = getCurrentAccessibleContext(); -+ if (ac != null) { -+ return ac.getAccessibleValue(); -+ } else { -+ return null; -+ } - } - - +diff --git a/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java b/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java +index c75795f..5d5070b 100644 --- a/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java +++ b/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java -@@ -6549,7 +6549,7 @@ +@@ -6549,7 +6549,7 @@ final public class AccessBridge { public AccessibleSelection getAccessibleSelection() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null && isLeaf) { @@ -146,7 +165,7 @@ } else { return this; } -@@ -6564,7 +6564,7 @@ +@@ -6564,7 +6564,7 @@ final public class AccessBridge { public AccessibleText getAccessibleText() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { @@ -155,7 +174,7 @@ } else { return null; } -@@ -6579,7 +6579,7 @@ +@@ -6579,7 +6579,7 @@ final public class AccessBridge { public AccessibleValue getAccessibleValue() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { diff --git a/debian/patches/jdk-i18n-pt_BR.diff b/debian/patches/jdk-i18n-pt_BR.diff index fde9fd82e..0e9b2502c 100644 --- a/debian/patches/jdk-i18n-pt_BR.diff +++ b/debian/patches/jdk-i18n-pt_BR.diff @@ -1,6 +1,16 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:01 +0800 +Subject: jdk-i18n-pt_BR + +--- + src/java.desktop/share/classes/sun/awt/resources/awt_pt_BR.properties | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/java.desktop/share/classes/sun/awt/resources/awt_pt_BR.properties b/src/java.desktop/share/classes/sun/awt/resources/awt_pt_BR.properties +index bcc0228..d6a29a4 100644 --- a/src/java.desktop/share/classes/sun/awt/resources/awt_pt_BR.properties +++ b/src/java.desktop/share/classes/sun/awt/resources/awt_pt_BR.properties -@@ -13,7 +13,7 @@ +@@ -13,7 +13,7 @@ AWT.altGraph=Alt Graph # Key names AWT.enter=Enter AWT.backSpace=Backspace diff --git a/debian/patches/jexec.diff b/debian/patches/jexec.diff index c160b90d0..1f4f41edf 100644 --- a/debian/patches/jexec.diff +++ b/debian/patches/jexec.diff @@ -1,6 +1,40 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:57:59 +0800 +Subject: jexec + +--- + make/launcher/Launcher-java.base.gmk | 5 ++++- + src/java.base/unix/native/launcher/jexec.c | 3 ++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/make/launcher/Launcher-java.base.gmk b/make/launcher/Launcher-java.base.gmk +index a8990dd..421a650 100644 +--- a/make/launcher/Launcher-java.base.gmk ++++ b/make/launcher/Launcher-java.base.gmk +@@ -57,6 +57,9 @@ $(eval $(call SetupBuildLauncher, keytool, \ + ################################################################################ + + ifeq ($(call isTargetOs, linux), true) ++ ifeq (,$(DEBIAN_JDK_BASE_DIR)) ++ $(error DEBIAN_JDK_BASE_DIR must be defined for jexec build) ++ endif + $(eval $(call SetupJdkExecutable, BUILD_JEXEC, \ + NAME := jexec, \ + SRC := $(TOPDIR)/src/$(MODULE)/unix/native/launcher, \ +@@ -64,7 +67,7 @@ ifeq ($(call isTargetOs, linux), true) + OPTIMIZATION := LOW, \ + CFLAGS := $(CFLAGS_JDKEXE) \ + -I$(TOPDIR)/src/$(MODULE)/share/native/libjli, \ +- CFLAGS_linux := -fPIC, \ ++ CFLAGS_linux := -fPIC '-DJDK_BASE_DIR="$(DEBIAN_JDK_BASE_DIR)"', \ + CFLAGS_solaris := -KPIC, \ + LDFLAGS := $(LDFLAGS_JDKEXE), \ + OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \ +diff --git a/src/java.base/unix/native/launcher/jexec.c b/src/java.base/unix/native/launcher/jexec.c +index bd6458c..a236347 100644 --- a/src/java.base/unix/native/launcher/jexec.c +++ b/src/java.base/unix/native/launcher/jexec.c -@@ -168,9 +168,10 @@ +@@ -168,9 +168,10 @@ int main(int argc, const char * argv[]) { /* Get the path to the java binary, which is in a known position relative * to our current position, which is in argv[0]. */ @@ -12,24 +46,3 @@ alen = (argc + 2) * (sizeof (const char *)); if (alen <= 0 || alen > INT_MAX / sizeof(char *)) { errorExit(errno, BAD_ARG_MSG); ---- a/make/launcher/Launcher-java.base.gmk -+++ b/make/launcher/Launcher-java.base.gmk -@@ -57,6 +57,9 @@ - ################################################################################ - - ifeq ($(call isTargetOs, linux), true) -+ ifeq (,$(DEBIAN_JDK_BASE_DIR)) -+ $(error DEBIAN_JDK_BASE_DIR must be defined for jexec build) -+ endif - $(eval $(call SetupJdkExecutable, BUILD_JEXEC, \ - NAME := jexec, \ - SRC := $(TOPDIR)/src/$(MODULE)/unix/native/launcher, \ -@@ -64,7 +67,7 @@ - OPTIMIZATION := LOW, \ - CFLAGS := $(CFLAGS_JDKEXE) \ - -I$(TOPDIR)/src/$(MODULE)/share/native/libjli, \ -- CFLAGS_linux := -fPIC, \ -+ CFLAGS_linux := -fPIC '-DJDK_BASE_DIR="$(DEBIAN_JDK_BASE_DIR)"', \ - CFLAGS_solaris := -KPIC, \ - LDFLAGS := $(LDFLAGS_JDKEXE), \ - OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \ diff --git a/debian/patches/jtreg-location.diff b/debian/patches/jtreg-location.diff index c680291aa..1a12187ed 100644 --- a/debian/patches/jtreg-location.diff +++ b/debian/patches/jtreg-location.diff @@ -1,35 +1,18 @@ ---- a/make/autoconf/toolchain.m4 -+++ b/make/autoconf/toolchain.m4 -@@ -1076,7 +1076,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG], - AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist]) - fi - -- if test ! -e "$JT_HOME/lib/jtreg.jar"; then -+ if test ! -e "$JT_HOME/share/java/jtreg.jar"; then - AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home]) - fi - -@@ -1095,7 +1095,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG], - AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME]) - JT_HOME= - else -- if test ! -e "$JT_HOME/lib/jtreg.jar"; then -+ if test ! -e "$JT_HOME/share/java/jtreg.jar"; then - AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME]) - JT_HOME= - elif test ! -x "$JT_HOME/bin/jtreg"; then -@@ -1115,7 +1115,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG], - if test "x$JTREGEXE" != x; then - # That's good, now try to derive JT_HOME - JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)` -- if test ! -e "$JT_HOME/lib/jtreg.jar"; then -+ if test ! -e "$JT_HOME/share/java/jtreg.jar"; then - AC_MSG_WARN([Ignoring jtreg from path since a valid jtreg home cannot be found]) - JT_HOME= - JTREGEXE= +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:01 +0800 +Subject: jtreg-location + +--- + make/RunTests.gmk | 2 +- + make/autoconf/toolchain.m4 | 6 +++--- + make/test/BuildFailureHandler.gmk | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/make/RunTests.gmk b/make/RunTests.gmk +index 2702e41..0597298 100644 --- a/make/RunTests.gmk +++ b/make/RunTests.gmk -@@ -740,7 +740,7 @@ define SetupRunJtregTestBody +@@ -750,7 +750,7 @@ define SetupRunJtregTestBody $1_COMMAND_LINE := \ $$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \ @@ -38,9 +21,42 @@ $$($1_JTREG_BASIC_OPTIONS) \ -testjdk:$$(JDK_IMAGE_DIR) \ -dir:$$(JTREG_TOPDIR) \ +diff --git a/make/autoconf/toolchain.m4 b/make/autoconf/toolchain.m4 +index 1bba0eb..c4ff3eb 100644 +--- a/make/autoconf/toolchain.m4 ++++ b/make/autoconf/toolchain.m4 +@@ -1080,7 +1080,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG], + AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist]) + fi + +- if test ! -e "$JT_HOME/lib/jtreg.jar"; then ++ if test ! -e "$JT_HOME/share/java/jtreg.jar"; then + AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home]) + fi + +@@ -1099,7 +1099,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG], + AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME]) + JT_HOME= + else +- if test ! -e "$JT_HOME/lib/jtreg.jar"; then ++ if test ! -e "$JT_HOME/share/java/jtreg.jar"; then + AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME]) + JT_HOME= + elif test ! -x "$JT_HOME/bin/jtreg"; then +@@ -1119,7 +1119,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG], + if test "x$JTREGEXE" != x; then + # That's good, now try to derive JT_HOME + JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)` +- if test ! -e "$JT_HOME/lib/jtreg.jar"; then ++ if test ! -e "$JT_HOME/share/java/jtreg.jar"; then + AC_MSG_WARN([Ignoring jtreg from path since a valid jtreg home cannot be found]) + JT_HOME= + JTREGEXE= +diff --git a/make/test/BuildFailureHandler.gmk b/make/test/BuildFailureHandler.gmk +index 8433a5c..271edcc 100644 --- a/make/test/BuildFailureHandler.gmk +++ b/make/test/BuildFailureHandler.gmk -@@ -39,7 +39,7 @@ FH_BASEDIR := $(TOPDIR)/test/failure_han +@@ -39,7 +39,7 @@ FH_BASEDIR := $(TOPDIR)/test/failure_handler FH_SUPPORT := $(SUPPORT_OUTPUTDIR)/test/failure_handler FH_JAR := $(FH_SUPPORT)/jtregFailureHandler.jar diff --git a/debian/patches/keep-gtk2-as-default.patch b/debian/patches/keep-gtk2-as-default.patch index 7db75dc43..c982f0595 100644 --- a/debian/patches/keep-gtk2-as-default.patch +++ b/debian/patches/keep-gtk2-as-default.patch @@ -1,9 +1,11 @@ -Description: Revert upstream default to GTK2 - OpenJDK 11 uses GTK3 by default for the GTK Look and Feel but it still - has too many pending issues and artifacts and is not on par with GTK2 - support. This patch is the reverse of the upstream commit which ensures - that GTK2 is tried before GTK3. +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:03 +0800 +Subject: Revert upstream default to GTK2 +OpenJDK 11 uses GTK3 by default for the GTK Look and Feel but it still +has too many pending issues and artifacts and is not on par with GTK2 +support. This patch is the reverse of the upstream commit which ensures +that GTK2 is tried before GTK3. When GTK3 becomes better supported we should drop this and update the dlopen_jre_depends variable in debian/rules accordingly. Origin: upstream, http://hg.openjdk.java.net/jdk-updates/jdk11u/rev/3e3696a308e1 @@ -15,29 +17,25 @@ Applied-Upstream: http//hg.openjdk.java.net/jdk-updates/jdk11u/rev/3e3696a308e1 Reviewed-by: Last-Update: 2019-03-27 --- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ - -# HG changeset patch -# User prr -# Date 1521484190 25200 -# Node ID 3e3696a308e1674a1056d5ff0d660e7fb0d08286 -# Parent 79f6a4dc221e6290723e773813969de422733545 -8198649: Switch AWT/Swing's default GTK version to 3 -Reviewed-by: psadhukhan, kaddepalli + .../unix/native/libawt_xawt/awt/gtk_interface.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) +diff --git a/src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c b/src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c +index 0b78024..19a2d00 100644 --- a/src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c +++ b/src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c -@@ -45,18 +45,18 @@ +@@ -44,19 +44,19 @@ typedef struct { + } GtkLib; static GtkLib gtk_libs[] = { - { +- { - GTK_3, - JNI_LIB_NAME("gtk-3"), - VERSIONED_JNI_LIB_NAME("gtk-3", "0"), - >k3_load, - >k3_check - }, -- { + { GTK_2, JNI_LIB_NAME("gtk-x11-2.0"), VERSIONED_JNI_LIB_NAME("gtk-x11-2.0", "0"), diff --git a/debian/patches/ldap-timeout-test-use-ip.patch b/debian/patches/ldap-timeout-test-use-ip.patch index fd61a86b3..8a9dd9660 100644 --- a/debian/patches/ldap-timeout-test-use-ip.patch +++ b/debian/patches/ldap-timeout-test-use-ip.patch @@ -1,12 +1,21 @@ -Description: Replace hostname with a non-existant ip address - In Ubuntu build environment we do not have DNS resolver, causing an unexpected test - failure. Use a non-existant IP address instead of hostname. -Author: Vladimir Petko +From: Vladimir Petko +Date: Tue, 7 May 2024 09:58:06 +0800 +Subject: Replace hostname with a non-existant ip address + Forwarded: no Last-Update: 2023-03-27 + +In Ubuntu build environment we do not have DNS resolver, causing an unexpected test +failure. Use a non-existant IP address instead of hostname. +--- + test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java b/test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java +index 9aeb2df..3253362 100644 --- a/test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java +++ b/test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java -@@ -86,7 +86,9 @@ +@@ -86,7 +86,9 @@ public class LdapPoolTimeoutTest { env.put("com.sun.jndi.ldap.read.timeout", String.valueOf(READ_MILLIS)); env.put("com.sun.jndi.ldap.connect.timeout", String.valueOf(CONNECT_MILLIS)); env.put("com.sun.jndi.ldap.connect.pool", "true"); diff --git a/debian/patches/libpcsclite-dlopen.diff b/debian/patches/libpcsclite-dlopen.diff index 06781b23f..bb781b802 100644 --- a/debian/patches/libpcsclite-dlopen.diff +++ b/debian/patches/libpcsclite-dlopen.diff @@ -1,6 +1,16 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:57:59 +0800 +Subject: libpcsclite-dlopen + +--- + .../sun/security/smartcardio/PlatformPCSC.java | 20 ++++---------------- + 1 file changed, 4 insertions(+), 16 deletions(-) + +diff --git a/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java b/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java +index 507fedd..ec20df5 100644 --- a/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java +++ b/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java -@@ -48,6 +48,7 @@ +@@ -48,6 +48,7 @@ class PlatformPCSC { private final static String PROP_NAME = "sun.security.smartcardio.library"; @@ -8,7 +18,7 @@ private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so"; private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so"; private final static String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC"; -@@ -104,22 +105,9 @@ +@@ -104,22 +105,9 @@ class PlatformPCSC { if (lib.length() != 0) { return lib; } diff --git a/debian/patches/log-generated-classes-test.patch b/debian/patches/log-generated-classes-test.patch index 69146510d..85bd6a009 100644 --- a/debian/patches/log-generated-classes-test.patch +++ b/debian/patches/log-generated-classes-test.patch @@ -1,13 +1,22 @@ -Description: Skip test when getFileStore() fails - Due to https://bugs.openjdk.org/browse/JDK-8166162 getFileStore() fails with exception - failing the test suite. Skip test when getFileStore() throws. -Author: Vladimir Petko +From: Vladimir Petko +Date: Tue, 7 May 2024 09:58:06 +0800 +Subject: Skip test when getFileStore() fails + Bug: https://bugs.openjdk.org/browse/JDK-8166162 Forwarded: not-needed Last-Update: 2023-03-27 + +Due to https://bugs.openjdk.org/browse/JDK-8166162 getFileStore() fails with exception +failing the test suite. Skip test when getFileStore() throws. +--- + .../invoke/lambda/LogGeneratedClassesTest.java | 23 ++++++++++++++-------- + 1 file changed, 15 insertions(+), 8 deletions(-) + +diff --git a/test/jdk/java/lang/invoke/lambda/LogGeneratedClassesTest.java b/test/jdk/java/lang/invoke/lambda/LogGeneratedClassesTest.java +index 047c128..eeabb66 100644 --- a/test/jdk/java/lang/invoke/lambda/LogGeneratedClassesTest.java +++ b/test/jdk/java/lang/invoke/lambda/LogGeneratedClassesTest.java -@@ -191,14 +191,21 @@ +@@ -191,14 +191,21 @@ public class LogGeneratedClassesTest extends LUtils { @Test public void testDumpDirNotWritable() throws IOException { diff --git a/debian/patches/loong64-autoconf-config.diff b/debian/patches/loong64-autoconf-config.diff index 0afdbab8b..7993c7f47 100644 --- a/debian/patches/loong64-autoconf-config.diff +++ b/debian/patches/loong64-autoconf-config.diff @@ -1,3 +1,13 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:07 +0800 +Subject: loong64-autoconf-config + +--- + make/autoconf/build-aux/autoconf-config.sub | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/make/autoconf/build-aux/autoconf-config.sub b/make/autoconf/build-aux/autoconf-config.sub +index 1aab2b3..483ff0b 100644 --- a/make/autoconf/build-aux/autoconf-config.sub +++ b/make/autoconf/build-aux/autoconf-config.sub @@ -275,6 +275,7 @@ case $basic_machine in diff --git a/debian/patches/machine-flag.diff b/debian/patches/machine-flag.diff index 8be4c2454..fd569be87 100644 --- a/debian/patches/machine-flag.diff +++ b/debian/patches/machine-flag.diff @@ -1,6 +1,16 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:01 +0800 +Subject: machine-flag + +--- + make/autoconf/flags.m4 | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/make/autoconf/flags.m4 b/make/autoconf/flags.m4 +index 5a3ea96..e1da2a0 100644 --- a/make/autoconf/flags.m4 +++ b/make/autoconf/flags.m4 -@@ -271,6 +271,7 @@ +@@ -271,6 +271,7 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN], test "x$OPENJDK_TARGET_CPU_ARCH" = xppc; then MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}" fi @@ -8,7 +18,7 @@ fi if test "x$OPENJDK_TARGET_OS" = xmacosx; then -@@ -357,11 +358,8 @@ +@@ -357,11 +358,8 @@ AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL], AC_SUBST(COMPILER_COMMAND_FILE_FLAG) AC_SUBST(COMPILER_BINDCMD_FILE_FLAG) diff --git a/debian/patches/multiple-pkcs11-library-init.diff b/debian/patches/multiple-pkcs11-library-init.diff index 080ecc0de..376897b66 100644 --- a/debian/patches/multiple-pkcs11-library-init.diff +++ b/debian/patches/multiple-pkcs11-library-init.diff @@ -1,10 +1,20 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:00 +0800 +Subject: multiple-pkcs11-library-init + # HG changeset patch # User andrew # Date 1352129932 0 # Node ID e9c857dcb964dbfa5eef3a3590244cb4d999cf7a # Parent 1406789608b76d0906881979335d685855f44190 Allow multiple PKCS11 library initialisation to be a non-critical error. +--- + .../share/classes/sun/security/pkcs11/Config.java | 3 +++ + .../classes/sun/security/pkcs11/SunPKCS11.java | 23 ++++++++++++++++------ + 2 files changed, 20 insertions(+), 6 deletions(-) +diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java +index 83b6333..96c44b6 100644 --- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java +++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java @@ -52,6 +52,7 @@ final class Config { @@ -24,9 +34,11 @@ Allow multiple PKCS11 library initialisation to be a non-critical error. } else { throw excToken("Invalid value for handleStartupErrors:"); } +diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java +index ffbd671..b41fb35 100644 --- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java +++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java -@@ -177,26 +177,37 @@ public final class SunPKCS11 extends Aut +@@ -177,26 +177,37 @@ public final class SunPKCS11 extends AuthProvider { String nssLibraryDirectory = config.getNssLibraryDirectory(); String nssSecmodDirectory = config.getNssSecmodDirectory(); boolean nssOptimizeSpace = config.getNssOptimizeSpace(); diff --git a/debian/patches/nss-limited-ecc-tests.patch b/debian/patches/nss-limited-ecc-tests.patch index 7a75015c9..f764a55be 100644 --- a/debian/patches/nss-limited-ecc-tests.patch +++ b/debian/patches/nss-limited-ecc-tests.patch @@ -1,6 +1,18 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:07 +0800 +Subject: nss-limited-ecc-tests + +--- + test/jdk/sun/security/pkcs11/PKCS11Test.java | 2 +- + test/jdk/sun/security/pkcs11/ec/TestECDH.java | 8 ++++++-- + test/jdk/sun/security/pkcs11/ec/TestECDSA.java | 8 +++++--- + 3 files changed, 12 insertions(+), 6 deletions(-) + +diff --git a/test/jdk/sun/security/pkcs11/PKCS11Test.java b/test/jdk/sun/security/pkcs11/PKCS11Test.java +index b14daf6..5933aef 100644 --- a/test/jdk/sun/security/pkcs11/PKCS11Test.java +++ b/test/jdk/sun/security/pkcs11/PKCS11Test.java -@@ -99,7 +99,7 @@ +@@ -99,7 +99,7 @@ public abstract class PKCS11Test { // NSS version info public static enum ECCState { None, Basic, Extended }; static double nss_version = -1; @@ -9,9 +21,11 @@ // The NSS library we need to search for in getNSSLibDir() // Default is "libsoftokn3.so", listed as "softokn3" +diff --git a/test/jdk/sun/security/pkcs11/ec/TestECDH.java b/test/jdk/sun/security/pkcs11/ec/TestECDH.java +index 58d6b4b..264fc91 100644 --- a/test/jdk/sun/security/pkcs11/ec/TestECDH.java +++ b/test/jdk/sun/security/pkcs11/ec/TestECDH.java -@@ -124,8 +124,12 @@ +@@ -124,8 +124,12 @@ public class TestECDH extends PKCS11Test { return; } @@ -26,9 +40,11 @@ if (getSupportedECParameterSpec("brainpoolP256r1", p).isPresent()) { test(p, pubBrainpoolP256r1a, privBrainpoolP256r1a, pubBrainpoolP256r1b, privBrainpoolP256r1b, secretBrainpoolP256r1); +diff --git a/test/jdk/sun/security/pkcs11/ec/TestECDSA.java b/test/jdk/sun/security/pkcs11/ec/TestECDSA.java +index df408ce..8971f3a 100644 --- a/test/jdk/sun/security/pkcs11/ec/TestECDSA.java +++ b/test/jdk/sun/security/pkcs11/ec/TestECDSA.java -@@ -156,12 +156,14 @@ +@@ -156,12 +156,14 @@ public class TestECDSA extends PKCS11Test { return; } diff --git a/debian/patches/reproducible-build-jmod.diff b/debian/patches/reproducible-build-jmod.diff index f1e9ca15a..b4da1c448 100644 --- a/debian/patches/reproducible-build-jmod.diff +++ b/debian/patches/reproducible-build-jmod.diff @@ -1,18 +1,26 @@ -Description: jlink: Hash of module differs to expected hash recorded in java.base - The cause is the use of dh_strip_nondeterminism late in the build - process. This reorganises the jmod files, which in turn changes their - SHA256 checksums. This would not be a problem, except that the - checksums are saved in java.base.jmod *before* the use of - dh_strip_nondeterminism. Performing this stripping immediately after - each jmod file is created results in the checksums being consistent - throughout. -Author: Julian Gilbey +From: Julian Gilbey +Date: Tue, 7 May 2024 09:58:05 +0800 +Subject: jlink: Hash of module differs to expected hash recorded in java.base + Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=944738 Forwarded: not-needed +The cause is the use of dh_strip_nondeterminism late in the build +process. This reorganises the jmod files, which in turn changes their +SHA256 checksums. This would not be a problem, except that the +checksums are saved in java.base.jmod *before* the use of +dh_strip_nondeterminism. Performing this stripping immediately after +each jmod file is created results in the checksums being consistent +throughout. +--- + make/CreateJmods.gmk | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/make/CreateJmods.gmk b/make/CreateJmods.gmk +index f0e152b..54db319 100644 --- a/make/CreateJmods.gmk +++ b/make/CreateJmods.gmk -@@ -218,6 +218,15 @@ +@@ -218,6 +218,15 @@ endif # Create jmods in a temp dir and then move them into place to keep the # module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times. @@ -28,7 +36,7 @@ Forwarded: not-needed $(JMODS_DIR)/$(MODULE).jmod: $(DEPS) $(call LogWarn, Creating $(patsubst $(OUTPUTDIR)/%, %, $@)) $(call MakeDir, $(JMODS_DIR) $(JMODS_TEMPDIR)) -@@ -229,7 +238,11 @@ +@@ -229,7 +238,11 @@ $(JMODS_DIR)/$(MODULE).jmod: $(DEPS) --module-path $(JMODS_DIR) \ $(JMOD_FLAGS) $(JMODS_TEMPDIR)/$(notdir $@) \ ) diff --git a/debian/patches/reproducible-build-user.diff b/debian/patches/reproducible-build-user.diff index abb562f1b..85cb10a29 100644 --- a/debian/patches/reproducible-build-user.diff +++ b/debian/patches/reproducible-build-user.diff @@ -1,6 +1,15 @@ -Description: Makes the build user invariant to improve the reproducibility (it appears in the interval VM version in libjvm.so) -Author: Emmanuel Bourg +From: Emmanuel Bourg +Date: Tue, 7 May 2024 09:58:04 +0800 +Subject: Makes the build user invariant to improve the reproducibility (it + appears in the interval VM version in libjvm.so) + Forwarded: no +--- + make/autoconf/basic.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/make/autoconf/basic.m4 b/make/autoconf/basic.m4 +index 9e8a22f..c53f581 100644 --- a/make/autoconf/basic.m4 +++ b/make/autoconf/basic.m4 @@ -101,7 +101,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS], diff --git a/debian/patches/reproducible-character-data.diff b/debian/patches/reproducible-character-data.diff index c029535df..981690dfa 100644 --- a/debian/patches/reproducible-character-data.diff +++ b/debian/patches/reproducible-character-data.diff @@ -1,9 +1,18 @@ -Description: Makes the generated character data classes reproducible (removes a timestamp and trims a build path captured in the comments) -Author: Emmanuel Bourg +From: Emmanuel Bourg +Date: Tue, 7 May 2024 09:58:04 +0800 +Subject: Makes the generated character data classes reproducible (removes a + timestamp and trims a build path captured in the comments) + Forwarded: no +--- + .../src/classes/build/tools/generatecharacter/GenerateCharacter.java | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java b/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java +index 88a8d82..8a6e5d0 100644 --- a/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java +++ b/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java -@@ -693,7 +693,7 @@ +@@ -693,7 +693,7 @@ OUTER: for (int i = 0; i < n; i += m) { PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(theOutputFileName))); out.println(commentStart + " This file was generated AUTOMATICALLY from a template file " + @@ -12,7 +21,7 @@ Forwarded: no int marklen = commandMarker.length(); LOOP: while(true) { try { -@@ -1819,7 +1819,8 @@ +@@ -1819,7 +1819,8 @@ OUTER: for (int i = 0; i < n; i += m) { } commentStart = (Csyntax ? "/*" : "//"); commentEnd = (Csyntax ? " */" : ""); diff --git a/debian/patches/reproducible-copyright-headers.diff b/debian/patches/reproducible-copyright-headers.diff index 020e3bfaa..80d749e9c 100644 --- a/debian/patches/reproducible-copyright-headers.diff +++ b/debian/patches/reproducible-copyright-headers.diff @@ -1,6 +1,15 @@ -Description: Makes the generated copyright headers reproducible -Author: Emmanuel Bourg +From: Emmanuel Bourg +Date: Tue, 7 May 2024 09:58:04 +0800 +Subject: Makes the generated copyright headers reproducible + Forwarded: no +--- + .../build/tools/cldrconverter/CopyrightHeaders.java | 11 +++++++++-- + .../tools/generatelsrequivmaps/EquivMapsGenerator.java | 15 +++++++++++++-- + 2 files changed, 22 insertions(+), 4 deletions(-) + +diff --git a/make/jdk/src/classes/build/tools/cldrconverter/CopyrightHeaders.java b/make/jdk/src/classes/build/tools/cldrconverter/CopyrightHeaders.java +index 89c7e0f..deff68f 100644 --- a/make/jdk/src/classes/build/tools/cldrconverter/CopyrightHeaders.java +++ b/make/jdk/src/classes/build/tools/cldrconverter/CopyrightHeaders.java @@ -26,6 +26,7 @@ @@ -11,7 +20,7 @@ Forwarded: no import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; -@@ -150,8 +151,14 @@ +@@ -150,8 +151,14 @@ class CopyrightHeaders { } private static int getYear() { @@ -28,9 +37,11 @@ Forwarded: no } // no instantiation +diff --git a/make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java b/make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java +index 7d1b7b2..c0ed04a 100644 --- a/make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java +++ b/make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java -@@ -34,9 +34,13 @@ +@@ -34,9 +34,13 @@ import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.Arrays; @@ -44,7 +55,7 @@ Forwarded: no import java.util.TreeMap; import java.util.stream.Collectors; -@@ -246,8 +250,15 @@ +@@ -246,8 +250,15 @@ public class EquivMapsGenerator { + "}"; private static String getOpenJDKCopyright() { diff --git a/debian/patches/reproducible-javadoc-timestamp.diff b/debian/patches/reproducible-javadoc-timestamp.diff index f425ecab8..4b8a03de1 100644 --- a/debian/patches/reproducible-javadoc-timestamp.diff +++ b/debian/patches/reproducible-javadoc-timestamp.diff @@ -1,9 +1,18 @@ -Description: Makes the timestamp in the javadoc files reproducible when SOURCE_DATE_EPOCH is specified -Author: Emmanuel Bourg +From: Emmanuel Bourg +Date: Tue, 7 May 2024 09:58:03 +0800 +Subject: Makes the timestamp in the javadoc files reproducible when + SOURCE_DATE_EPOCH is specified + Forwarded: no +--- + .../internal/doclets/formats/html/markup/Head.java | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java +index 85ee310..3c5260b 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java -@@ -256,6 +256,9 @@ +@@ -256,6 +256,9 @@ public class Head { */ public Content toContent() { Date now = showTimestamp ? calendar.getTime() : null; @@ -13,7 +22,7 @@ Forwarded: no HtmlTree tree = new HtmlTree(HtmlTag.HEAD); if (showGeneratedBy) { -@@ -269,6 +272,9 @@ +@@ -269,6 +272,9 @@ public class Head { if (showMetaCreated) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); @@ -23,7 +32,7 @@ Forwarded: no tree.addContent(HtmlTree.META( (htmlVersion == HtmlVersion.HTML5) ? "dc.created" : "date", dateFormat.format(now))); -@@ -298,7 +304,14 @@ +@@ -298,7 +304,14 @@ public class Head { private Comment getGeneratedBy(boolean timestamp, Date now) { String text = "Generated by javadoc"; // marker string, deliberately not localized if (timestamp) { diff --git a/debian/patches/reproducible-module-info.diff b/debian/patches/reproducible-module-info.diff index 487acf067..aab862497 100644 --- a/debian/patches/reproducible-module-info.diff +++ b/debian/patches/reproducible-module-info.diff @@ -1,9 +1,18 @@ -Description: Makes the generated module-info.java files reproducible (removes a captured build path) -Author: Emmanuel Bourg +From: Emmanuel Bourg +Date: Tue, 7 May 2024 09:58:04 +0800 +Subject: Makes the generated module-info.java files reproducible (removes a + captured build path) + Forwarded: no +--- + make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java b/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java +index 67b3c41..7aad937 100644 --- a/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java +++ b/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java -@@ -154,9 +154,10 @@ +@@ -154,9 +154,10 @@ public class GenModuleInfoSource { if (l.trim().startsWith("module ")) { if (debug) { // print URI rather than file path to avoid escape diff --git a/debian/patches/reproducible-properties-timestamp.diff b/debian/patches/reproducible-properties-timestamp.diff index 7d4114463..f291b1c7c 100644 --- a/debian/patches/reproducible-properties-timestamp.diff +++ b/debian/patches/reproducible-properties-timestamp.diff @@ -1,9 +1,18 @@ -Description: Makes the timestamp in the properties files header reproducible when SOURCE_DATE_EPOCH is specified -Author: Emmanuel Bourg +From: Emmanuel Bourg +Date: Tue, 7 May 2024 09:58:03 +0800 +Subject: Makes the timestamp in the properties files header reproducible when + SOURCE_DATE_EPOCH is specified + Forwarded: no +--- + .../share/classes/java/util/Properties.java | 28 +++++++++++++++++++++- + 1 file changed, 27 insertions(+), 1 deletion(-) + +diff --git a/src/java.base/share/classes/java/util/Properties.java b/src/java.base/share/classes/java/util/Properties.java +index 492ad4e..ba678a2 100644 --- a/src/java.base/share/classes/java/util/Properties.java +++ b/src/java.base/share/classes/java/util/Properties.java -@@ -53,6 +53,9 @@ +@@ -53,6 +53,9 @@ import jdk.internal.util.xml.PropertiesDefaultHandler; import sun.nio.cs.UTF_8; import sun.nio.cs.ISO_8859_1; @@ -13,7 +22,7 @@ Forwarded: no /** * The {@code Properties} class represents a persistent set of * properties. The {@code Properties} can be saved to a stream -@@ -929,7 +932,7 @@ +@@ -929,7 +932,7 @@ class Properties extends Hashtable { if (comments != null) { writeComments(bw, comments); } @@ -22,7 +31,7 @@ Forwarded: no bw.newLine(); synchronized (this) { for (Map.Entry e : entrySet()) { -@@ -1579,4 +1582,27 @@ +@@ -1579,4 +1582,27 @@ class Properties extends Hashtable { } this.map = map; } diff --git a/debian/patches/riscv64.diff b/debian/patches/riscv64.diff index 1ec5fd803..f84a1c22c 100644 --- a/debian/patches/riscv64.diff +++ b/debian/patches/riscv64.diff @@ -1,3 +1,7 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:03 +0800 +Subject: riscv64 + # HG changeset patch # User enevill # Date 1521985117 -3600 @@ -6,7 +10,13 @@ # Parent 1b1de4b263c81853719f6bb0385fe23bc4e35f6c 8199138: Add RISC-V support to Zero Reviewed-by: aph, erikj, ehelin, ihse +--- + make/autoconf/build-aux/config.guess | 7 +++++++ + make/autoconf/build-aux/config.sub | 10 +++++++--- + 2 files changed, 14 insertions(+), 3 deletions(-) +diff --git a/make/autoconf/build-aux/config.guess b/make/autoconf/build-aux/config.guess +index a88a9ad..773f549 100644 --- a/make/autoconf/build-aux/config.guess +++ b/make/autoconf/build-aux/config.guess @@ -28,6 +28,13 @@ @@ -23,9 +33,11 @@ Reviewed-by: aph, erikj, ehelin, ihse DIR=`dirname $0` OUT=`. $DIR/autoconf-config.guess 2> /dev/null` +diff --git a/make/autoconf/build-aux/config.sub b/make/autoconf/build-aux/config.sub +index 3c280ac..9c5d53b 100644 --- a/make/autoconf/build-aux/config.sub +++ b/make/autoconf/build-aux/config.sub -@@ -40,8 +40,8 @@ +@@ -40,8 +40,8 @@ if echo $* | grep pc-msys >/dev/null ; then exit fi @@ -36,7 +48,7 @@ Reviewed-by: aph, erikj, ehelin, ihse . $DIR/autoconf-config.sub "$@" # autoconf-config.sub exits, so we never reach here, but just in # case we do: -@@ -56,6 +56,10 @@ +@@ -56,6 +56,10 @@ while test $# -gt 0 ; do config=`echo $1 | sed 's/^aarch64-/arm-/'` sub_args="$sub_args $config" shift; ;; @@ -47,7 +59,7 @@ Reviewed-by: aph, erikj, ehelin, ihse - ) # Use stdin as input. sub_args="$sub_args $1" shift; break ;; -@@ -68,7 +72,7 @@ +@@ -68,7 +72,7 @@ done result=`. $DIR/autoconf-config.sub $sub_args "$@"` exitcode=$? diff --git a/debian/patches/s390x-opt.diff b/debian/patches/s390x-opt.diff index e5e119a0e..148ccb80b 100644 --- a/debian/patches/s390x-opt.diff +++ b/debian/patches/s390x-opt.diff @@ -1,6 +1,16 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:00 +0800 +Subject: s390x-opt + +--- + make/autoconf/flags-cflags.m4 | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/make/autoconf/flags-cflags.m4 b/make/autoconf/flags-cflags.m4 +index 3c5ba9c..ee55edc 100644 --- a/make/autoconf/flags-cflags.m4 +++ b/make/autoconf/flags-cflags.m4 -@@ -757,6 +757,9 @@ +@@ -757,6 +757,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP], fi elif test "x$FLAGS_CPU" = xs390x; then $1_CFLAGS_CPU="-mbackchain -march=z10" diff --git a/debian/patches/s390x-thread-stack-size.diff b/debian/patches/s390x-thread-stack-size.diff index d7dddb94f..4a1b0f5d8 100644 --- a/debian/patches/s390x-thread-stack-size.diff +++ b/debian/patches/s390x-thread-stack-size.diff @@ -1,3 +1,53 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:00 +0800 +Subject: s390x-thread-stack-size + +--- + make/autoconf/boot-jdk.m4 | 6 ++++++ + make/autoconf/build-performance.m4 | 3 +++ + src/hotspot/os_cpu/linux_zero/globals_linux_zero.hpp | 4 ++++ + 3 files changed, 13 insertions(+) + +diff --git a/make/autoconf/boot-jdk.m4 b/make/autoconf/boot-jdk.m4 +index 0d69a9c..f102069 100644 +--- a/make/autoconf/boot-jdk.m4 ++++ b/make/autoconf/boot-jdk.m4 +@@ -459,6 +459,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS], + fi + UTIL_ADD_JVM_ARG_IF_OK([-Xmx${JVM_MAX_HEAP}M],boot_jdk_jvmargs_big,[$JAVA]) + UTIL_ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA]) ++ if test "$VAR_CPU" = s390x; then ++ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_big,[$JAVA]) ++ fi + + AC_MSG_RESULT([$boot_jdk_jvmargs_big]) + +@@ -488,6 +491,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS], + UTIL_ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA]) + UTIL_ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA]) + UTIL_ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA]) ++ if test "$VAR_CPU" = s390x; then ++ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_small,[$JAVA]) ++ fi + UTIL_ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA]) + + AC_MSG_RESULT([$boot_jdk_jvmargs_small]) +diff --git a/make/autoconf/build-performance.m4 b/make/autoconf/build-performance.m4 +index 7892b40..34c2e5d 100644 +--- a/make/autoconf/build-performance.m4 ++++ b/make/autoconf/build-performance.m4 +@@ -443,6 +443,9 @@ AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC], + MX_VALUE=512 + fi + UTIL_ADD_JVM_ARG_IF_OK([-Xms${MS_VALUE}M -Xmx${MX_VALUE}M],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA]) ++ if test "$VAR_CPU" = s390x; then ++ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA]) ++ fi + AC_SUBST(SJAVAC_SERVER_JAVA_FLAGS) + + AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac], +diff --git a/src/hotspot/os_cpu/linux_zero/globals_linux_zero.hpp b/src/hotspot/os_cpu/linux_zero/globals_linux_zero.hpp +index f1b6d21..0fb0b38 100644 --- a/src/hotspot/os_cpu/linux_zero/globals_linux_zero.hpp +++ b/src/hotspot/os_cpu/linux_zero/globals_linux_zero.hpp @@ -34,7 +34,11 @@ @@ -12,37 +62,3 @@ #else define_pd_global(intx, VMThreadStackSize, 512); #endif // _LP64 ---- a/make/autoconf/boot-jdk.m4 -+++ b/make/autoconf/boot-jdk.m4 -@@ -459,6 +459,9 @@ - fi - UTIL_ADD_JVM_ARG_IF_OK([-Xmx${JVM_MAX_HEAP}M],boot_jdk_jvmargs_big,[$JAVA]) - UTIL_ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA]) -+ if test "$VAR_CPU" = s390x; then -+ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_big,[$JAVA]) -+ fi - - AC_MSG_RESULT([$boot_jdk_jvmargs_big]) - -@@ -488,6 +491,9 @@ - UTIL_ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA]) - UTIL_ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA]) - UTIL_ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA]) -+ if test "$VAR_CPU" = s390x; then -+ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_small,[$JAVA]) -+ fi - UTIL_ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA]) - - AC_MSG_RESULT([$boot_jdk_jvmargs_small]) ---- a/make/autoconf/build-performance.m4 -+++ b/make/autoconf/build-performance.m4 -@@ -443,6 +443,9 @@ - MX_VALUE=512 - fi - UTIL_ADD_JVM_ARG_IF_OK([-Xms${MS_VALUE}M -Xmx${MX_VALUE}M],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA]) -+ if test "$VAR_CPU" = s390x; then -+ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA]) -+ fi - AC_SUBST(SJAVAC_SERVER_JAVA_FLAGS) - - AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac], diff --git a/debian/patches/series b/debian/patches/series index 8886a0081..81eb07570 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -20,7 +20,6 @@ hotspot-disable-exec-shield-workaround.diff atk-wrapper-security.diff dnd-files.diff hotspot-libpath.diff -#m68k-support.diff reproducible-properties-timestamp.diff reproducible-javadoc-timestamp.diff Don-t-optimize-fdlibm-fork-for-Zero-on-linux-sparc-Z.patch diff --git a/debian/patches/system-pcsclite.diff b/debian/patches/system-pcsclite.diff index 5b6df31fe..da8ec6054 100644 --- a/debian/patches/system-pcsclite.diff +++ b/debian/patches/system-pcsclite.diff @@ -1,6 +1,20 @@ +From: openKylin Developers +Date: Tue, 7 May 2024 09:57:58 +0800 +Subject: system-pcsclite + +--- + make/autoconf/lib-bundled.m4 | 39 +++++++++++++++++++++ + make/autoconf/spec.gmk.in | 1 + + make/lib/Lib-java.smartcardio.gmk | 6 ++-- + .../unix/native/libj2pcsc/pcsc_md.c | 7 ++++ + .../unix/native/libj2pcsc/pcsc_md.h | 40 ++++++++++++++++++++++ + 5 files changed, 90 insertions(+), 3 deletions(-) + +diff --git a/make/autoconf/lib-bundled.m4 b/make/autoconf/lib-bundled.m4 +index 75f324f..05f25c9 100644 --- a/make/autoconf/lib-bundled.m4 +++ b/make/autoconf/lib-bundled.m4 -@@ -38,6 +38,7 @@ +@@ -38,6 +38,7 @@ AC_DEFUN_ONCE([LIB_SETUP_BUNDLED_LIBS], LIB_SETUP_ZLIB LIB_SETUP_LCMS LIB_SETUP_HARFBUZZ @@ -8,7 +22,7 @@ ]) ################################################################################ -@@ -304,3 +305,41 @@ +@@ -304,3 +305,41 @@ AC_DEFUN_ONCE([LIB_SETUP_HARFBUZZ], AC_SUBST(HARFBUZZ_CFLAGS) AC_SUBST(HARFBUZZ_LIBS) ]) @@ -50,9 +64,11 @@ + + AC_SUBST(USE_EXTERNAL_PCSCLITE) +]) +diff --git a/make/autoconf/spec.gmk.in b/make/autoconf/spec.gmk.in +index 3787b12..2e081fb 100644 --- a/make/autoconf/spec.gmk.in +++ b/make/autoconf/spec.gmk.in -@@ -780,6 +780,7 @@ +@@ -780,6 +780,7 @@ ENABLE_AOT:=@ENABLE_AOT@ ENABLE_INTREE_EC:=@ENABLE_INTREE_EC@ USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@ USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@ @@ -60,9 +76,11 @@ USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@ LIBZ_CFLAGS:=@LIBZ_CFLAGS@ LIBZ_LIBS:=@LIBZ_LIBS@ +diff --git a/make/lib/Lib-java.smartcardio.gmk b/make/lib/Lib-java.smartcardio.gmk +index a8c6506..e96cfb3 100644 --- a/make/lib/Lib-java.smartcardio.gmk +++ b/make/lib/Lib-java.smartcardio.gmk -@@ -30,12 +30,12 @@ +@@ -30,12 +30,12 @@ include LibCommon.gmk $(eval $(call SetupJdkLibrary, BUILD_LIBJ2PCSC, \ NAME := j2pcsc, \ CFLAGS := $(CFLAGS_JDKLIB), \ @@ -78,6 +96,8 @@ LIBS_windows := winscard.lib, \ )) +diff --git a/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c b/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c +index f344f4a..10ea63d 100644 --- a/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c +++ b/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c @@ -36,6 +36,7 @@ @@ -88,7 +108,7 @@ void *hModule; FPTR_SCardEstablishContext scardEstablishContext; FPTR_SCardConnect scardConnect; -@@ -47,6 +48,7 @@ +@@ -47,6 +48,7 @@ FPTR_SCardListReaders scardListReaders; FPTR_SCardBeginTransaction scardBeginTransaction; FPTR_SCardEndTransaction scardEndTransaction; FPTR_SCardControl scardControl; @@ -96,7 +116,7 @@ /* * Throws a Java Exception by name -@@ -75,7 +77,9 @@ +@@ -75,7 +77,9 @@ void throwIOException(JNIEnv *env, const char *msg) throwByName(env, "java/io/IOException", msg); } @@ -106,7 +126,7 @@ void *fAddress = dlsym(hModule, functionName); if (fAddress == NULL) { char errorMessage[256]; -@@ -85,9 +89,11 @@ +@@ -85,9 +89,11 @@ void *findFunction(JNIEnv *env, void *hModule, char *functionName) { } return fAddress; } @@ -118,12 +138,14 @@ const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL); if (libName == NULL) { throwNullPointerException(env, "PCSC library name is null"); -@@ -141,4 +147,5 @@ +@@ -141,4 +147,5 @@ JNIEXPORT void JNICALL Java_sun_security_smartcardio_PlatformPCSC_initialize #else scardControl = (FPTR_SCardControl) findFunction(env, hModule, "SCardControl132"); #endif // __APPLE__ +#endif } +diff --git a/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h b/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h +index db93c9c..847531a 100644 --- a/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h +++ b/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h @@ -23,6 +23,8 @@ @@ -135,7 +157,7 @@ typedef LONG (*FPTR_SCardEstablishContext)(DWORD dwScope, LPCVOID pvReserved1, LPCVOID pvReserved2, -@@ -111,3 +113,41 @@ +@@ -111,3 +113,41 @@ extern FPTR_SCardListReaders scardListReaders; extern FPTR_SCardBeginTransaction scardBeginTransaction; extern FPTR_SCardEndTransaction scardEndTransaction; extern FPTR_SCardControl scardControl; diff --git a/debian/patches/test-use-ip-address.patch b/debian/patches/test-use-ip-address.patch index dbe0843dc..9d7488525 100644 --- a/debian/patches/test-use-ip-address.patch +++ b/debian/patches/test-use-ip-address.patch @@ -1,12 +1,22 @@ -Description: Use IP address in tests - Ubuntu build machines are not set up for dns. Use IP addresses to get correct test - outcomes. -Author: Vladimir Petko +From: Vladimir Petko +Date: Tue, 7 May 2024 09:58:06 +0800 +Subject: Use IP address in tests + Forwarded: not-needed Last-Update: 2023-03-27 + +Ubuntu build machines are not set up for dns. Use IP addresses to get correct test +outcomes. +--- + test/jdk/java/net/InetAddress/IsReachableViaLoopbackTest.java | 2 +- + test/jdk/java/net/InetAddress/getOriginalHostName.java | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/test/jdk/java/net/InetAddress/IsReachableViaLoopbackTest.java b/test/jdk/java/net/InetAddress/IsReachableViaLoopbackTest.java +index 5364ba7..f9280c3 100644 --- a/test/jdk/java/net/InetAddress/IsReachableViaLoopbackTest.java +++ b/test/jdk/java/net/InetAddress/IsReachableViaLoopbackTest.java -@@ -13,7 +13,7 @@ +@@ -13,7 +13,7 @@ public class IsReachableViaLoopbackTest { public static void main(String[] args) { try { InetAddress addr = InetAddress.getByName("localhost"); @@ -15,9 +25,11 @@ Last-Update: 2023-03-27 if (!addr.isReachable(10000)) throw new RuntimeException("Localhost should always be reachable"); NetworkInterface inf = NetworkInterface.getByInetAddress(addr); +diff --git a/test/jdk/java/net/InetAddress/getOriginalHostName.java b/test/jdk/java/net/InetAddress/getOriginalHostName.java +index bf00b61..4160386 100644 --- a/test/jdk/java/net/InetAddress/getOriginalHostName.java +++ b/test/jdk/java/net/InetAddress/getOriginalHostName.java -@@ -40,7 +40,7 @@ +@@ -40,7 +40,7 @@ public class getOriginalHostName { SharedSecrets.getJavaNetInetAddressAccess(); public static void main(String[] args) throws Exception { diff --git a/debian/patches/update-assertion-for-armhf.patch b/debian/patches/update-assertion-for-armhf.patch index 0860a73f5..550ddf75a 100644 --- a/debian/patches/update-assertion-for-armhf.patch +++ b/debian/patches/update-assertion-for-armhf.patch @@ -1,11 +1,20 @@ -Description: armhf does not support frame unwinding, simplify assertion - os::current_frame() is stubbed out on armhf and this test fails. - Simplify assertion as there is no "from xxxx" output on armhf. -Author: Vladimir Petko +From: Vladimir Petko +Date: Tue, 7 May 2024 09:58:06 +0800 +Subject: armhf does not support frame unwinding, simplify assertion + Bug: https://bugs.openjdk.org/browse/JDK-8305480 + +os::current_frame() is stubbed out on armhf and this test fails. +Simplify assertion as there is no "from xxxx" output on armhf. +--- + test/hotspot/jtreg/runtime/NMT/VirtualAllocCommitMerge.java | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/hotspot/jtreg/runtime/NMT/VirtualAllocCommitMerge.java b/test/hotspot/jtreg/runtime/NMT/VirtualAllocCommitMerge.java +index 7b15845..fa49f3d 100644 --- a/test/hotspot/jtreg/runtime/NMT/VirtualAllocCommitMerge.java +++ b/test/hotspot/jtreg/runtime/NMT/VirtualAllocCommitMerge.java -@@ -321,6 +321,6 @@ +@@ -321,6 +321,6 @@ public class VirtualAllocCommitMerge { public static void checkCommitted(OutputAnalyzer output, long addr, long size, String sizeString) { output.shouldMatch("\\[0x[0]*" + Long.toHexString(addr) + " - 0x[0]*" + Long.toHexString(addr + size) diff --git a/debian/patches/update-permission-test.patch b/debian/patches/update-permission-test.patch index f7a503c4a..037d34ad6 100644 --- a/debian/patches/update-permission-test.patch +++ b/debian/patches/update-permission-test.patch @@ -1,31 +1,21 @@ -Description: Add missing permissions for TestNG 7.7 - TestNG has added more configuration properties, allow them in the minimal policy -Author: Vladimir Petko +From: Vladimir Petko +Date: Tue, 7 May 2024 09:58:06 +0800 +Subject: Add missing permissions for TestNG 7.7 + Last-Update: 2023-03-24 ---- a/test/jdk/java/lang/ProcessHandle/PermissionTest.java -+++ b/test/jdk/java/lang/ProcessHandle/PermissionTest.java -@@ -216,6 +216,7 @@ - permissions.add(new PropertyPermission("testng.mode.dryrun", "read")); - permissions.add(new PropertyPermission("testng.report.xml.name", "read")); - permissions.add(new PropertyPermission("testng.timezone", "read")); -+ permissions.add(new PropertyPermission("testng.default.verbose", "read")); - permissions.add(new ReflectPermission("suppressAccessChecks")); - permissions.add(new FilePermission("<>", "execute")); - } ---- a/test/jdk/java/sql/testng/util/TestPolicy.java -+++ b/test/jdk/java/sql/testng/util/TestPolicy.java -@@ -113,6 +113,8 @@ - permissions.add(new PropertyPermission("testng.mode.dryrun", "read")); - permissions.add(new PropertyPermission("testng.report.xml.name", "read")); - permissions.add(new PropertyPermission("testng.timezone", "read")); -+ permissions.add(new PropertyPermission("testng.default.verbose", "read")); -+ permissions.add(new PropertyPermission("testng.ignore.callback.skip", "read")); - permissions.add(new ReflectPermission("suppressAccessChecks")); - permissions.add(new FilePermission("<>", - "read, write, delete")); + +TestNG has added more configuration properties, allow them in the minimal policy +--- + .../javax/xml/jaxp/libs/jaxp/library/JAXPPolicyManager.java | 10 ++++++++++ + test/jdk/java/lang/ProcessHandle/PermissionTest.java | 1 + + test/jdk/java/sql/testng/util/TestPolicy.java | 2 ++ + 3 files changed, 13 insertions(+) + +diff --git a/test/jaxp/javax/xml/jaxp/libs/jaxp/library/JAXPPolicyManager.java b/test/jaxp/javax/xml/jaxp/libs/jaxp/library/JAXPPolicyManager.java +index 4d05986..c6f1255 100644 --- a/test/jaxp/javax/xml/jaxp/libs/jaxp/library/JAXPPolicyManager.java +++ b/test/jaxp/javax/xml/jaxp/libs/jaxp/library/JAXPPolicyManager.java -@@ -35,6 +35,7 @@ +@@ -37,6 +37,7 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.PropertyPermission; @@ -33,7 +23,7 @@ Last-Update: 2023-03-24 import java.util.Set; import java.util.StringJoiner; -@@ -110,6 +111,15 @@ +@@ -112,6 +113,15 @@ public class JAXPPolicyManager { addPermission(new SecurityPermission("setPolicy")); addPermission(new RuntimePermission("setSecurityManager")); addPermission(new PropertyPermission("test.src", "read")); @@ -49,3 +39,28 @@ Last-Update: 2023-03-24 } /* +diff --git a/test/jdk/java/lang/ProcessHandle/PermissionTest.java b/test/jdk/java/lang/ProcessHandle/PermissionTest.java +index f980b5e..c99b170 100644 +--- a/test/jdk/java/lang/ProcessHandle/PermissionTest.java ++++ b/test/jdk/java/lang/ProcessHandle/PermissionTest.java +@@ -216,6 +216,7 @@ class TestPolicy extends Policy { + permissions.add(new PropertyPermission("testng.mode.dryrun", "read")); + permissions.add(new PropertyPermission("testng.report.xml.name", "read")); + permissions.add(new PropertyPermission("testng.timezone", "read")); ++ permissions.add(new PropertyPermission("testng.default.verbose", "read")); + permissions.add(new ReflectPermission("suppressAccessChecks")); + permissions.add(new FilePermission("<>", "execute")); + } +diff --git a/test/jdk/java/sql/testng/util/TestPolicy.java b/test/jdk/java/sql/testng/util/TestPolicy.java +index 3f10936..12c58f9 100644 +--- a/test/jdk/java/sql/testng/util/TestPolicy.java ++++ b/test/jdk/java/sql/testng/util/TestPolicy.java +@@ -113,6 +113,8 @@ public class TestPolicy extends Policy { + permissions.add(new PropertyPermission("testng.mode.dryrun", "read")); + permissions.add(new PropertyPermission("testng.report.xml.name", "read")); + permissions.add(new PropertyPermission("testng.timezone", "read")); ++ permissions.add(new PropertyPermission("testng.default.verbose", "read")); ++ permissions.add(new PropertyPermission("testng.ignore.callback.skip", "read")); + permissions.add(new ReflectPermission("suppressAccessChecks")); + permissions.add(new FilePermission("<>", + "read, write, delete")); diff --git a/debian/patches/use_clock64_fns_armhf.patch b/debian/patches/use_clock64_fns_armhf.patch index f497f9c8c..b718b4ddc 100644 --- a/debian/patches/use_clock64_fns_armhf.patch +++ b/debian/patches/use_clock64_fns_armhf.patch @@ -1,44 +1,24 @@ -Description: Dynamically link with *64 versions of clock_* functions - On 32-bit archs that implement a 64-bit time_t, clock_* functions - linked via dlsym() should be the *64 versions of them. For example, - on such archs, we should try to link with __clock_gettime64 first - and fallback to linking with clock_gettime if the *64 version is - not available. -Author: Pushkar Kulkarni +From: Pushkar Kulkarni +Date: Tue, 7 May 2024 09:58:07 +0800 +Subject: Dynamically link with *64 versions of clock_* functions + Forwarded: no ---- a/src/hotspot/os/posix/os_posix.cpp -+++ b/src/hotspot/os/posix/os_posix.cpp -@@ -1777,10 +1777,22 @@ - - _clock_gettime = NULL; - -- int (*clock_getres_func)(clockid_t, struct timespec*) = -- (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_getres"); -- int (*clock_gettime_func)(clockid_t, struct timespec*) = -- (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_gettime"); -+ int (*clock_getres_func)(clockid_t, struct timespec*) = NULL; -+ int (*clock_gettime_func)(clockid_t, struct timespec*) = NULL; -+ -+ if (sizeof(long) != sizeof(time_t)) { -+ // typically, 32-bit archs with 64-bit time_t -+ clock_getres_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "__clock_getres64"); -+ clock_gettime_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "__clock_gettime64"); -+ } -+ -+ // Fallback for archs with sizeof(long) == sizeof(time_t), -+ // Also for archs with sizeof(long) != sizeof(time_t), but no *64 clock functions -+ if (clock_getres_func == NULL || clock_gettime_func == NULL) { -+ clock_getres_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_getres"); -+ clock_gettime_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_gettime"); -+ } -+ - if (clock_getres_func != NULL && clock_gettime_func != NULL) { - // We assume that if both clock_gettime and clock_getres support - // CLOCK_MONOTONIC then the OS provides true high-res monotonic clock. + On 32-bit archs that implement a 64-bit time_t, clock_* functions + linked via dlsym() should be the *64 versions of them. For example, + on such archs, we should try to link with __clock_gettime64 first + and fallback to linking with clock_gettime if the *64 version is + not available. +--- + src/hotspot/os/linux/os_linux.cpp | 22 +++++++++++++++++----- + src/hotspot/os/posix/os_posix.cpp | 20 ++++++++++++++++---- + 2 files changed, 33 insertions(+), 9 deletions(-) + +diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp +index 4193f19..cef40d2 100644 --- a/src/hotspot/os/linux/os_linux.cpp +++ b/src/hotspot/os/linux/os_linux.cpp -@@ -1479,10 +1479,22 @@ +@@ -1479,10 +1479,22 @@ void os::Linux::clock_init() { } if (handle) { @@ -65,7 +45,7 @@ Forwarded: no if (clock_getres_func && clock_gettime_func) { // See if monotonic clock is supported by the kernel. Note that some // early implementations simply return kernel jiffies (updated every -@@ -1511,7 +1523,7 @@ +@@ -1511,7 +1523,7 @@ void os::Linux::clock_init() { #ifndef SYS_clock_getres #if defined(X86) || defined(PPC64) || defined(S390) @@ -74,3 +54,34 @@ Forwarded: no #define sys_clock_getres(x,y) ::syscall(SYS_clock_getres, x, y) #else #warning "SYS_clock_getres not defined for this platform, disabling fast_thread_cpu_time" +diff --git a/src/hotspot/os/posix/os_posix.cpp b/src/hotspot/os/posix/os_posix.cpp +index 94beefe..06dac67 100644 +--- a/src/hotspot/os/posix/os_posix.cpp ++++ b/src/hotspot/os/posix/os_posix.cpp +@@ -1777,10 +1777,22 @@ void os::Posix::init(void) { + + _clock_gettime = NULL; + +- int (*clock_getres_func)(clockid_t, struct timespec*) = +- (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_getres"); +- int (*clock_gettime_func)(clockid_t, struct timespec*) = +- (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_gettime"); ++ int (*clock_getres_func)(clockid_t, struct timespec*) = NULL; ++ int (*clock_gettime_func)(clockid_t, struct timespec*) = NULL; ++ ++ if (sizeof(long) != sizeof(time_t)) { ++ // typically, 32-bit archs with 64-bit time_t ++ clock_getres_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "__clock_getres64"); ++ clock_gettime_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "__clock_gettime64"); ++ } ++ ++ // Fallback for archs with sizeof(long) == sizeof(time_t), ++ // Also for archs with sizeof(long) != sizeof(time_t), but no *64 clock functions ++ if (clock_getres_func == NULL || clock_gettime_func == NULL) { ++ clock_getres_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_getres"); ++ clock_gettime_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_gettime"); ++ } ++ + if (clock_getres_func != NULL && clock_gettime_func != NULL) { + // We assume that if both clock_gettime and clock_getres support + // CLOCK_MONOTONIC then the OS provides true high-res monotonic clock. diff --git a/debian/patches/zero-x32.diff b/debian/patches/zero-x32.diff index f6cda31d5..a32f31446 100644 --- a/debian/patches/zero-x32.diff +++ b/debian/patches/zero-x32.diff @@ -1,17 +1,17 @@ ---- a/src/hotspot/os/linux/os_linux.cpp -+++ b/src/hotspot/os/linux/os_linux.cpp -@@ -2019,7 +2019,7 @@ void * os::dll_load(const char *filename - - #if (defined IA32) - static Elf32_Half running_arch_code=EM_386; --#elif (defined AMD64) -+#elif (defined AMD64) || defined(X32) - static Elf32_Half running_arch_code=EM_X86_64; - #elif (defined IA64) - static Elf32_Half running_arch_code=EM_IA_64; +From: openKylin Developers +Date: Tue, 7 May 2024 09:58:02 +0800 +Subject: zero-x32 + +--- + make/autoconf/platform.m4 | 6 ++++++ + src/hotspot/os/linux/os_linux.cpp | 2 +- + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/make/autoconf/platform.m4 b/make/autoconf/platform.m4 +index 5d1d9ef..f6c79d0 100644 --- a/make/autoconf/platform.m4 +++ b/make/autoconf/platform.m4 -@@ -35,6 +35,10 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU +@@ -35,6 +35,10 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU], VAR_CPU_ARCH=x86 VAR_CPU_BITS=64 VAR_CPU_ENDIAN=little @@ -22,7 +22,7 @@ ;; i?86) VAR_CPU=x86 -@@ -546,6 +550,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HEL +@@ -546,6 +550,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER], HOTSPOT_$1_CPU_DEFINE=IA32 elif test "x$OPENJDK_$1_CPU" = xx86_64; then HOTSPOT_$1_CPU_DEFINE=AMD64 @@ -31,3 +31,16 @@ elif test "x$OPENJDK_$1_CPU" = xsparcv9; then HOTSPOT_$1_CPU_DEFINE=SPARC elif test "x$OPENJDK_$1_CPU" = xaarch64; then +diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp +index 0af357e..d54d8ce 100644 +--- a/src/hotspot/os/linux/os_linux.cpp ++++ b/src/hotspot/os/linux/os_linux.cpp +@@ -2011,7 +2011,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + + #if (defined IA32) + static Elf32_Half running_arch_code=EM_386; +-#elif (defined AMD64) ++#elif (defined AMD64) || defined(X32) + static Elf32_Half running_arch_code=EM_X86_64; + #elif (defined IA64) + static Elf32_Half running_arch_code=EM_IA_64;