diff --git a/.abf.yml b/.abf.yml
index 244b349..705ecf2 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,6 +1,7 @@
sources:
- bellsoft-jdk11.0.10+9-linux-aarch64.tar.gz: 6eed6f7cf4167316b2f22ebb5f3119b0869eb554
- bellsoft-jdk11.0.10+9-linux-amd64.tar.gz: 32e0fe99199c9691e616af48355157139c0c8e60
- bellsoft-jdk11.0.10+9-linux-i586.tar.gz: 301b8efbf861f823b8f44cc22385020cf85d4be3
- jdk-updates-jdk11u-jdk-11.0.12+7-4curve-clean.tar.xz: 6453aa42343678f2e4a86362921ff373625f3ed3
+ OpenJDK-17.0.2+8-i686-bin.tar.xz: 97814fcc206b7eab675e447887a7f1d5de88d62a
+ jdk-17.0.4.1_linux-aarch64_bin.tar.gz: 71e443e9ec1e3955b5b3a0df7041117450e8579d
+ jdk-17.0.4.1_linux-x64_bin.tar.gz: 4862b809a2d71cf3ff92639bfeb6aac0c3a92321
+ openjdk-jdk17u-jdk-17.0.6+1.tar.xz: 6b8dad0bc0d9c4956f664aa60e478937594a6029
+ openjdk-jdk17u-jdk-17.0.6+9.tar.xz: 094582b47ccbe9dcaf7e3f83aa7f4fea78adaec4
tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz: c8281ee37b77d535c9c1af86609a531958ff7b34
diff --git a/CheckVendor.java b/CheckVendor.java
index e2101cf..29b296b 100644
--- a/CheckVendor.java
+++ b/CheckVendor.java
@@ -21,8 +21,8 @@ along with this program. If not, see .
public class CheckVendor {
public static void main(String[] args) {
- if (args.length < 3) {
- System.err.println("CheckVendor ");
+ if (args.length < 4) {
+ System.err.println("CheckVendor ");
System.exit(1);
}
@@ -32,6 +32,8 @@ public class CheckVendor {
String expectedVendorURL = args[1];
String vendorBugURL = System.getProperty("java.vendor.url.bug");
String expectedVendorBugURL = args[2];
+ String vendorVersionString = System.getProperty("java.vendor.version");
+ String expectedVendorVersionString = args[3];
if (!expectedVendor.equals(vendor)) {
System.err.printf("Invalid vendor %s, expected %s\n",
@@ -46,12 +48,18 @@ public class CheckVendor {
}
if (!expectedVendorBugURL.equals(vendorBugURL)) {
- System.err.printf("Invalid vendor bug URL%s, expected %s\n",
+ System.err.printf("Invalid vendor bug URL %s, expected %s\n",
vendorBugURL, expectedVendorBugURL);
System.exit(4);
}
- System.err.printf("Vendor information verified as %s, %s, %s\n",
- vendor, vendorURL, vendorBugURL);
+ if (!expectedVendorVersionString.equals(vendorVersionString)) {
+ System.err.printf("Invalid vendor version string %s, expected %s\n",
+ vendorVersionString, expectedVendorVersionString);
+ System.exit(5);
+ }
+
+ System.err.printf("Vendor information verified as %s, %s, %s, %s\n",
+ vendor, vendorURL, vendorBugURL, vendorVersionString);
}
}
diff --git a/JDK-8186780.patch b/JDK-8186780.patch
deleted file mode 100644
index 1463527..0000000
--- a/JDK-8186780.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-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 c97d918..b949bfa 100644
---- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp
-+++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp
-@@ -98,13 +98,8 @@ address os::current_stack_pointer() {
- register void *esp;
- __asm__("mov %%" SPELL_REG_SP ", %0":"=r"(esp));
- return (address) ((char*)esp + sizeof(long)*2);
--#elif defined(__clang__)
-- intptr_t* esp;
-- __asm__ __volatile__ ("mov %%" SPELL_REG_SP ", %0":"=r"(esp):);
-- return (address) esp;
- #else
-- register void *esp __asm__ (SPELL_REG_SP);
-- return (address) esp;
-+ return (address)__builtin_frame_address(0);
- #endif
- }
-
diff --git a/JDK-8211029.patch b/JDK-8211029.patch
deleted file mode 100644
index 6848fd8..0000000
--- a/JDK-8211029.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-# HG changeset patch
-# User aph
-# Date 1538411387 14400
-# Node ID 7cbb77546f87eaa3d9b96e1bcccbddebafbde1e4
-# Parent 5bdf60cd0ed01c9d57111be3e72d6383fdd60d74
-8211333: AArch64: Fix another build failure after JDK-8211029
-Reviewed-by: shade, aph
-Contributed-by: pengfei.li@arm.com
-
-diff -r 5bdf60cd0ed0 -r 7cbb77546f87 src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
---- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Mon Oct 01 16:41:10 2018 +0200
-+++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Mon Oct 01 12:29:47 2018 -0400
-@@ -1505,7 +1505,7 @@
- #ifndef PRODUCT
- {
- char buffer[64];
-- snprintf(buffer, sizeof(buffer), "0x%"PRIX64, imm64);
-+ snprintf(buffer, sizeof(buffer), "0x%" PRIX64, imm64);
- block_comment(buffer);
- }
- #endif
-@@ -1568,7 +1568,7 @@
- #ifndef PRODUCT
- {
- char buffer[64];
-- snprintf(buffer, sizeof(buffer), "0x%"PRIX64, imm64);
-+ snprintf(buffer, sizeof(buffer), "0x%" PRIX64, imm64);
- block_comment(buffer);
- }
- #endif
-@@ -1681,7 +1681,7 @@
- #ifndef PRODUCT
- {
- char buffer[64];
-- snprintf(buffer, sizeof(buffer), "0x%"PRIX32, imm32);
-+ snprintf(buffer, sizeof(buffer), "0x%" PRIX32, imm32);
- block_comment(buffer);
- }
- #endif
-
diff --git a/JDK-8211170.patch b/JDK-8211170.patch
deleted file mode 100644
index aca9dc6..0000000
--- a/JDK-8211170.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-# HG changeset patch
-# User aph
-# Date 1537981860 -3600
-# Node ID 8f0f7f2ae20bf68a114da6a6fdb09aa8a6c5d1de
-# Parent ec4c3c287ca718e279be0d4c0956b375cea16afe
-8211170: AArch64: Warnings in C1 and template interpreter
-Reviewed-by: adinn
-
-diff -r ec4c3c287ca7 -r 8f0f7f2ae20b src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp
---- a/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp Tue Sep 18 20:49:44 2018 +0200
-+++ b/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp Wed Sep 26 18:11:00 2018 +0100
-@@ -1709,6 +1709,7 @@
- default: ShouldNotReachHere();
- }
- break;
-+ default:
- ShouldNotReachHere();
- }
- } else {
-diff -r ec4c3c287ca7 -r 8f0f7f2ae20b src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp
---- a/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp Tue Sep 18 20:49:44 2018 +0200
-+++ b/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp Wed Sep 26 18:11:00 2018 +0100
-@@ -584,8 +584,8 @@
- case doubleTag: do_ArithmeticOp_FPU(x); return;
- case longTag: do_ArithmeticOp_Long(x); return;
- case intTag: do_ArithmeticOp_Int(x); return;
-+ default: ShouldNotReachHere(); return;
- }
-- ShouldNotReachHere();
- }
-
- // _ishl, _lshl, _ishr, _lshr, _iushr, _lushr
-@@ -792,9 +792,13 @@
- __ abs(value.result(), dst, LIR_OprFact::illegalOpr);
- break;
- }
-+ default:
-+ ShouldNotReachHere();
- }
- break;
- }
-+ default:
-+ ShouldNotReachHere();
- }
- }
-
-diff -r ec4c3c287ca7 -r 8f0f7f2ae20b src/hotspot/cpu/aarch64/templateTable_aarch64.cpp
---- a/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp Tue Sep 18 20:49:44 2018 +0200
-+++ b/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp Wed Sep 26 18:11:00 2018 +0100
-@@ -2329,6 +2329,7 @@
- switch (code) {
- case Bytecodes::_nofast_getfield: code = Bytecodes::_getfield; break;
- case Bytecodes::_nofast_putfield: code = Bytecodes::_putfield; break;
-+ default: break;
- }
-
- assert(byte_no == f1_byte || byte_no == f2_byte, "byte_no out of range");
-@@ -2953,6 +2954,7 @@
- case Bytecodes::_fast_dputfield: __ pop_d(); break;
- case Bytecodes::_fast_fputfield: __ pop_f(); break;
- case Bytecodes::_fast_lputfield: __ pop_l(r0); break;
-+ default: break;
- }
- __ bind(L2);
- }
-
diff --git a/NEWS b/NEWS
index 26c3f66..231f074 100644
--- a/NEWS
+++ b/NEWS
@@ -3,2157 +3,2054 @@ Key:
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
-New in release OpenJDK 11.0.12 (2021-07-20):
-=============================================
+New in release OpenJDK 17.0.6 (2023-01-17):
+===========================================
Live versions of these release notes can be found at:
- * https://bitly.com/openjdk11012
- * https://builds.shipilev.net/backports-monitor/release-notes-11.0.12.txt
+ * https://bitly.com/openjdk1706
+ * https://builds.shipilev.net/backports-monitor/release-notes-17.0.6.html
+
+* Other changes
+ - JDK-6829250: Reg test: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java fails in Windows
+ - JDK-7001973: java/awt/Graphics2D/CopyAreaOOB.java fails
+ - JDK-7188098: TEST_BUG: closed/javax/sound/midi/Synthesizer/Receiver/bug6186488.java fails
+ - JDK-8030121: java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java fails
+ - JDK-8129827: [TEST_BUG] Test java/awt/Robot/RobotWheelTest/RobotWheelTest.java fails
+ - JDK-8159599: [TEST_BUG] java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java
+ - JDK-8169187: [macosx] Aqua: java/awt/image/multiresolution/MultiresolutionIconTest.java
+ - JDK-8210558: serviceability/sa/TestJhsdbJstackLock.java fails to find '^\s+- waiting to lock <0x[0-9a-f]+> \(a java\.lang\.Class ...'
+ - JDK-8222323: ChildAlwaysOnTopTest.java fails with "RuntimeException: Failed to unset alwaysOnTop"
+ - JDK-8233557: [TESTBUG] DoubleClickTitleBarTest.java fails on macOs
+ - JDK-8233558: [TESTBUG] WindowOwnedByEmbeddedFrameTest.java fails on macos
+ - JDK-8233648: [TESTBUG] DefaultMenuBarTest.java failing on macos
+ - JDK-8244670: convert clhsdb "whatis" command from javascript to java
+ - JDK-8251466: test/java/io/File/GetXSpace.java fails on Windows with mapped network drives.
+ - JDK-8256811: Delayed/missed jdwp class unloading events
+ - JDK-8257722: Improve "keytool -printcert -jarfile" output
+ - JDK-8262721: Add Tests to verify single iteration loops are properly optimized
+ - JDK-8266082: AssertionError in Annotate.fromAnnotations with -Xdoclint
+ - JDK-8267138: Stray suffix when starting gtests via GTestWrapper.java
+ - JDK-8268033: compiler/intrinsics/bmi/verifycode/BzhiTestI2L.java fails with "fatal error: Not compilable at tier 3: CodeBuffer overflow"
+ - JDK-8268297: jdk/jfr/api/consumer/streaming/TestLatestEvent.java times out
+ - JDK-8268779: ZGC: runtime/InternalApi/ThreadCpuTimesDeadlock.java#id1 failed with "OutOfMemoryError: Java heap space"
+ - JDK-8269029: compiler/codegen/TestCharVect2.java fails for client VMs
+ - JDK-8269571: NMT should print total malloc bytes and invocation count
+ - JDK-8269743: test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/jni/nativeAndMH/Test.java crash with small heap (-Xmx50m)
+ - JDK-8270609: [TESTBUG] java/awt/print/Dialog/DialogCopies.java does not show instruction
+ - JDK-8270848: Redundant unsafe opmask register allocation in some instruction patterns.
+ - JDK-8270947: AArch64: C1: use zero_words to initialize all objects
+ - JDK-8271015: Split cds/SharedBaseAddress.java test into smaller parts
+ - JDK-8271956: AArch64: C1 build failed after JDK-8270947
+ - JDK-8272094: compiler/codecache/TestStressCodeBuffers.java crashes with "failed to allocate space for trampoline"
+ - JDK-8272123: Problem list 4 jtreg tests which regularly fail on macos-aarch64
+ - JDK-8272776: NullPointerException not reported
+ - JDK-8272791: java -XX:BlockZeroingLowLimit=1 crashes after 8270947
+ - JDK-8273043: [TEST_BUG] Automate NimbusJTreeSelTextColor.java
+ - JDK-8273236: keytool does not accurately warn about algorithms that are disabled but have additional constraints
+ - JDK-8273553: sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368
+ - JDK-8273578: javax/swing/JMenu/4515762/bug4515762.java fails on macOS 12
+ - JDK-8273881: Metaspace: test repeated deallocations
+ - JDK-8274032: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java & show test UI
+ - JDK-8274160: java/awt/Window/ShapedAndTranslucentWindows/Common.java delay is too high
+ - JDK-8274296: Update or Problem List tests which may fail with uiScale=2 on macOS
+ - JDK-8274563: jfr/event/oldobject/TestClassLoaderLeak.java fails when GC cycles are not happening
+ - JDK-8275170: Some jtreg sound tests should be marked with sound keyword
+ - JDK-8275234: java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java is entered twice in ProblemList
+ - JDK-8275535: Retrying a failed authentication on multiple LDAP servers can lead to users blocked
+ - JDK-8276108: Wrong instruction generation in aarch64 backend
+ - JDK-8276904: Optional.toString() is unnecessarily expensive
+ - JDK-8277092: TestMetaspaceAllocationMT2.java#ndebug-default fails with "RuntimeException: Committed seems high: NNNN expected at most MMMM"
+ - JDK-8277346: ProblemList 7 serviceability/sa tests on macosx-x64
+ - JDK-8277351: ProblemList runtime/jni/checked/TestPrimitiveArrayCriticalWithBadParam.java on macosx-x64
+ - JDK-8277358: Accelerate CRC32-C
+ - JDK-8277411: C2 fast_unlock intrinsic on AArch64 has unnecessary ownership check
+ - JDK-8277576: ProblemList runtime/ErrorHandling/CreateCoredumpOnCrash.java on macosx-X64
+ - JDK-8277577: ProblemList compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java on linux-aarch64
+ - JDK-8277578: ProblemList applications/jcstress/acqrel.java on linux-aarch64
+ - JDK-8277881: Missing SessionID in TLS1.3 resumption in compatibility mode
+ - JDK-8277928: Fix compilation on macosx-aarch64 after 8276108
+ - JDK-8279066: entries.remove(entry) is useless in PKCS12KeyStore
+ - JDK-8279398: jdk/jfr/api/recording/time/TestTimeMultiple.java failed with "RuntimeException: getStopTime() > afterStop"
+ - JDK-8279662: serviceability/sa/ClhsdbScanOops.java can fail due to unexpected GC
+ - JDK-8280124: Reduce branches decoding latin-1 chars from UTF-8 encoded bytes
+ - JDK-8280234: AArch64 "core" variant does not build after JDK-8270947
+ - JDK-8280511: AArch64: Combine shift and negate to a single instruction
+ - JDK-8280554: resourcehogs/serviceability/sa/ClhsdbRegionDetailsScanOopsForG1.java can fail if GC is triggered
+ - JDK-8280555: serviceability/sa/TestObjectMonitorIterate.java is failing due to ObjectMonitor referencing a null Object
+ - JDK-8280872: Reorder code cache segments to improve code density
+ - JDK-8280948: Write a regression test for JDK-4659800
+ - JDK-8281296: Create a regression test for JDK-4515999
+ - JDK-8282049: AArch64: Use ZR for integer zero immediate volatile stores
+ - JDK-8282276: Problem list failing two Robot Screen Capture tests
+ - JDK-8282347: AARCH64: Untaken branch in has_negatives stub
+ - JDK-8282402: Create a regression test for JDK-4666101
+ - JDK-8282528: AArch64: Incorrect replicate2L_zero rule
+ - JDK-8282642: vmTestbase/gc/gctests/LoadUnloadGC2/LoadUnloadGC2.java fails intermittently with exit code 1
+ - JDK-8282730: LdapLoginModule throw NPE from logout method after login failure
+ - JDK-8282777: Create a Regression test for JDK-4515031
+ - JDK-8282857: Create a regression test for JDK-4702690
+ - JDK-8283059: Uninitialized warning in check_code.c with GCC 11.2
+ - JDK-8283298: Make CodeCacheSegmentSize a product flag
+ - JDK-8283353: compiler/c2/cr6865031/Test.java and compiler/runtime/Test6826736.java fails on x86_32
+ - JDK-8283383: [macos] a11y : Screen magnifier shows extra characters (0) at the end JButton accessibility name
+ - JDK-8284681: compiler/c2/aarch64/TestFarJump.java fails with "RuntimeException: for CodeHeap < 250MB the far jump is expected to be encoded with a single branch instruction"
+ - JDK-8284690: [macos] VoiceOver : Getting java.lang.IllegalArgumentException: Invalid location on Editable JComboBox
+ - JDK-8284732: FFI_GO_CLOSURES macro not defined but required for zero build on Mac OS X
+ - JDK-8284752: Zero does not build on Mac OS X due to missing os::current_thread_enable_wx implementation
+ - JDK-8284771: java/util/zip/CloseInflaterDeflaterTest.java failed with "AssertionError: Expected IOException to be thrown, but nothing was thrown"
+ - JDK-8284892: java/net/httpclient/http2/TLSConnection.java fails intermittently
+ - JDK-8284980: Test vmTestbase/nsk/stress/except/except010.java times out with -Xcomp -XX:+DeoptimizeALot
+ - JDK-8285305: Create an automated test for JDK-4495286
+ - JDK-8285373: Create an automated test for JDK-4702233
+ - JDK-8285612: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ClippedImages.java
+ - JDK-8285687: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PageRangesDlgTest.java
+ - JDK-8285698: Create a test to check the focus stealing of JPopupMenu from JComboBox
+ - JDK-8285836: sun/net/www/http/KeepAliveCache/KeepAliveProperty.java failed with "RuntimeException: Failed in server"
+ - JDK-8286263: compiler/c1/TestPinnedIntrinsics.java failed with "RuntimeException: testCurrentTimeMillis failed with -3"
+ - JDK-8286313: [macos] Voice over reads the boolean value as null in the JTable
+ - JDK-8286452: The array length of testSmallConstArray should be small and const
+ - JDK-8286460: Remove dependence on JAR filename in CDS tests
+ - JDK-8286551: JDK-8286460 causes tests to fail to compile in Tier2
+ - JDK-8286663: Resolve IDE warnings in WTrayIconPeer and SystemTray
+ - JDK-8286772: java/awt/dnd/DropTargetInInternalFrameTest/DropTargetInInternalFrameTest.html times out and fails in Windows
+ - JDK-8287076: Document.normalizeDocument() produces different results
+ - JDK-8287349: AArch64: Merge LDR instructions to improve C1 OSR performance
+ - JDK-8287425: Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path
+ - JDK-8287609: macOS: SIGSEGV at [CoreFoundation] CFArrayGetCount / sun.font.CFont.getTableBytesNative
+ - JDK-8287826: javax/accessibility/4702233/AccessiblePropertiesTest.java fails to compile
+ - JDK-8288302: Shenandoah: SIGSEGV in vm maybe related to jit compiling xerces
+ - JDK-8288377: [REDO] DST not applying properly with zone id offset set with TZ env variable
+ - JDK-8288445: AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding
+ - JDK-8288651: CDS test HelloUnload.java should not use literal string as ClassLoader name
+ - JDK-8289044: ARM32: missing LIR_Assembler::cmove metadata type support
+ - JDK-8289146: containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output
+ - JDK-8289257: Some custom loader tests failed due to symbol refcount not decremented
+ - JDK-8289559: java/awt/a11y/AccessibleJPopupMenuTest.java test fails with java.lang.NullPointerException
+ - JDK-8289562: Change bugs.java.com and bugreport.java.com URL's to https
+ - JDK-8290207: Missing notice in dom.md
+ - JDK-8290209: jcup.md missing additional text
+ - JDK-8290451: Incorrect result when switching to C2 OSR compilation from C1
+ - JDK-8290529: C2: assert(BoolTest(btest).is_canonical()) failure
+ - JDK-8290532: Adjust PKCS11Exception and handle more PKCS11 error codes
+ - JDK-8290687: serviceability/sa/TestClassDump.java could leave files owned by root on macOS
+ - JDK-8290705: StringConcat::validate_mem_flow asserts with "unexpected user: StoreI"
+ - JDK-8290711: assert(false) failed: infinite loop in PhaseIterGVN::optimize
+ - JDK-8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses
+ - JDK-8290908: misc tests fail: assert(!thread->owns_locks()) failed: must release all locks when leaving VM
+ - JDK-8291456: com/sun/jdi/ClassUnloadEventTest.java failed with: Wrong number of class unload events: expected 10 got 4
+ - JDK-8291459: JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*)
+ - JDK-8291599: Assertion in PhaseIdealLoop::skeleton_predicate_has_opaque after JDK-8289127
+ - JDK-8291650: Add delay to ClassUnloadEventTest before exiting to give time for JVM to send all events before VMDeath
+ - JDK-8291775: C2: assert(r != __null && r->is_Region()) failed: this phi must have a region
+ - JDK-8292083: Detected container memory limit may exceed physical machine memory
+ - JDK-8292158: AES-CTR cipher state corruption with AVX-512
+ - JDK-8292385: assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out
+ - JDK-8292541: [Metrics] Reported memory limit may exceed physical machine memory
+ - JDK-8292586: simplify cleanups in NTLMAuthSequence getCredentialsHandle
+ - JDK-8292682: Code change of JDK-8282730 not updated to reflect CSR update
+ - JDK-8292778: EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free
+ - JDK-8292816: GPL Classpath exception missing from assemblyprefix.h
+ - JDK-8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures
+ - JDK-8292879: com/sun/jdi/ClassUnloadEventTest.java failed due to classes not unloading
+ - JDK-8292880: Improve debuggee logging for com/sun/jdi/ClassUnloadEventTest.java
+ - JDK-8292888: Bump update version for OpenJDK: jdk-17.0.6
+ - JDK-8292899: CustomTzIDCheckDST.java testcase failed on AIX platform
+ - JDK-8292903: enhance round_up_power_of_2 assertion output
+ - JDK-8293044: C1: Missing access check on non-accessible class
+ - JDK-8293232: Fix race condition in pkcs11 SessionManager
+ - JDK-8293319: [C2 cleanup] Remove unused other_path arg in Parse::adjust_map_after_if
+ - JDK-8293472: Incorrect container resource limit detection if manual cgroup fs mounts present
+ - JDK-8293489: Accept CAs with BasicConstraints without pathLenConstraint
+ - JDK-8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts
+ - JDK-8293578: Duplicate ldc generated by javac
+ - JDK-8293657: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 failed with "SSLHandshakeException: Remote host terminated the handshake"
+ - JDK-8293659: Improve UnsatisfiedLinkError error message to include dlopen error details
+ - JDK-8293672: Update freetype md file
+ - JDK-8293701: jdeps InverseDepsAnalyzer runs into NoSuchElementException: No value present
+ - JDK-8293808: mscapi destroyKeyContainer enhance KeyStoreException: Access is denied exception
+ - JDK-8293816: CI: ciBytecodeStream::get_klass() is not consistent
+ - JDK-8293826: Closed test fails after JDK-8276108 on aarch64
+ - JDK-8293828: JFR: jfr/event/oldobject/TestClassLoaderLeak.java still fails when GC cycles are not happening
+ - JDK-8293891: gc/g1/mixedgc/TestOldGenCollectionUsage.java (still) assumes that GCs take 1ms minimum
+ - JDK-8293998: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
+ - JDK-8294357: (tz) Update Timezone Data to 2022d
+ - JDK-8294578: [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode
+ - JDK-8294740: Add cgroups keyword to TestDockerBasic.java
+ - JDK-8294837: unify Windows 2019 version check in os_windows and java_props_md
+ - JDK-8294840: langtools OptionalDependencyTest.java use File.pathSeparator
+ - JDK-8295173: (tz) Update Timezone Data to 2022e
+ - JDK-8295288: Some vm_flags tests associate with a wrong BugID
+ - JDK-8295412: support latest VS2022 MSC_VER in abstract_vm_version.cpp
+ - JDK-8295429: Update harfbuzz md file
+ - JDK-8295469: S390X: Optimized builds are broken
+ - JDK-8295641: Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev
+
+New in release OpenJDK 17.0.5 (2022-10-18):
+===========================================
+Live versions of these release notes can be found at:
+ * https://bitly.com/openjdk1705
+ * https://builds.shipilev.net/backports-monitor/release-notes-17.0.5.html
* Security fixes
- - JDK-8256157: Improve bytecode assembly
- - JDK-8256491: Better HTTP transport
- - JDK-8258432, CVE-2021-2341: Improve file transfers
- - JDK-8260453: Improve Font Bounding
- - JDK-8260960: Signs of jarsigner signing
- - JDK-8260967, CVE-2021-2369: Better jar file validation
- - JDK-8262380: Enhance XML processing passes
- - JDK-8262403: Enhanced data transfer
- - JDK-8262410: Enhanced rules for zones
- - JDK-8262477: Enhance String Conclusions
- - JDK-8262967: Improve Zip file support
- - JDK-8264066, CVE-2021-2388: Enhance compiler validation
- - JDK-8264079: Improve abstractions
- - JDK-8264460: Improve NTLM support
+ - JDK-8282252: Improve BigInteger/Decimal validation
+ - JDK-8285662: Better permission resolution
+ - JDK-8286077, CVE-2022-21618: Wider MultiByte conversions
+ - JDK-8286511: Improve macro allocation
+ - JDK-8286519: Better memory handling
+ - JDK-8286526, CVE-2022-21619: Improve NTLM support
+ - JDK-8286910, CVE-2022-21624: Improve JNDI lookups
+ - JDK-8286918, CVE-2022-21628: Better HttpServer service
+ - JDK-8287446: Enhance icon presentations
+ - JDK-8288508: Enhance ECDSA usage
+ - JDK-8289366, CVE-2022-39399: Improve HTTP/2 client usage
+ - JDK-8289853: Update HarfBuzz to 4.4.1
+ - JDK-8290334: Update FreeType to 2.12.1
* Other changes
- - JDK-6847157: java.lang.NullPointerException: HDC for component at sun.java2d.loops.Blit.Blit
- - JDK-7106851: Test should not use System.exit
- - JDK-8073446: TimeZone getOffset API does not return a dst offset between years 2038-2137
- - JDK-8076190: Customizing the generation of a PKCS12 keystore
- - JDK-8153005: Upgrade the default PKCS12 encryption/MAC algorithms
- - JDK-8171303: sun/java2d/pipe/InterpolationQualityTest.java fails on Windows & Linux
- - JDK-8177068: incomplete classpath causes NPE in Flow
- - JDK-8185734: [Windows] Structured Exception Catcher missing around gtest execution
- - JDK-8187450: JNI local refs exceeds capacity warning in NetworkInterface::getAll
- - JDK-8190763: Class cast exception on (CompoundEdit) UndoableEditEvent.getEdit()
- - JDK-8195841: PNGImageReader.readNullTerminatedString() doesnt check for non-null terminated strings with length equal to maxLen
- - JDK-8196100: javax/swing/text/JTextComponent/5074573/bug5074573.java fails
- - JDK-8199646: JShell tests: jdk/jshell/FailOverDirectExecutionControlTest.java failed with java.lang.UnsupportedOperationException
- - JDK-8206925: Support the certificate_authorities extension
- - JDK-8207160: ClassReader::adjustMethodParams can potentially return null if the args list is empty
- - JDK-8207247: AARCH64: Enable Minimal and Client VM builds
- - JDK-8207404: MulticastSocket tests failing on AIX
- - JDK-8207779: Method::is_valid_method() compares 'this' with NULL
- - JDK-8208061: runtime/LoadClass/TestResize.java fails with "Load factor too high" when running in CDS mode.
- - JDK-8209459: TestSHA512MultiBlockIntrinsics failed on AArch64
- - JDK-8210443: Migrate Locale matching tests to JDK Repo.
- - JDK-8213231: ThreadSnapshot::_threadObj can become stale
- - JDK-8213483: ARM32: runtime/ErrorHandling/ShowRegistersOnAssertTest.java jtreg test fail
- - JDK-8213725: JShell NullPointerException due to class file with unexpected package
- - JDK-8213794: ARM32: disable TypeProfiling, CriticalJNINatives, Serviceablity tests for ARM32
- - JDK-8213845: ARM32: Interpreter doesn't call result handler after native calls
- - JDK-8214128: ARM32: wrong stack alignment on Deoptimization::unpack_frames
- - JDK-8214512: ARM32: Jtreg test compiler/c2/Test8062950.java fails on ARM
- - JDK-8214854: JDWP: Unforseen output truncation in logging
- - JDK-8214922: Add vectorization support for fmin/fmax
- - JDK-8215009: GCC 8 compilation error in libjli
- - JDK-8216184: CDS/appCDS tests failed on Windows due to long path to a classlist file
- - JDK-8216259: AArch64: Vectorize Adler32 intrinsics
- - JDK-8216314: SIGILL in CodeHeapState::print_names()
- - JDK-8217348: assert(thread->is_Java_thread()) failed: just checking
- - JDK-8217465: [REDO] - Optimize CodeHeap Analytics
- - JDK-8217561: X86: Add floating-point Math.min/max intrinsics
- - JDK-8217918: C2: -XX:+AggressiveUnboxing is broken
- - JDK-8218458: [TESTBUG] runtime/NMT/CheckForProperDetailStackTrace.java fails with Expected stack trace missing from output
- - JDK-8219142: Remove unused JIMAGE_ResourcePath
- - JDK-8219586: CodeHeap State Analytics processes dead nmethods
- - JDK-8220074: Clean up GCC 8.3 errors in LittleCMS
- - JDK-8220407: compiler/intrinsics/math/TestFpMinMaxIntrinsics.java timedout
- - JDK-8222302: [TESTBUG]test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java fails on any other CPU
- - JDK-8222412: AARCH64: multiple instructions encoding issues
- - JDK-8223020: aarch64: expand minI_rReg and maxI_rReg patterns into separate instructions
- - JDK-8223444: Improve CodeHeap Free Space Management
- - JDK-8223504: Improve performance of forall loops by better inlining of "iterator()" methods
- - JDK-8223667: ASAN build broken
- - JDK-8225081: Remove Telia Company CA certificate expiring in April 2021
- - JDK-8225116: Test OwnedWindowsLeak.java intermittently fails
- - JDK-8225438: javax/net/ssl/TLSCommon/TestSessionLocalPrincipal.java failed with Read timed out
- - JDK-8225756: [testbug] compiler/loopstripmining/CheckLoopStripMining.java sets too short a SafepointTimeoutDelay
- - JDK-8226374: Restrict TLS signature schemes and named groups
- - JDK-8226627: assert(t->singleton()) failed: must be a constant
- - JDK-8226721: Missing intrinsics for Math.ceil, floor, rint
- - JDK-8227080: (fs) Files.newInputStream(...).skip(n) is slow
- - JDK-8227222: vmTestbase/jit/FloatingPoint/gen_math/Loops04/Loops04.java failed XMM register should be 0-15
- - JDK-8227609: (fs) Files.newInputStream(...).skip(n) should allow skipping beyond file size
- - JDK-8230428: Cleanup dead CastIP node code in formssel.cpp
- - JDK-8231460: Performance issue (CodeHeap) with large free blocks
- - JDK-8231713: x86_32 build failures after JDK-8226721 (Missing intrinsics for Math.ceil, floor, rint)
- - JDK-8231841: AArch64: debug.cpp help() is missing an AArch64 line for pns
- - JDK-8232084: HotSpot build failed with GCC 9.2.1
- - JDK-8232591: AArch64: Add missing match rules for smaddl, smsubl and smnegl
- - JDK-8233185: HttpServer.stop() blocks indefinitely when called on dispatch thread
- - JDK-8233787: Break cycle in vm_version* includes
- - JDK-8233948: AArch64: Incorrect mapping between OptoReg and VMReg for high 64 bits of Vector Register
- - JDK-8234355: Buffer overflow in jcmd GC.class_stats due to too many classes
- - JDK-8235368: Update BCEL to Version 6.4.1
- - JDK-8236859: WebSocket over authenticating proxy fails with NPE
- - JDK-8236992: AArch64: remove redundant load_klass in itable stub
- - JDK-8237743: test/langtools/jdk/jshell/FailOverExecutionControlTest.java fails No ExecutionControlProvider with name 'nonExistent' and parameter keys: []
- - JDK-8237804: sun/security/mscapi tests fail with "Key pair not generated, alias already exists"
- - JDK-8238175: CTW: Class.getDeclaredMethods fails with assert(k->is_subclass_of(SystemDictionary::Throwable_klass())) failed: invalid exception class
- - JDK-8238567: SoftMainMixer.processAudioBuffers(): Wrong handling of stoppedMixers
- - JDK-8238812: assert(false) failed: bad AD file
- - JDK-8239312: [macos] javax/swing/JFrame/NSTexturedJFrame/NSTexturedJFrame.java
- - JDK-8239386: handle ContendedPaddingWidth in vm_version_aarch64
- - JDK-8239536: Can't use `java.util.List` object after importing `java.awt.List`
- - JDK-8240487: Cleanup whitespace in .cc, .hh, .m, and .mm files
- - JDK-8240848: ArrayIndexOutOfBoundsException buf for TextCallbackHandler
- - JDK-8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version
- - JDK-8241087: Build failure with VS 2019 (16.5.0) due to C2039 and C2873
- - JDK-8241101: [s390] jtreg test failure after JDK-8238696: not conformant features string
- - JDK-8241248: NullPointerException in sun.security.ssl.HKDF.extract(HKDF.java:93)
- - JDK-8241372: Several test failures due to javax.net.ssl.SSLException: Connection reset
- - JDK-8241475: AArch64: Add missing support for PopCountVI node
- - JDK-8241829: Cleanup the code for PrinterJob on windows
- - JDK-8241960: The SHA3 message digests impl of SUN provider are not thread safe after cloned
- - JDK-8242010: Upgrade IANA Language Subtag Registry to Version 2020-04-01
- - JDK-8242429: Better implementation for sign extract
- - JDK-8242557: Add length limit for strings in PNGImageWriter
- - JDK-8242919: Paste locks up jshell
- - JDK-8243155: AArch64: Add support for SqrtVF
- - JDK-8243240: AArch64: Add support for MulVB
- - JDK-8243452: JFR: Could not create chunk in repository with over 200 recordings
- - JDK-8243559: Remove root certificates with 1024-bit keys
- - JDK-8243597: AArch64: Add support for integer vector abs
- - JDK-8244031: HttpClient should have more tests for HEAD requests
- - JDK-8244205: HTTP/2 tunnel connections through proxy may be reused regardless of which proxy is selected
- - JDK-8244847: Linux/PPC: runtime/CompressedOops/CompressedClassPointers: smallHeapTest fails
- - JDK-8245511: G1 adaptive IHOP does not account for reclamation of humongous objects by young GC
- - JDK-8246274: G1 old gen allocation tracking is not in a separate class
- - JDK-8247354: [aarch64] PopFrame causes assert(oopDesc::is_oop(obj)) failed: not an oop
- - JDK-8247408: IdealGraph bit check expression canonicalization
- - JDK-8247432: Update IANA Language Subtag Registry to Version 2020-09-29
- - JDK-8247438: JShell: When FailOverExecutionControlProvider fails the proximal cause is not shown
- - JDK-8247753: UIManager.getSytemLookAndFeelClassName() returns wrong value on Fedora 32
- - JDK-8248043: Need to eliminate excessive i2l conversions
- - JDK-8248411: [aarch64] Insufficient error handling when CodeBuffer is exhausted
- - JDK-8248568: compiler/c2/TestBit.java failed: test missing from stdout/stderr
- - JDK-8248870: AARCH64: I2L/L2I conversions can be skipped for masked positive values
- - JDK-8249142: java/awt/FontClass/CreateFont/DeleteFont.sh is unstable
- - JDK-8249189: AARCH64: more L2I conversions can be skipped
- - JDK-8249719: MethodHandle performance suffers from bad ResolvedMethodTable hash function
- - JDK-8249875: GCC 10 warnings -Wtype-limits with JFR code
- - JDK-8250635: MethodArityHistogram should use Compile_lock in favour of fancy checks
- - JDK-8250876: Fix issues with cross-compile on macos
- - JDK-8251031: Some vmTestbase/nsk/monitoring/RuntimeMXBean tests fail with hostnames starting from digits
- - JDK-8251525: AARCH64: Faster Math.signum(fp)
- - JDK-8252259: AArch64: Adjust default value of FLOATPRESSURE
- - JDK-8252311: AArch64: save two words in itable lookup stub
- - JDK-8252779: compiler/graalunit/HotspotTest.java failed after 8251525
- - JDK-8252883: AccessDeniedException caused by delayed file deletion on Windows
- - JDK-8253167: ARM32 builds fail after JDK-8247910
- - JDK-8253572: [windows] CDS archive may fail to open with long file names
- - JDK-8253923: C2 doesn't always run loop opts for compilations that include loops
- - JDK-8253948: Memory leak in ImageFileReader
- - JDK-8254631: Better support ALPN byte wire values in SunJSSE
- - JDK-8254717: isAssignableFrom checks in KeyFactorySpi.engineGetKeySpec appear to be backwards
- - JDK-8255086: Update the root locale display names
- - JDK-8255625: AArch64: Implement Base64.encodeBlock accelerator/intrinsic
- - JDK-8255763: C2: OSR miscompilation caused by invalid memory instruction placement
- - JDK-8255992: JFR EventWriter does not use first string from StringPool with id 0
- - JDK-8256037: [TESTBUG] com/sun/jndi/dns/ConfigTests/PortUnreachable.java fails due to the hard coded threshold is small
- - JDK-8256244: java/lang/ProcessHandle/PermissionTest.java fails with TestNG 7.1
- - JDK-8256287: [windows] add loop fuse to map_or_reserve_memory_aligned
- - JDK-8256523: Streamline Java SHA2 implementation
- - JDK-8257414: Drag n Drop target area is wrong on high DPI systems
- - JDK-8257569: Failure observed with JfrVirtualMemory::initialize
- - JDK-8257574: C2: "failed: parsing found no loops but there are some" assert failure
- - JDK-8257580: Bump update version for OpenJDK: jdk-11.0.12
- - JDK-8257604: JNI_ArgumentPusherVaArg leaks valist
- - JDK-8257621: JFR StringPool misses cached items across consecutive recordings
- - JDK-8257796: [TESTBUG] TestUseSHA512IntrinsicsOptionOnSupportedCPU.java fails on x86_32
- - JDK-8257822: C2 crashes with SIGFPE due to a division that floats above its zero check
- - JDK-8257828: SafeFetch may crash if invoked in non-JavaThreads
- - JDK-8257853: Remove dependencies on JNF's JNI utility functions in AWT and 2D code
- - JDK-8257858: [macOS]: Remove JNF dependency from libosxsecurity/KeystoreImpl.m
- - JDK-8257860: [macOS]: Remove JNF dependency from libosxkrb5/SCDynamicStoreConfig.m
- - JDK-8257988: Remove JNF dependency from libsaproc/MacosxDebuggerLocal.m
- - JDK-8258414: OldObjectSample events too expensive
- - JDK-8258505: [TESTBUG] TestDivZeroWithSplitIf.java fails due to missing UnlockDiagnosticVMOptions
- - JDK-8258753: StartTlsResponse.close() hangs due to synchronization issues
- - JDK-8259061: C2: assert(found) failed: memory-writing node is not placed in its original loop or an ancestor of it
- - JDK-8259227: C2 crashes with SIGFPE due to a division that floats above its zero check
- - JDK-8259232: Bad JNI lookup during printing
- - JDK-8259276: C2: Empty expression stack when reexecuting tableswitch/lookupswitch instructions after deoptimization
- - JDK-8259343: [macOS] Update JNI error handling in Cocoa code.
- - JDK-8259585: Accessible actions do not work on mac os x
- - JDK-8259651: [macOS] Replace JNF_COCOA_ENTER/EXIT macros
- - JDK-8259662: Don't wrap SocketExceptions into SSLExceptions in SSLSocketImpl
- - JDK-8259710: Inlining trace leaks memory
- - JDK-8259729: Missed JNFInstanceOf -> IsInstanceOf conversion
- - JDK-8259777: Incorrect predication condition generated by ADLC
- - JDK-8259786: initialize last parameter of getpwuid_r
- - JDK-8259843: initialize dli_fname array before calling dll_address_to_library_name
- - JDK-8259869: [macOS] Remove desktop module dependencies on JNF Reference APIs
- - JDK-8259886: Improve SSL session cache performance and scalability
- - JDK-8259983: do not use uninitialized expand_ms value in G1CollectedHeap::expand_heap_after_young_collection
- - JDK-8260030: Improve stringStream buffer handling
- - JDK-8260236: better init AnnotationCollector _contended_group
- - JDK-8260255: C1: LoopInvariantCodeMotion constructor can leave some fields uninitialized
- - JDK-8260284: C2: assert(_base == Int) failed: Not an Int
- - JDK-8260380: Upgrade to LittleCMS 2.12
- - JDK-8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint
- - JDK-8260426: awt debug_mem.c DMem_AllocateBlock might leak memory
- - JDK-8260432: allocateSpaceForGP in freetypeScaler.c might leak memory
- - JDK-8260616: Removing remaining JNF dependencies in the java.desktop module
- - JDK-8260653: Unreachable nodes keep speculative types alive
- - JDK-8260707: java/lang/instrument/PremainClass/InheritAgent0100.java times out
- - JDK-8260925: HttpsURLConnection does not work with other JSSE provider.
- - JDK-8260926: Trace resource exhausted events unconditionally
- - JDK-8261020: Wrong format parameter in create_emergency_chunk_path
- - JDK-8261027: AArch64: Support for LSE atomics C++ HotSpot code
- - JDK-8261167: print_process_memory_info add a close call after fopen
- - JDK-8261170: Upgrade to freetype 2.10.4
- - JDK-8261198: [macOS] Incorrect JNI parameters in number conversion in A11Y code
- - JDK-8261235: C1 compilation fails with assert(res->vreg_number() == index) failed: conversion check
- - JDK-8261261: The version extra fields needs to be overridable in jib-profiles.js
- - JDK-8261262: Kitchensink24HStress.java crashed with EXCEPTION_ACCESS_VIOLATION
- - JDK-8261354: SIGSEGV at MethodIteratorHost
- - JDK-8261355: No data buffering in SunPKCS11 Cipher encryption when the underlying mechanism has no padding
- - JDK-8261397: try catch Method failing to work when dividing an integer by 0
- - JDK-8261422: Adjust problematic String.format calls in jdk/internal/util/Preconditions.java outOfBoundsMessage
- - JDK-8261447: MethodInvocationCounters frequently run into overflow
- - JDK-8261481: Cannot read Kerberos settings in dynamic store on macOS Big Sur
- - JDK-8261505: Test test/hotspot/jtreg/gc/parallel/TestDynShrinkHeap.java killed by Linux OOM Killer
- - JDK-8261601: free memory in early return in Java_sun_nio_ch_sctp_SctpChannelImpl_receive0
- - JDK-8261649: AArch64: Optimize LSE atomics in C++ code
- - JDK-8261730: C2 compilation fails with assert(store->find_edge(load) != -1) failed: missing precedence edge
- - JDK-8261752: Multiple GC test are missing memory requirements
- - JDK-8261791: (sctp) handleSendFailed in SctpChannelImpl.c potential leaks
- - JDK-8261812: C2 compilation fails with assert(!had_error) failed: bad dominance
- - JDK-8261914: IfNode::fold_compares_helper faces non-canonicalized bool when running JRuby JSON workload
- - JDK-8262093: java/util/concurrent/tck/JSR166TestCase.java failed "assert(false) failed: unexpected node"
- - JDK-8262110: DST starts from incorrect time in 2038
- - JDK-8262121: [11u] Redo 8244287: JFR: Methods samples have line number 0
- - JDK-8262163: Extend settings printout in jcmd VM.metaspace
- - JDK-8262295: C2: Out-of-Bounds Array Load from Clone Source
- - JDK-8262298: G1BarrierSetC2::step_over_gc_barrier fails with assert "bad barrier shape"
- - JDK-8262446: DragAndDrop hangs on Windows
- - JDK-8262461: handle wcstombsdmp return value correctly in unix awt_InputMethod.c
- - JDK-8262465: Very long compilation times and high memory consumption in C2 debug builds
- - JDK-8262726: AArch64: C1 StubAssembler::call_RT can corrupt stack
- - JDK-8262739: String inflation C2 intrinsic prevents insertion of anti-dependencies
- - JDK-8262829: Native crash in Win32PrintServiceLookup.getAllPrinterNames()
- - JDK-8262837: handle split_USE correctly
- - JDK-8262900: ToolBasicTest fails to access HTTP server it starts
- - JDK-8263260: [s390] Support latest hardware (z14 and z15)
- - JDK-8263311: Watch registry changes for remote printers update instead of polling
- - JDK-8263361: Incorrect arraycopy stub selected by C2 for SATB collectors
- - JDK-8263404: RsaPrivateKeySpec is always recognized as RSAPrivateCrtKeySpec in RSAKeyFactory.engineGetKeySpec
- - JDK-8263425: AArch64: two potential bugs in C1 LIRGenerator::generate_address()
- - JDK-8263448: CTW: fatal error: meet not symmetric
- - JDK-8263504: Some OutputMachOpcodes fields are uninitialized
- - JDK-8263557: Possible NULL dereference in Arena::destruct_contents()
- - JDK-8263558: Possible NULL dereference in fast path arena free if ZapResourceArea is true
- - JDK-8263676: AArch64: one potential bug in C1 LIRGenerator::generate_address()
- - JDK-8263729: [test] divert spurious output away from stream under test in ProcessBuilder Basic test
- - JDK-8263846: Bad JNI lookup getFocusOwner in accessibility code on Mac OS X
- - JDK-8264047: Duplicate global variable 'jvm' in libjavajpeg and libawt
- - JDK-8264096: slowdebug jvm crashes when StrInflatedCopy match rule is not supported
- - JDK-8264151: ciMethod::ensure_method_data() should return false is loading resulted in empty state
- - JDK-8264173: [s390] Improve Hardware Feature Detection And Reporting
- - JDK-8264190: Harden TLS interop tests
- - JDK-8264223: CodeHeap::verify fails extra_hops assertion in fastdebug test
- - JDK-8264328: Broken license in javax/swing/JComboBox/8072767/bug8072767.java
- - JDK-8264360: Loop strip mining verification fails with "should be on the backedge"
- - JDK-8264626: C1 should be able to inline excluded methods
- - JDK-8264640: CMS ParScanClosure misses a barrier
- - JDK-8264786: [macos] All Swing/AWT apps cause Allow Notifications prompt to appear when app is launched
- - JDK-8264821: DirectIOTest fails on a system with large block size
- - JDK-8264848: [macos] libjvm.dylib linker warning due to macOS version mismatch
- - JDK-8264923: PNGImageWriter.write_zTXt throws Exception with a typo
- - JDK-8264958: C2 compilation fails with assert "n is later than its clone"
- - JDK-8265099: Revert backport to 11u of 8236859: WebSocket over authenticating proxy fails with NPE
- - JDK-8265154: vinserti128 operand mix up for KNL platforms
- - JDK-8265239: Shenandoah: Shenandoah heap region count could be off by 1
- - JDK-8265417: Backport of JDK-8249672 breaks Solaris x86 build
- - JDK-8265421: java/lang/String/StringRepeat.java test is missing a memory requirement
- - JDK-8265462: Handle multiple slots in the NSS Internal Module from SunPKCS11's Secmod
- - JDK-8265537: x86 version string truncated after JDK-8249672 11u backport
- - JDK-8265666: Enable AIX build platform to make external debug symbols
- - JDK-8265677: CMS: CardTableBarrierSet::write_ref_array_work() lacks storestore barrier
- - JDK-8265690: Use the latest Ubuntu base image version in Docker testing
- - JDK-8265718: Build failure after JDK-8258414 11u backport
- - JDK-8265750: Fatal error in safepoint.cpp after backport of 8258414
- - JDK-8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind
- - JDK-8265938: C2's conditional move optimization does not handle top Phi
- - JDK-8266220: keytool still prompt for store password on a password-less pkcs12 file if -storetype pkcs12 is specified
- - JDK-8266293: Key protection using PBEWithMD5AndDES fails with "java.security.InvalidAlgorithmParameterException: Salt must be 8 bytes long"
- - JDK-8266713: [AIX] Build failure after 11u backport of JDK-8247753
- - JDK-8266802: Shenandoah: Round up region size to page size unconditionally
- - JDK-8266892: avoid maybe-uninitialized gcc warnings on linux s390x
- - JDK-8266929: Unable to use algorithms from 3p providers
- - JDK-8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash
- - JDK-8267561: Shenandoah: Reference processing not properly setup for outside of cycle degenerated GC
- - JDK-8267599: Revert the change to the default PKCS12 macAlgorithm and macIterationCount props for 11u/8u/7u
- - JDK-8267641: [11u] 8227609 backport typo
- - JDK-8267721: Enable sun/security/pkcs11 tests for Amazon Linux 2 AArch64
- - JDK-8268678: LetsEncryptCA.java test fails as Let’s Encrypt Authority X3 is retired
+ - JDK-6782021: It is not possible to read local computer certificates with the SunMSCAPI provider
+ - JDK-6854300: [TEST_BUG] java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java fails in jdk6u14 & jdk7
+ - JDK-7131823: bug in GIFImageReader
+ - JDK-8017175: [TESTBUG] javax/swing/JPopupMenu/4634626/bug4634626.java sometimes failed on mac
+ - JDK-8028265: Add legacy tz tests to OpenJDK
+ - JDK-8028998: [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java failed
+ - JDK-8079267: [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails
+ - JDK-8159694: HiDPI, Unity, java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java
+ - JDK-8169468: NoResizeEventOnDMChangeTest.java fails because FS Window didn't receive all resizes!
+ - JDK-8172065: javax/swing/JTree/4908142/bug4908142.java The selected index should be "aad"
+ - JDK-8178969: [TESTBUG] Wrong reporting of gc/g1/humongousObjects/TestHeapCounters test.
+ - JDK-8211002: test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values
+ - JDK-8212096: javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch
+ - JDK-8223543: [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java has issues
+ - JDK-8225122: Test AncestorResized.java fails when Windows desktop is scaled.
+ - JDK-8227651: Tests fail with SSLProtocolException: Input record too big
+ - JDK-8240903: Add test to check that jmod hashes are reproducible
+ - JDK-8254318: Remove .hgtags
+ - JDK-8255724: [XRender] the BlitRotateClippedArea test fails on Linux in the XR pipeline
+ - JDK-8256844: Make NMT late-initializable
+ - JDK-8257534: misc tests failed with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom"
+ - JDK-8264666: Change implementation of safeAdd/safeMult in the LCMSImageLayout class
+ - JDK-8264792: The NumberFormat for locale sq_XK formats price incorrectly.
+ - JDK-8265360: several compiler/whitebox tests fail with "private compiler.whitebox.SimpleTestCaseHelper(int) must be compiled"
+ - JDK-8269039: Disable SHA-1 Signed JARs
+ - JDK-8269556: sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException 'JShellToolProvider' missing from stdout/stderr
+ - JDK-8270090: C2: LCM may prioritize CheckCastPP nodes over projections
+ - JDK-8270312: Error: Not a test or directory containing tests: java/awt/print/PrinterJob/XparColor.java
+ - JDK-8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest
+ - JDK-8271344: Windows product version issue
+ - JDK-8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8
+ - JDK-8272417: ZGC: fastdebug build crashes when printing ClassLoaderData
+ - JDK-8272736: [JVMCI] Add API for reading and writing JVMCI thread locals
+ - JDK-8272815: jpackage --type rpm produces an error: Invalid or unsupported type: [null]
+ - JDK-8273040: Turning off JpAllowDowngrades (or Upgrades)
+ - JDK-8273115: CountedLoopEndNode::stride_con crash in debug build with -XX:+TraceLoopOpts
+ - JDK-8273506: java Robot API did the 'm' keypress and caused /awt/event/KeyEvent/KeyCharTest/KeyCharTest.html is timing out on macOS 12
+ - JDK-8274434: move os::get_default_process_handle and os::dll_lookup to os_posix for POSIX platforms
+ - JDK-8274517: java/util/DoubleStreamSums/CompensatedSums.java fails with expected [true] but found [false]
+ - JDK-8274597: Some of the dnd tests time out and fail intermittently
+ - JDK-8274856: Failing jpackage tests with fastdebug/release build
+ - JDK-8275689: [TESTBUG] Use color tolerance only for XRender in BlitRotateClippedArea test
+ - JDK-8275887: jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled
+ - JDK-8276546: [IR Framework] Whitelist and ignore CompileThreshold
+ - JDK-8276837: [macos]: Error when signing the additional launcher
+ - JDK-8277429: Conflicting jpackage static library name
+ - JDK-8277493: [REDO] Quarantined jpackage apps are labeled as "damaged"
+ - JDK-8278067: Make HttpURLConnection default keep alive timeout configurable
+ - JDK-8278233: [macos] tools/jpackage tests timeout due to /usr/bin/osascript
+ - JDK-8278311: Debian packaging doesn't work
+ - JDK-8278609: [macos] accessibility frame is misplaced on a secondary monitor on macOS
+ - JDK-8278612: [macos] test/jdk/java/awt/dnd/RemoveDropTargetCrashTest crashes with VoiceOver on macOS
+ - JDK-8279032: compiler/loopopts/TestSkeletonPredicateNegation.java times out with -XX:TieredStopAtLevel < 4
+ - JDK-8279370: jdk.jpackage/share/native/applauncher/JvmLauncher.cpp fails to build with GCC 6.3.0
+ - JDK-8279622: C2: miscompilation of map pattern as a vector reduction
+ - JDK-8280233: Temporarily disable Unix domain sockets in Windows PipeImpl
+ - JDK-8280550: SplittableRandom#nextDouble(double,double) can return result >= bound
+ - JDK-8280696: C2 compilation hits assert(is_dominator(c, n_ctrl)) failed
+ - JDK-8280863: Update build README to reflect that MSYS2 is supported
+ - JDK-8280913: Create a regression test for JRootPane.setDefaultButton() method
+ - JDK-8280944: Enable Unix domain sockets in Windows Selector notification mechanism
+ - JDK-8280950: RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix
+ - JDK-8281181: Do not use CPU Shares to compute active processor count
+ - JDK-8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950
+ - JDK-8281297: TestStressG1Humongous fails with guarantee(is_range_uncommitted)
+ - JDK-8281535: Create a regression test for JDK-4670051
+ - JDK-8281569: Create tests for Frame.setMinimumSize() method
+ - JDK-8281628: KeyAgreement : generateSecret intermittently not resetting
+ - JDK-8281738: Create a regression test for checking the 'Space' key activation of focused Button
+ - JDK-8281745: Create a regression test for JDK-4514331
+ - JDK-8281988: Create a regression test for JDK-4618767
+ - JDK-8282007: Assorted enhancements to jpackage testing framework
+ - JDK-8282046: Create a regression test for JDK-8000326
+ - JDK-8282214: Upgrade JQuery to version 3.6.0
+ - JDK-8282234: Create a regression test for JDK-4532513
+ - JDK-8282280: Update Xerces to Version 2.12.2
+ - JDK-8282306: os::is_first_C_frame(frame*) crashes on invalid link access
+ - JDK-8282343: Create a regression test for JDK-4518432
+ - JDK-8282351: jpackage does not work if class file has `$$` in the name on windows
+ - JDK-8282407: Missing ')' in MacResources.properties
+ - JDK-8282467: add extra diagnostics for JDK-8268184
+ - JDK-8282477: [x86, aarch64] vmassert(_last_Java_pc == NULL, "already walkable"); fails with async profiler
+ - JDK-8282538: PKCS11 tests fail on CentOS Stream 9
+ - JDK-8282548: Create a regression test for JDK-4330998
+ - JDK-8282555: Missing memory edge when spilling MoveF2I, MoveD2L etc
+ - JDK-8282640: Create a test for JDK-4740761
+ - JDK-8282778: Create a regression test for JDK-4699544
+ - JDK-8282789: Create a regression test for the JTree usecase of JDK-4618767
+ - JDK-8282860: Write a regression test for JDK-4164779
+ - JDK-8282933: Create a test for JDK-4529616
+ - JDK-8282936: Write a regression test for JDK-4615365
+ - JDK-8282937: Write a regression test for JDK-4820080
+ - JDK-8282947: JFR: Dump on shutdown live-locks in some conditions
+ - JDK-8283015: Create a test for JDK-4715496
+ - JDK-8283087: Create a test or JDK-4715503
+ - JDK-8283245: Create a test for JDK-4670319
+ - JDK-8283277: ISO 4217 Amendment 171 Update
+ - JDK-8283441: C2: segmentation fault in ciMethodBlocks::make_block_at(int)
+ - JDK-8283457: [macos] libpng build failures with Xcode13.3
+ - JDK-8283493: Create an automated regression test for RFE 4231298
+ - JDK-8283507: Create a regression test for RFE 4287690
+ - JDK-8283562: JDK-8282306 breaks gtests on zero
+ - JDK-8283597: [REDO] Invalid generic signature for redefined classes
+ - JDK-8283621: Write a regression test for CCC4400728
+ - JDK-8283623: Create an automated regression test for JDK-4525475
+ - JDK-8283624: Create an automated regression test for RFE-4390885
+ - JDK-8283712: Create a manual test framework class
+ - JDK-8283723: Update Visual Studio 2022 to version 17.1.0 for Oracle builds on Windows
+ - JDK-8283803: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintGlyphVectorTest.java and fix test
+ - JDK-8283849: AsyncGetCallTrace may crash JVM on guarantee
+ - JDK-8283903: GetContainerCpuLoad does not return the correct result in share mode
+ - JDK-8283911: DEFAULT_PROMOTED_VERSION_PRE not reset to 'ea' for jdk-17.0.4
+ - JDK-8284014: Menu items with submenus in JPopupMenu are not spoken on macOS
+ - JDK-8284067: jpackage'd launcher reports non-zero exit codes with error prompt
+ - JDK-8284077: Create an automated test for JDK-4170173
+ - JDK-8284294: Create an automated regression test for RFE 4138746
+ - JDK-8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph
+ - JDK-8284367: JQuery UI upgrade from 1.12.1 to 1.13.1
+ - JDK-8284521: Write an automated regression test for RFE 4371575
+ - JDK-8284535: Fix PrintLatinCJKTest.java test that is failing with Parse Exception
+ - JDK-8284675: "jpackage.exe" creates application launcher without Windows Application Manfiest
+ - JDK-8284680: sun.font.FontConfigManager.getFontConfig() leaks charset
+ - JDK-8284686: Interval of < 1 ms disables ExecutionSample events
+ - JDK-8284694: Avoid evaluating SSLAlgorithmConstraints twice
+ - JDK-8284883: JVM crash: guarantee(sect->end() <= sect->limit()) failed: sanity on AVX512
+ - JDK-8284898: Enhance PassFailJFrame
+ - JDK-8284944: assert(cnt++ < 40) failed: infinite cycle in loop optimization
+ - JDK-8284950: CgroupV1 detection code should consider memory.swappiness
+ - JDK-8284956: Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment
+ - JDK-8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist
+ - JDK-8285081: Improve XPath operators count accuracy
+ - JDK-8285097: Duplicate XML keys in XPATHErrorResources.java and XSLTErrorResources.java
+ - JDK-8285301: C2: assert(!requires_atomic_access) failed: can't ensure atomicity
+ - JDK-8285380: Fix typos in security
+ - JDK-8285398: Cache the results of constraint checks
+ - JDK-8285617: Fix java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java manual test
+ - JDK-8285693: Create an automated test for JDK-4702199
+ - JDK-8285696: AlgorithmConstraints:permits not throwing IllegalArgumentException when 'alg' is null
+ - JDK-8285730: unify _WIN32_WINNT settings
+ - JDK-8285820: C2: LCM prioritizes locally dependent CreateEx nodes over projections after 8270090
+ - JDK-8285923: [REDO] JDK-8285802 AArch64: Consistently handle offsets in MacroAssembler as 64-bit quantities
+ - JDK-8286114: [test] show real exception in bomb call in sun/rmi/runtime/Log/checkLogging/CheckLogging.java
+ - JDK-8286122: [macos]: App bundle cannot upload to Mac App Store due to info.plist embedded in java exe
+ - JDK-8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure
+ - JDK-8286211: Update PCSC-Lite for Suse Linux to 1.9.5
+ - JDK-8286266: [macos] Voice over moving JTable column to be the first column JVM crashes
+ - JDK-8286277: CDS VerifyError when calling clone() on object array
+ - JDK-8286314: Trampoline not created for far runtime targets outside small CodeCache
+ - JDK-8286429: jpackageapplauncher build fails intermittently in Tier[45]
+ - JDK-8286573: Remove the unnecessary method Attr#attribTopLevel and its usage
+ - JDK-8286582: Build fails on macos aarch64 when using --with-zlib=bundled
+ - JDK-8286625: C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect
+ - JDK-8286638: C2: CmpU needs to do more precise over/underflow analysis
+ - JDK-8286869: unify os::dir_is_empty across posix platforms
+ - JDK-8286870: Memory leak with RepeatCompilation
+ - JDK-8287016: Bump update version for OpenJDK: jdk-17.0.5
+ - JDK-8287073: NPE from CgroupV2Subsystem.getInstance()
+ - JDK-8287091: aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn
+ - JDK-8287107: CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller
+ - JDK-8287113: JFR: Periodic task thread uses period for method sampling events
+ - JDK-8287125: [macos] Multiple jpackage tests fail/timeout on same host
+ - JDK-8287202: GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event
+ - JDK-8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver
+ - JDK-8287366: Improve test failure reporting in GHA
+ - JDK-8287396: LIR_Opr::vreg_number() and data() can return negative number
+ - JDK-8287432: C2: assert(tn->in(0) != __null) failed: must have live top node
+ - JDK-8287463: JFR: Disable TestDevNull.java on Windows
+ - JDK-8287663: Add a regression test for JDK-8287073
+ - JDK-8287672: jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run
+ - JDK-8287724: Fix various issues with msys2
+ - JDK-8287735: Provide separate event category for dll operations
+ - JDK-8287741: Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete
+ - JDK-8287824: The MTPerLineTransformValidation tests has a typo in the @run tag
+ - JDK-8287895: Some langtools tests fail on msys2
+ - JDK-8287896: PropertiesTest.sh fail on msys2
+ - JDK-8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows
+ - JDK-8287906: Rewrite of GitHub Actions (GHA) sanity tests
+ - JDK-8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier
+ - JDK-8288000: compiler/loopopts/TestOverUnrolling2.java fails with release VMs
+ - JDK-8288003: log events for os::dll_unload
+ - JDK-8288303: C1: Miscompilation due to broken Class.getModifiers intrinsic
+ - JDK-8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes
+ - JDK-8288399: MacOS debug symbol files not always deterministic in reproducible builds
+ - JDK-8288467: remove memory_operand assert for spilled instructions
+ - JDK-8288499: Restore cancel-in-progress in GHA
+ - JDK-8288599: com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ...
+ - JDK-8288754: GCC 12 fails to build zReferenceProcessor.cpp
+ - JDK-8288781: C1: LIR_OpVisitState::maxNumberOfOperands too small
+ - JDK-8288985: P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305
+ - JDK-8288992: AArch64: CMN should be handled the same way as CMP
+ - JDK-8289127: Apache Lucene triggers: DEBUG MESSAGE: duplicated predicate failed which is impossible
+ - JDK-8289147: unify os::infinite_sleep on posix platforms
+ - JDK-8289197: [17u] Push of backport of 8286177 did not remove assertion
+ - JDK-8289471: Issue in Initialization of keys in ErrorMsg.java and XPATHErrorResources.java
+ - JDK-8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc
+ - JDK-8289486: Improve XSLT XPath operators count efficiency
+ - JDK-8289549: ISO 4217 Amendment 172 Update
+ - JDK-8289569: [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl
+ - JDK-8289695: [TESTBUG] TestMemoryAwareness.java fails on cgroups v2 and crun
+ - JDK-8289697: buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad
+ - JDK-8289799: Build warning in methodData.cpp memset zero-length parameter
+ - JDK-8289856: [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060
+ - JDK-8289910: unify os::message_box across posix platforms
+ - JDK-8290000: Bump macOS GitHub actions to macOS 11
+ - JDK-8290004: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
+ - JDK-8290020: Deadlock in leakprofiler::emit_events during shutdown
+ - JDK-8290082: [PPC64] ZGC C2 load barrier stub needs to preserve vector registers
+ - JDK-8290246: test fails "assert(init != __null) failed: initialization not found"
+ - JDK-8290417: CDS cannot archive lamda proxy with useImplMethodHandle
+ - JDK-8290456: remove os::print_statistics()
+ - JDK-8291595: [17u] Delete files missed in backport of 8269039
+ - JDK-8291633: Build failures with GCC 11, Alpine 3 due to incompatible casts from nullptr
+ - JDK-8292579: (tz) Update Timezone Data to 2022c
+ - JDK-8295056: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.5
Notes on individual issues:
===========================
+core-libs/java.net:
+
+JDK-8278067: Make HttpURLConnection Default Keep Alive Timeout Configurable
+===========================================================================
+Two system properties have been added which control the keep alive
+behavior of HttpURLConnection in the case where the server does not
+specify a keep alive time. Two properties are defined for controlling
+connections to servers and proxies separately. They are:
+
+* `http.keepAlive.time.server`
+* `http.keepAlive.time.proxy`
+
+respectively. More information about them can be found on the
+Networking Properties page:
+https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html.
+
+security-libs/javax.crypto:
+
+JDK-6782021: Windows KeyStore Updated to Include Access to the Local Machine Location
+=====================================================================================
+The Windows KeyStore support in the SunMSCAPI provider has been
+expanded to include access to the local machine location. The new
+keystore types are:
+
+* "Windows-MY-LOCALMACHINE"
+* "Windows-ROOT-LOCALMACHINE"
+
+The following keystore types were also added, allowing developers to
+make it clear they map to the current user:
+
+* "Windows-MY-CURRENTUSER" (same as "Windows-MY")
+* "Windows-ROOT-CURRENTUSER" (same as "Windows-ROOT")
+
+hotspot/runtime:
+
+JDK-8281181: CPU Shares Ignored When Computing Active Processor Count
+=====================================================================
+Previous JDK releases used an incorrect interpretation of the Linux
+cgroups parameter "cpu.shares". This might cause the JVM to use fewer
+CPUs than available, leading to an under utilization of CPU resources
+when the JVM is used inside a container.
+
+Starting from this JDK release, by default, the JVM no longer
+considers "cpu.shares" when deciding the number of threads to be used
+by the various thread pools. The `-XX:+UseContainerCpuShares`
+command-line option can be used to revert to the previous
+behavior. This option is deprecated and may be removed in a future JDK
+release.
+
security-libs/java.security:
-JDK-8215293: Customizing PKCS12 keystore Generation
-===================================================
-New system and security properties have been added to enable users to
-customize the generation of PKCS #12 keystores. This includes
-algorithms and parameters for key protection, certificate protection,
-and MacData. The detailed explanation and possible values for these
-properties can be found in the "PKCS12 KeyStore properties" section of
-the `java.security` file.
+JDK-8269039: Disabled SHA-1 Signed JARs
+=======================================
+JARs signed with SHA-1 algorithms are now restricted by default and
+treated as if they were unsigned. This applies to the algorithms used
+to digest, sign, and optionally timestamp the JAR. It also applies to
+the signature and digest algorithms of the certificates in the
+certificate chain of the code signer and the Timestamp Authority, and
+any CRLs or OCSP responses that are used to verify if those
+certificates have been revoked. These restrictions also apply to
+signed JCE providers.
-Also, support for the following SHA-2 based HmacPBE algorithms has
-been added to the SunJCE provider:
+To reduce the compatibility risk for JARs that have been previously
+timestamped, there is one exception to this policy:
-* HmacPBESHA224
-* HmacPBESHA256
-* HmacPBESHA384
-* HmacPBESHA512
-* HmacPBESHA512/224
-* HmacPBESHA512/256
+- Any JAR signed with SHA-1 algorithms and timestamped prior to
+ January 01, 2019 will not be restricted.
-JDK-8256902: Removed Root Certificates with 1024-bit Keys
-=========================================================
-The following root certificates with weak 1024-bit RSA public keys
-have been removed from the `cacerts` keystore:
+This exception may be removed in a future JDK release. To determine if
+your signed JARs are affected by this change, run:
-Alias Name: thawtepremiumserverca [jdk]
-Distinguished Name: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
+$ jarsigner -verify -verbose -certs`
-Alias Name: verisignclass2g2ca [jdk]
-Distinguished Name: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
+on the signed JAR, and look for instances of "SHA1" or "SHA-1" and
+"disabled" and a warning that the JAR will be treated as unsigned in
+the output.
-Alias Name: verisignclass3ca [jdk]
-Distinguished Name: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US
+For example:
-Alias Name: verisignclass3g2ca [jdk]
-Distinguished Name: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
+ Signed by "CN="Signer""
+ Digest algorithm: SHA-1 (disabled)
+ Signature algorithm: SHA1withRSA (disabled), 2048-bit key
-Alias Name: verisigntsaca [jdk]
-Distinguished Name: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA
+ WARNING: The jar will be treated as unsigned, because it is signed with a weak algorithm that is now disabled by the security property:
-JDK-8261361: Removed Telia Company's Sonera Class2 CA certificate
-=================================================================
+ jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, DSA keySize < 1024, SHA1 denyAfter 2019-01-01
-The following root certificate have been removed from the cacerts truststore:
+JARs affected by these new restrictions should be replaced or
+re-signed with stronger algorithms.
-Alias Name: soneraclass2ca
-Distinguished Name: CN=Sonera Class2 CA, O=Sonera, C=FI
-
-JDK-8242069: Upgraded the Default PKCS12 Encryption and MAC Algorithms
-======================================================================
-The default encryption and MAC algorithms used in a PKCS #12 keystore
-have been updated. The new algorithms are based on AES-256 and SHA-256
-and are stronger than the old algorithms that were based on RC2,
-DESede, and SHA-1. See the security properties starting with
-`keystore.pkcs12` in the `java.security` file for detailed
-information.
-
-For compatibility, a new system property named
-`keystore.pkcs12.legacy` is defined that will revert the algorithms to
-use the older, weaker algorithms. There is no value defined for this
+Users can, *at their own risk*, remove these restrictions by modifying
+the `java.security` configuration file (or override it by using the
+`java.security.properties` system property) and removing "SHA1 usage
+SignedJAR & denyAfter 2019-01-01" from the
+`jdk.certpath.disabledAlgorithms` security property and "SHA1
+denyAfter 2019-01-01" from the `jdk.jar.disabledAlgorithms` security
property.
-security-libs/javax.net.ssl:
-
-JDK-8257548: Improve Encoding of TLS Application-Layer Protocol Negotiation (ALPN) Values
-=========================================================================================
-Certain TLS ALPN values couldn't be properly read or written by the
-SunJSSE provider. This is due to the choice of Strings as the API
-interface and the undocumented internal use of the UTF-8 Character Set
-which converts characters larger than U+00007F (7-bit ASCII) into
-multi-byte arrays that may not be expected by a peer.
-
-ALPN values are now represented using the network byte representation
-expected by the peer, which should require no modification for
-standard 7-bit ASCII-based character Strings. However, SunJSSE now
-encodes/decodes String characters as 8-bit ISO_8859_1/LATIN-1
-characters. This means applications that used characters above
-U+000007F that were previously encoded using UTF-8 may need to either
-be modified to perform the UTF-8 conversion, or set the Java security
-property `jdk.tls.alpnCharset` to "UTF-8" revert the behavior.
-
-See the updated guide at
-https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/alpn.html
-for more information.
-
-JDK-8244460: Support for certificate_authorities Extension
-==========================================================
-The "certificate_authorities" extension is an optional extension
-introduced in TLS 1.3. It is used to indicate the certificate
-authorities (CAs) that an endpoint supports and should be used by the
-receiving endpoint to guide certificate selection.
-
-With this JDK release, the "certificate_authorities" extension is
-supported for TLS 1.3 in both the client and the server sides. This
-extension is always present for client certificate selection, while it
-is optional for server certificate selection.
-
-Applications can enable this extension for server certificate
-selection by setting the `jdk.tls.client.enableCAExtension` system
-property to `true`. The default value of the property is `false`.
-
-Note that if the client trusts more CAs than the size limit of the
-extension (less than 2^16 bytes), the extension is not enabled. Also,
-some server implementations do not allow handshake messages to exceed
-2^14 bytes. Consequently, there may be interoperability issues when
-`jdk.tls.client.enableCAExtension` is set to `true` and the client
-trusts more CAs than the server implementation limit.
-
-New in release OpenJDK 11.0.11 (2021-04-20):
-=============================================
-Live versions of these release notes can be found at:
- * https://bitly.com/openjdk11011
- * https://builds.shipilev.net/backports-monitor/release-notes-11.0.11.txt
-
-* Security fixes
- - JDK-8244473: Contextualize registration for JNDI
- - JDK-8244543: Enhanced handling of abstract classes
- - JDK-8249906, CVE-2021-2163: Enhance opening JARs
- - JDK-8250568, CVE-2021-2161: Less ambiguous processing
- - JDK-8253799: Make lists of normal filenames
- - JDK-8257001: Improve Http Client Support
-* Other changes
- - JDK-7107012: sun.jvm.hotspot.code.CompressedReadStream readDouble() conversion to long mishandled
- - JDK-7146776: deadlock between URLStreamHandler.getHostAddress and file.Handler.openconnection
- - JDK-8086003: Test fails on OSX with java.lang.RuntimeException 'Narrow klass base: 0x0000000000000000, Narrow klass shift: 3' missing
- - JDK-8168869: jdeps: localized messages don't use proper line breaks
- - JDK-8180837: SunPKCS11-NSS tests failing with CKR_ATTRIBUTE_READ_ONLY and CKR_MECHANISM_PARAM_INVALID
- - JDK-8202343: Disable TLS 1.0 and 1.1
- - JDK-8205992: jhsdb cannot attach to Java processes running in Docker containers
- - JDK-8209193: Fix aarch64-linux compilation after -Wreorder changes
- - JDK-8210413: AArch64: Optimize div/rem by constant in C1
- - JDK-8210578: AArch64: Invalid encoding for fmlsvs instruction
- - JDK-8211051: jdeps usage of --dot-output doesn't provide valid output for modular jar
- - JDK-8211057: Gensrc step CompileProperties generates unstable CompilerProperties output
- - JDK-8211150: G1 Full GC not purging code root memory and hence causing memory leak
- - JDK-8211825: ModuleLayer.defineModulesWithXXX does not setup delegation when module reads automatic module
- - JDK-8212043: Add floating-point Math.min/max intrinsics
- - JDK-8212218: [TESTBUG] runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryErrorInMetaspace.java timed out
- - JDK-8213116: javax/swing/JComboBox/WindowsComboBoxSize/WindowsComboBoxSizeTest.java fails in Windows
- - JDK-8213909: jdeps --print-module-deps should report missing dependences
- - JDK-8214180: Need better granularity for sleeping
- - JDK-8214223: tools/jdeps/listdeps/ListModuleDeps.java failed due to missing Lib2 file
- - JDK-8214230: Classes generated by SystemModulesPlugin.java are not reproducable
- - JDK-8214741: docs/index.html has no title or copyright
- - JDK-8215687: [Graal] unit test CheckGraalIntrinsics failed after 8212043
- - JDK-8217848: [Graal] vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003/TestDescription.java fails
- - JDK-8218482: sun/security/krb5/auto/ReplayCachePrecise.java failed - no KrbException thrown
- - JDK-8218550: Add test omitted from JDK-8212043
- - JDK-8221584: SIGSEGV in os::PlatformEvent::unpark() in JvmtiRawMonitor::raw_exit while posting method exit event
- - JDK-8221995: AARCH64: problems with CAS instructions encoding
- - JDK-8222518: Remove unnecessary caching of Parker object in java.lang.Thread
- - JDK-8222785: aarch64: add necessary masking for immediate shift counts
- - JDK-8223186: HotSpot compile warnings from GCC 9
- - JDK-8225773: jdeps --check produces NPE if there are missing module dependences
- - JDK-8225805: Java Access Bridge does not close the logger
- - JDK-8226810: Failed to launch JVM because of NullPointerException occured on System.props
- - JDK-8229396: jdeps ignores multi-release when generate-module-info used on command line
- - JDK-8229474: Shenandoah: Cleanup CM::update_roots()
- - JDK-8232225: Rework the fix for JDK-8071483
- - JDK-8232905: JFR fails with assertion: assert(t->unflushed_size() == 0) failed: invariant
- - JDK-8233164: C2 fails with assert(phase->C->get_alias_index(t) == phase->C->get_alias_index(t_adr)) failed: correct memory chain
- - JDK-8233910: java/awt/ColorClass/AlphaColorTest.java is failing intermittently in nightly lnux-x64 system
- - JDK-8233912: aarch64: minor improvements of atomic operations
- - JDK-8234508: VM_HeapWalkOperation::iterate_over_object reads non-strong fields with an on-strong load barrier
- - JDK-8234742: Improve handshake logging
- - JDK-8234796: Refactor Handshake::execute to take a more complex type than ThreadClosure
- - JDK-8235324: Dying objects are published from users of CollectedHeap::object_iterate
- - JDK-8235351: Lookup::unreflect should bind with the original caller independent of Method's accessible flag
- - JDK-8237369: Shenandoah: failed vmTestbase/nsk/jvmti/AttachOnDemand/attach021/TestDescription.java test
- - JDK-8237392: Shenandoah: Remove unreliable assertion
- - JDK-8237483: AArch64 C1 OopMap inserted twice fatal error
- - JDK-8237495: Java MIDI fails with a dereferenced memory error when asked to send a raw 0xF7
- - JDK-8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS)
- - JDK-8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1
- - JDK-8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent."
- - JDK-8240751: Shenandoah: fold ShenandoahTracer definition
- - JDK-8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
- - JDK-8241598: Upgrade JLine to 3.14.0
- - JDK-8241649: Optimize Character.toString
- - JDK-8241770: Module xxxAnnotation() methods throw NCDFE if module-info.class found as resource in unnamed module
- - JDK-8241911: AArch64: Fix a potential register clash issue in reduce_add2I
- - JDK-8242030: Wrong package declarations in jline classes after JDK-8241598
- - JDK-8242565: Policy initialization issues when the denyAfter constraint is enabled
- - JDK-8243618: compiler/rtm/cli tests can be run w/o WhiteBox
- - JDK-8243670: Unexpected test result caused by C2 MergeMemNode::Ideal
- - JDK-8244088: [Regression] Switch of Gnome theme ends up in deadlocked UI
- - JDK-8244154: Update SunPKCS11 provider with PKCS11 v3.0 header files
- - JDK-8244340: Handshake processing thread lacks yielding
- - JDK-8244573: java.lang.ArrayIndexOutOfBoundsException thrown for malformed class file
- - JDK-8244683: A TSA server used by tests
- - JDK-8245005: javax/net/ssl/compatibility/BasicConnectTest.java failed with No enum constant
- - JDK-8245026: PsAdaptiveSizePolicy::_old_gen_policy_is_ready is unused
- - JDK-8245283: JFR: Can't handle constant dynamic used by Jacoco agent
- - JDK-8245512: CRC32 optimization using AVX512 instructions
- - JDK-8245527: LDAP Channel Binding support for Java GSS/Kerberos
- - JDK-8246707: (sc) SocketChannel.read/write throws AsynchronousCloseException on closed channel
- - JDK-8246709: sun/security/tools/jarsigner/TsacertOptionTest.java compilation failed after JDK-8244683
- - JDK-8247200: assert((unsigned)fpargs < 32)
- - JDK-8247766: [aarch64] guarantee(val < (1U << nbits)) failed: Field too big for insn.
- - JDK-8248336: AArch64: C2: offset overflow in BoxLockNode::emit
- - JDK-8248865: Document JNDI/LDAP timeout properties
- - JDK-8248901: Signed immediate support in .../share/assembler.hpp is broken.
- - JDK-8249543: Force DirectBufferAllocTest to run with -ExplicitGCInvokesConcurrent
- - JDK-8249588: libwindowsaccessbridge issues on 64bit Windows
- - JDK-8249749: modify a primitive array through a stream and a for cycle causes jre crash
- - JDK-8249787: Make TestGCLocker more resilient with concurrent GCs
- - JDK-8249867: xml declaration is not followed by a newline
- - JDK-8250911: [windows] os::pd_map_memory() error detection broken
- - JDK-8251255: [linux] Add process-memory information to hs-err and VM.info
- - JDK-8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier
- - JDK-8251925: C2: RenaissanceStressTest fails with assert(!had_error): bad dominance
- - JDK-8251944: Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java
- - JDK-8251992: VM crashed running TestComplexAddrExpr.java test with -XX:UseAVX=X
- - JDK-8253220: Epsilon: clean up unused code/declarations
- - JDK-8253274: The CycleDMImagetest brokes the system
- - JDK-8253353: Crash in C2: guarantee(n != NULL) failed: No Node
- - JDK-8253368: TLS connection always receives close_notify exception
- - JDK-8255368: Math.exp() gives wrong result for large values on x86 32-bit platforms
- - JDK-8255401: Shenandoah: Allow oldval and newval registers to overlap in cmpxchg_oop()
- - JDK-8253404: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit
- - JDK-8253409: Double-rounding possibility in float fma
- - JDK-8253476: TestUseContainerSupport.java fails on some Linux kernels w/o swap limit capabilities
- - JDK-8253524: C2: Refactor code that clones predicates during loop unswitching
- - JDK-8253644: C2: assert(skeleton_predicate_has_opaque(iff)) failed: unexpected
- - JDK-8253681: closed java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.html test failed
- - JDK-8253702: BigSur version number reported as 10.16, should be 11.nn
- - JDK-8253756: C2 CompilerThread0 crash in Node::add_req(Node*)
- - JDK-8254104: MethodCounters must exist before nmethod is installed
- - JDK-8254734: "dead loop detected" assert failure with patch from 8223051
- - JDK-8254748: Bad Copyright header format after JDK-8212218
- - JDK-8254799: runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryError.java fails with release VMs
- - JDK-8255058: C1: assert(is_virtual()) failed: type check
- - JDK-8255351: Add detection for Graviton 2 CPUs
- - JDK-8255387: Japanese characters were printed upside down on AIX
- - JDK-8255479: [aarch64] assert(src->section_index_of(target) == CodeBuffer::SECT_NONE) failed: sanity
- - JDK-8255544: Create a checked cast
- - JDK-8255559: Leak File Descriptors Because of ResolverLocalFilesystem#engineResolveURI()
- - JDK-8255681: print callstack in error case in runAWTLoopWithApp
- - JDK-8255734: VM should ignore SIGXFSZ on ppc64, s390 too
- - JDK-8255742: PrintInlining as compiler directive doesn't print virtual calls
- - JDK-8255845: Memory leak in imageFile.cpp
- - JDK-8255880: UI of Swing components is not redrawn after their internal state changed
- - JDK-8255908: ExceptionInInitializerError due to UncheckedIOException while initializing cgroupv1 subsystem
- - JDK-8256025: AArch64: MachCallRuntimeNode::ret_addr_offset() is incorrect for stub calls
- - JDK-8256056: Deoptimization stub doesn't save vector registers on x86
- - JDK-8256061: RegisterSaver::save_live_registers() omits upper halves of ZMM0-15 registers
- - JDK-8256187: [TEST_BUG] Automate bug4275046.java test
- - JDK-8256220: C1: x86_32 fails with -XX:UseSSE=1 after JDK-8210764 due to mishandled lir_neg
- - JDK-8256258: some missing NULL checks or asserts after CodeCache::find_blob_unsafe
- - JDK-8256264: Printed GlyphVector outline with low DPI has bad quality on Windows
- - JDK-8256290: javac/lambda/T8031967.java fails with StackOverflowError on x86_32
- - JDK-8256359: AArch64: runtime/ReservedStack/ReservedStackTestCompiler.java fails
- - JDK-8256387: Unexpected result if patching an entire instruction on AArch64
- - JDK-8256421: Add 2 HARICA roots to cacerts truststore
- - JDK-8256488: [aarch64] Use ldpq/stpq instead of ld4/st4 for small copies in StubGenerator::copy_memory
- - JDK-8256489: Make gtest for long path names on Windows more resilient in the presence of virus scanners
- - JDK-8256501: libTestMainKeyWindow fails to build with Xcode 12.2
- - JDK-8256633: Fix product build on Windows+Arm64
- - JDK-8256682: JDK-8202343 is incomplete
- - JDK-8256751: Incremental rebuild with precompiled header fails when touching a header file
- - JDK-8256757: Incorrect MachCallRuntimeNode::ret_addr_offset() for CallLeafNoFP on x86_32
- - JDK-8256806: Shenandoah: optimize shenandoah/jni/TestPinnedGarbage.java test
- - JDK-8256807: C2: Not marking stores correctly as mismatched in string opts
- - JDK-8256810: Incremental rebuild broken on Macosx
- - JDK-8256818: SSLSocket that is never bound or connected leaks socket resources
- - JDK-8256888: Client manual test problem list update
- - JDK-8257083: Security infra test failures caused by JDK-8202343
- - JDK-8257408: Bump update version for OpenJDK: jdk-11.0.11
- - JDK-8257423: [PPC64] Support -XX:-UseInlineCaches
- - JDK-8257436: [aarch64] Regressions in ArrayCopyUnalignedDst.testByte/testChar for 65-78 bytes when UseSIMDForMemoryOps is on
- - JDK-8257513: C2: assert((constant_addr - _masm.code()->consts()->start()) == con.offset())
- - JDK-8257547: Handle multiple prereqs on the same line in deps files
- - JDK-8257561: Some code is not vectorized after 8251925 and 8250607
- - JDK-8257565: epsilonBarrierSet.hpp should not include barrierSetAssembler
- - JDK-8257575: C2: "failed: only phis" assert failure in loop strip mining verification
- - JDK-8257594: C2 compiled checkcast of non-null object triggers endless deoptimization/recompilation cycle
- - JDK-8257633: Missing -mmacosx-version-min=X flag when linking libjvm
- - JDK-8257670: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java reports leaks
- - JDK-8257707: Fix incorrect format string in Http1HeaderParser
- - JDK-8257746: Regression introduced with JDK-8250984 - memory might be null in some machines
- - JDK-8257798: [PPC64] undefined reference to Klass::vtable_start_offset()
- - JDK-8257884: Re-enable sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java as automatic test
- - JDK-8257910: [JVMCI] Set exception_seen accordingly in the runtime.
- - JDK-8257997: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java again reports leaks after JDK-8257884
- - JDK-8257999: Parallel GC crash in gc/parallel/TestDynShrinkHeap.java: new region is not in covered_region
- - JDK-8258077: Using -Xcheck:jni can lead to a double-free after JDK-8193234
- - JDK-8258247: Couple of issues in fix for JDK-8249906
- - JDK-8258373: Update the text handling in the JPasswordField
- - JDK-8258396: SIGILL in jdk.jfr.internal.PlatformRecorder.rotateDisk()
- - JDK-8258419: RSA cipher buffer cleanup
- - JDK-8258471: "search codecache" clhsdb command does not work
- - JDK-8258534: Epsilon: clean up unused includes
- - JDK-8258805: Japanese characters not entered by mouse click on Windows 10
- - JDK-8258833: Cancel multi-part cipher operations in SunPKCS11 after failures
- - JDK-8258836: JNI local refs exceed capacity getDiagnosticCommandInfo
- - JDK-8258884: [TEST_BUG] Convert applet-based test open/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java to a regular java test
- - JDK-8259007: This test printed a blank page
- - JDK-8259049: Uninitialized variable after JDK-8257513
- - JDK-8259451: Zero: skip serviceability/sa tests, set vm.hasSA to false
- - JDK-8259580: Shenandoah: uninitialized label in VerifyThreadGCState
- - JDK-8259231: Epsilon: improve performance under contention during virtual space expansion
- - JDK-8259271: gc/parallel/TestDynShrinkHeap.java still fails "assert(covered_region.contains(new_memregion)) failed: new region is not in covered_region"
- - JDK-8259312: VerifyCACerts.java fails as soneraclass2ca cert will expire in 90 days
- - JDK-8259319: Illegal package access when SunPKCS11 requires SunJCE's classes
- - JDK-8259339: AllocateUninitializedArray C2 intrinsic fails with void.class input
- - JDK-8259428: AlgorithmId.getEncodedParams() should return copy
- - JDK-8259446: runtime/jni/checked/TestCheckedReleaseArrayElements.java fails with stderr not empty
- - JDK-8259949: x86 32-bit build fails when -fcf-protection is passed in the compiler flags
- - JDK-8259619: C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect
- - JDK-8259633: compiler/graalunit/CoreTest.java fails with NPE after JDK-8244543
- - JDK-8259706: C2 compilation fails with assert(vtable_index == Method::invalid_vtable_index) failed: correct sentinel value
- - JDK-8259707: LDAP channel binding does not work with StartTLS extension
- - JDK-8259773: Incorrect encoding of AVX-512 kmovq instruction
- - JDK-8259849: Shenandoah: Rename store-val to IU-barrier
- - JDK-8259954: gc/shenandoah/mxbeans tests fail with -Xcomp
- - JDK-8260029: aarch64: fix typo in verify_oop_array
- - JDK-8260308: Update LogCompilation junit to 4.13.1
- - JDK-8260338: Some fields in HaltNode is not cloned
- - JDK-8260349: Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS
- - JDK-8260356: (tz) Upgrade time-zone data to tzdata2021a
- - JDK-8260378: [TESTBUG] DcmdMBeanTestCheckJni.java reports false positive
- - JDK-8260497: Shenandoah: Improve SATB flushing
- - JDK-8260502: [s390] NativeMovRegMem::verify() fails because it's too strict
- - JDK-8260632: Build failures after JDK-8253353
- - JDK-8260704: ParallelGC: oldgen expansion needs release-store for _end
- - JDK-8261022: Fix incorrect result of Math.abs() with char type
- - JDK-8261089: [TESTBUG] native library of test TestCheckedReleaseCriticalArray.java fails to compile with gcc 4.x
- - JDK-8261183: Follow on to Make lists of normal filenames
- - JDK-8261209: isStandalone property: remove dependency on pretty-print
- - JDK-8261231: Windows IME was disabled after DnD operation
- - JDK-8261251: Shenandoah: Use object size for full GC humongous compaction
- - JDK-8261310: PPC64 Zero build fails with 'VMError::controlled_crash(int)::FunctionDescriptor functionDescriptor' has incomplete type and cannot be defined
- - JDK-8261334: NMT: tuning statistic shows incorrect hash distribution
- - JDK-8261413: Shenandoah: Disable class-unloading in I-U mode
- - JDK-8261522: [PPC64] AES intrinsics write beyond the destination array
- - JDK-8261534: Test sun/security/pkcs11/KeyAgreement/IllegalPackageAccess.java fails on platforms where no nsslib artifacts are defined
- - JDK-8261585: Restore HandleArea used in Deoptimization::uncommon_trap
- - JDK-8261753: Test java/lang/System/OsVersionTest.java still failing on BigSur patch versions after JDK-8253702
- - JDK-8261829: Exclude tools/jlink/JLinkReproducibleTest.java in 11u
- - JDK-8261912: Code IfNode::fold_compares_helper more defensively
- - JDK-8261920: [AIX] jshell command throws java.io.IOError on non English locales
- - JDK-8262018: Wrong format in SAP copyright header of OsVersionTest
- - JDK-8263069: Exclude some failing tests from security/infra/java/security/cert/CertPathValidator
-
-Notes on individual issues:
-===========================
-
-core-libs/javax.naming:
-
-JDK-8258824: LDAP Channel Binding Support for Java GSS/Kerberos
-===============================================================
-A new JNDI environment property "com.sun.jndi.ldap.tls.cbtype" has
-been added to enable TLS Channel Binding data in LDAP authentication
-over SSL/TLS protocol to the Windows AD server. The only valid value
-at present is "tls-server-end-point", where channel binding data is
-created on the base of the TLS server certificate. See RFC-5929 [0]
-and the module description of the `java.naming` module for further
-details.
-
-[0] RFC-5929 "Channel Bindings for TLS": https://www.ietf.org/rfc/rfc5929.txt
-
-security-libs/java.security:
-
-JDK-8260597: Added 2 HARICA Root CA Certificates
-================================================
-The following root certificates have been added to the cacerts truststore:
-
-Alias Name: haricarootca2015
-Distinguished Name: CN=Hellenic Academic and Research Institutions RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
-
-Alias Name: haricaeccrootca2015
-Distinguished Name: CN=Hellenic Academic and Research Institutions ECC RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
-
-security-libs/javax.net.ssl:
-
-JDK-8256490: Disable TLS 1.0 and 1.1
-====================================
-TLS 1.0 and 1.1 are versions of the TLS protocol that are no longer
-considered secure and have been superseded by more secure and modern
-versions (TLS 1.2 and 1.3).
-
-These versions have now been disabled by default. If you encounter
-issues, you can, at your own risk, re-enable the versions by removing
-"TLSv1" and/or "TLSv1.1" from the `jdk.tls.disabledAlgorithms`
-security property in the `java.security` configuration file.
-
-tools:
-
-JDK-8214213: jdeps --print-module-deps Reports Transitive Dependencies
-======================================================================
-`jdeps --print-module-deps`, `--list-deps`, and `--list-reduce-deps`
-options have been enhanced as follows.
-
-1. By default, they perform transitive module dependence analysis on
-libraries on the class path and module path, both directly and
-indirectly, as required by the given input JAR files or
-classes. Previously, they only reported the modules required by the
-given input JAR files or classes. The `--no-recursive` option can be
-used to request non-transitive dependence analysis.
-
-2. By default, they flag any missing dependency, i.e. not found from
-class path and module path, as an error. The `--ignore-missing-deps`
-option can be used to suppress missing dependence errors. Note that a
-custom image is created with the list of modules output by jdeps when
-using the `--ignore-missing-deps` option for a non-modular
-application. Such an application, running on the custom image, might
-fail at runtime when missing dependence errors are suppressed.
-
-xml/jaxp:
-
-JDK-8249867 XML declaration is not followed by a newline
-========================================================
-
-The DOM Load and Save `LSSerializer` does not have an explicit control
-for whether or not the XML Declaration ends with a newline. In this
-release, a JDK implementation specific property
-`http://www.oracle.com/xml/jaxp/properties/isStandalone` and
-corresponding System property `jdk.xml.isStandalone` are added to
-control the addition of a newline and act independently without
-having to set the pretty-print property. This property can be used to
-reverse the incompatible change introduced in Java SE 7 Update 4 with
-an update of Xalan 2.7.1 where a newline is omitted when pretty-print
-is required.
-
-For details, please refer to the bug report and the java.xml module-summary.
-
-Usage:
-
-// to set the property, get an instance of LSSerializer and set it along with pretty-print
-LSSerializer ser = impl.createLSSerializer();
-ser.getDomConfig().setParameter("format-pretty-print", true);
-ser.getDomConfig().setParameter("http://www.oracle.com/xml/jaxp/properties/isStandalone", true);
-
-// to use the System property, set it before initializing a LSSerializer
-System.setProperty("jdk.xml.isStandalone", “true”);
-
-// to clear the property, place the line anywhere after the LSSerializer is initialized
-System.clearProperty("jdk.xml.isStandalone");
-
-New in release OpenJDK 11.0.10 (2021-01-19):
-=============================================
-Live versions of these release notes can be found at:
- * https://bitly.com/openjdk11010
- * https://builds.shipilev.net/backports-monitor/release-notes-11.0.10.txt
-
-* Security fixes
- - JDK-8247619: Improve Direct Buffering of Characters
-* Other changes
- - JDK-6722928: Support SSPI as a native GSS-API provider
- - JDK-7185258: [macosx] Deadlock in SunToolKit.realSync()
- - JDK-8152332: [macosx] JFileChooser cannot be serialized on Mac OS X
- - JDK-8161684: [testconf] Add VerifyOops' testing into compiler tiers
- - JDK-8171279: Support X25519 and X448 in TLS
- - JDK-8173361: various crashes in JvmtiExport::post_compiled_method_load
- - JDK-8173658: JvmtiExport::post_class_unload() is broken for non-JavaThread initiators
- - JDK-8191006: hsdis disassembler plugin does not compile with binutils 2.29+
- - JDK-8197981: Missing return statement in __sync_val_compare_and_swap_8
- - JDK-8198334: java/awt/FileDialog/8003399/bug8003399.java fails in headless mode
- - JDK-8200151: Add 8 JNDI tests to com/sun/jndi/dns/ConfigTests/
- - JDK-8208279: Add 8 JNDI tests to com/sun/jndi/dns/EnvTests/
- - JDK-8208483: Add 5 JNDI tests to com/sun/jndi/dns/FactoryTests/
- - JDK-8208542: Add 4 JNDI tests to com/sun/jndi/dns/ListTests/
- - JDK-8208665: Amend cross-compilation docs with qemu-debootstrap recipe
- - JDK-8210088: ProblemList gc/epsilon/TestMemoryMXBeans.java
- - JDK-8210339: Add 10 JNDI tests to com/sun/jndi/dns/FedTests/
- - JDK-8211450: UndetVar::dup is not copying the kind field to the duplicated instance
- - JDK-8212160: JVMTI agent crashes with "assert(_value != 0LL) failed: resolving NULL _value"
- - JDK-8212226: SurfaceManager throws "Invalid Image variant" for MultiResolutionImage (Windows)
- - JDK-8213400: Support choosing group name in keytool keypair generation
- - JDK-8213535: Windows HiDPI html lightweight tooltips are truncated
- - JDK-8213698: Improve devkit creation and add support for linux/ppc64/ppc64le/s390x
- - JDK-8214025: assert(t->singleton()) failed: must be a constant when ScavengeRootsInCode < 2
- - JDK-8214242: compiler/arguments/TestScavengeRootsInCode.java fails because of missing UnlockDiagnosticVMOptions
- - JDK-8214787: Zero builds fail with "undefined JavaThread::thread_state()"
- - JDK-8215583: Exclude runtime/handshake/HandshakeWalkSuspendExitTest.java
- - JDK-8216012: Infinite loop in RSA KeyPairGenerator
- - JDK-8216324: GetClassMethods is confused by the presence of default methods in super interfaces
- - JDK-8217429: WebSocket over authenticating proxy fails to send Upgrade headers
- - JDK-8217976: test/jdk/java/net/httpclient/websocket/WebSocketProxyTest.java fails intermittently
- - JDK-8218021: Have jarsigner preserve posix permission attributes
- - JDK-8218287: jshell tool: input behavior unstable after 12-ea+24 on Windows
- - JDK-8218851: JVM crash in custom classloader stress test, JDK 12 & 13
- - JDK-8220420: Cleanup c1_LinearScan
- - JDK-8222072: JVMTI GenerateEvents() sends CompiledMethodLoad events to wrong jvmtiEnv
- - JDK-8222286: Fix for JDK-8213419 is broken on s390
- - JDK-8222527: HttpClient doesn't send HOST header when tunelling HTTP/1.1 through http proxy
- - JDK-8222533: jtreg test jdk/internal/platform/cgroup/TestCgroupMetrics.java fails on SLES12.3 linux ppc64le machine
- - JDK-8224506: [TESTBUG] TestDockerMemoryMetrics.java fails with exitValue = 137
- - JDK-8224555: vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/TestDescription.java failed
- - JDK-8224650: Add tests to support X25519 and X448 in TLS
- - JDK-8225072: Add LuxTrust certificate that is expiring in March 2021 to list of allowed but expired certs
- - JDK-8225329: -XX:+PrintBiasedLockingStatistics causes crash during initialization on Windows platforms
- - JDK-8225687: Newly added sspi.cpp in JDK-6722928 still contains some small errors
- - JDK-8227006: [linux] Runtime.availableProcessors execution time increased by factor of 100
- - JDK-8227275: Within native OOM error handling, assertions may hang the process
- - JDK-8227647: [Graal] Test8009761.java fails due to "RuntimeException: static java.lang.Object compiler.uncommontrap.Test8009761.m3(boolean,boolean) not compiled"
- - JDK-8229495: SIGILL in C2 generated OSR compilation
- - JDK-8230910: libsspi_bridge does not build on Windows 32bit
- - JDK-8232114: JVM crashed at imjpapi.dll in native code
- - JDK-8234147: Avoid looking up standard charsets in core libraries
- - JDK-8234393: [macos] printing ignores printer tray
- - JDK-8234863: Increase default value of MaxInlineLevel
- - JDK-8235218: Minimal VM is broken after JDK-8173361
- - JDK-8235456: Minimal VM is broken after JDK-8212160
- - JDK-8235829: graal crashes with Zombie.java test
- - JDK-8236124: Minimal VM slowdebug build failed after JDK-8212160
- - JDK-8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding
- - JDK-8236944: The legVecZ operand should be limited to zmm0-zmm15 registers
- - JDK-8237186: Fix typo in copyright header of java/io/Reader/TransferTo.java
- - JDK-8237499: JFR: Include stack trace in the ThreadStart event
- - JDK-8237512: AArch64: aarch64TestHook leaks a BufferBlob
- - JDK-8237524: AArch64: String.compareTo() may return incorrect result
- - JDK-8237950: C2 compilation fails with "Live Node limit exceeded limit" during ConvI2L::Ideal optimization
- - JDK-8238579: HttpsURLConnection drops the timeout and hangs forever in read
- - JDK-8239105: Add exception for expiring Digicert root certificates to VerifyCACerts test
- - JDK-8239477: jdk/jfr/jcmd/TestJcmdStartStopDefault.java fails -XX:+VerifyOops with "verify_oop: rsi: broken oop"
- - JDK-8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&)
- - JDK-8239886: Minimal VM build fails after JDK-8237499
- - JDK-8240633: Memory leaks in the implementations of FileChooserUI
- - JDK-8240690: Race condition between EDT and BasicDirectoryModel.FilesLoader.run0()
- - JDK-8241234: Unify monitor enter/exit runtime entries.
- - JDK-8241311: Move some charset mapping tests from closed to open
- - JDK-8241797: Add some tests to the problem list
- - JDK-8242029: AArch64: skip G1 array copy pre-barrier if marking not active
- - JDK-8242335: Additional Tests for RSASSA-PSS
- - JDK-8242480: Negative value may be returned by getFreeSwapSpaceSize() in the docker
- - JDK-8242614: cleanup duplicated test ldap server in some com/sun/jndi/ldap/ tests
- - JDK-8242846: Bring back test/jdk/tools/jlink/plugins/OrderResourcesPluginTest.java
- - JDK-8243114: Implement montgomery{Multiply,Square}intrinsics on Windows
- - JDK-8243290: Improve diagnostic messages for class verification and redefinition failures
- - JDK-8243488: Add tests for set/get SendBufferSize and getReceiveBufferSize in DatagramSocket
- - JDK-8243549: sun/security/ssl/CipherSuite/NamedGroupsWithCipherSuite.java failed with Unsupported signature algorithm: DSA
- - JDK-8243617: compiler/onSpinWait/TestOnSpinWaitC1.java test uses wrong class
- - JDK-8243619: compiler/codecache/CheckSegmentedCodeCache.java test misses -version
- - JDK-8244142: some hotspot/runtime tests don't check exit code of forked JVM
- - JDK-8244278: Excessive code cache flushes and sweeps
- - JDK-8244282: test/hotspot/jtreg/compiler/intrinsics/Test8237524.java fails with --illegal-access=deny
- - JDK-8244621: [macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11
- - JDK-8244819: hsdis does not compile with binutils 2.34+
- - JDK-8245051: c1 is broken if it is compiled by gcc without -fno-lifetime-dse
- - JDK-8245168: jlink should not be treated as a "small" tool
- - JDK-8245400: Upgrade to LittleCMS 2.11
- - JDK-8246381: VM crashes with "Current BasicObjectLock* below than low_mark"
- - JDK-8246434: Threads::print_on_error assumes that the heap has been set up
- - JDK-8246648: issue with OperatingSystemImpl getFreeSwapSpaceSize in docker after 8242480
- - JDK-8247201: Print potential pointer value of readable stack memory in hs_err file
- - JDK-8247763: assert(outer->outcnt() == 2) failed: 'only phis' failure in LoopNode::verify_strip_mined()
- - JDK-8247867: Upgrade to freetype 2.10.2
- - JDK-8248190: Enable Power10 system and implement new byte-reverse instructions
- - JDK-8248226: TestCloneAccessStressGCM fails with -XX:-ReduceBulkZeroing
- - JDK-8248347: windows build broken by JDK-8243114
- - JDK-8248532: Every time I change keyboard language at my MacBook, Java crashes
- - JDK-8248552: C2 crashes with SIGFPE due to division by zero
- - JDK-8248596: [TESTBUG] compiler/loopopts/PartialPeelingUnswitch.java times out with Graal enabled
- - JDK-8248745: Add jarsigner and keytool tests for restricted algorithms
- - JDK-8248791: sun/util/resources/cldr/TimeZoneNamesTest.java fails with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing
- - JDK-8248845: AArch64: stack corruption after spilling vector register
- - JDK-8249176: Update GlobalSignR6CA test certificates
- - JDK-8249183: JVM crash in "AwtFrame::WmSize" method
- - JDK-8249192: MonitorInfo stores raw oops across safepoints
- - JDK-8249602: C2: assert(cnt == _outcnt) failed: no insertions allowed
- - JDK-8249603: C1: assert(has_error == false) failed: register allocation invalid
- - JDK-8249605: C2: assert(no_dead_loop) failed: dead loop detected
- - JDK-8249607: C2: assert(!had_error) failed: bad dominance
- - JDK-8249608: Vector register used by C2 compiled method corrupted at safepoint
- - JDK-8249672: Include microcode revision in features_string on x86
- - JDK-8249748: gtest silently ignores bad jvm arguments
- - JDK-8249821: Separate libharfbuzz from libfontmanager
- - JDK-8250598: Hyper-V is detected in spite of running on host OS
- - JDK-8250605: Linux x86_32 builds fail after JDK-8249821
- - JDK-8250636: iso8601_time returns incorrect offset part on MacOS
- - JDK-8250665: Wrong translation for the month name of May in ar_JO,LB,SY
- - JDK-8250772: Test com/sun/jndi/ldap/NamingExceptionMessageTest.java fails intermittently with javax.naming.ServiceUnavailableException
- - JDK-8250825: C2 crashes with assert(field != __null) failed: missing field
- - JDK-8250894: Provide a configure option to build and run against the platform libharfbuzz
- - JDK-8250928: JFR: Improve hash algorithm for stack traces
- - JDK-8250968: Symlinks attributes not preserved when using jarsigner on zip files
- - JDK-8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities
- - JDK-8251118: BiasedLocking::preserve_marks should not have a HandleMark
- - JDK-8251189: com/sun/jndi/ldap/LdapDnsProviderTest.java failed due to timeout
- - JDK-8251257: NMT: jcmd VM.native_memory scale=1 crashes target VM
- - JDK-8251365: Build failure on AIX after 8250636
- - JDK-8251397: NPE on ClassValue.ClassValueMap.cacheArray
- - JDK-8251456: [TESTBUG] compiler/vectorization/TestVectorsNotSavedAtSafepoint.java failed OutOfMemoryError
- - JDK-8251458: Parse::do_lookupswitch fails with "assert(_cnt >= 0) failed"
- - JDK-8251535: Partial peeling at unsigned test adds incorrect loop exit check
- - JDK-8251949: ZGC: Set explicit heap size for compiler/gcbarriers tests
- - JDK-8252090: JFR: StreamWriterHost::write_unbuffered() stucks in an infinite loop OpenJDK (build 13.0.1+9)
- - JDK-8252415: Bump update version for OpenJDK: jdk-11.0.10
- - JDK-8252470: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows
- - JDK-8252497: Incorrect numeric currency code for ROL
- - JDK-8252660: Shenandoah: support manageable SoftMaxHeapSize option
- - JDK-8252679: Two windows specific FileDIalog tests may fail on some Windows_Server_2016_Standard
- - JDK-8252696: Loop unswitching may cause out of bound array load to be executed
- - JDK-8252754: Hash code calculation of JfrStackTrace is inconsistent
- - JDK-8253219: Epsilon: clean up unnecessary includes
- - JDK-8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues()
- - JDK-8253226: Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify
- - JDK-8253269: The CheckCommonColors test should provide more info on failure
- - JDK-8253284: Zero OrderAccess barrier mappings are incorrect
- - JDK-8253375: OSX build fails with Xcode 12.0 (12A7209)
- - JDK-8253778: ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads
- - JDK-8253791: Issue with useAppleColor check in CSystemColors.m
- - JDK-8254016: Test8237524 fails with -XX:-CompactStrings option
- - JDK-8254081: java/security/cert/PolicyNode/GetPolicyQualifiers.java fails due to an expired certificate
- - JDK-8254144: Non-x86 Zero builds fail with return-type warning in os_linux_zero.cpp
- - JDK-8254166: Zero: return-type warning in zeroInterpreter_zero.cpp
- - JDK-8254177: (tz) Upgrade time-zone data to tzdata2020b
- - JDK-8254185: Fix Code cache sweeper heuristics for JDK 11
- - JDK-8254190: [s390] interpreter misses exception check after calling monitorenter
- - JDK-8254790: SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics
- - JDK-8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations
- - JDK-8254982: (tz) Upgrade time-zone data to tzdata2020c
- - JDK-8255050: Add pkcs11/KeyStore/ClientAuth.sh to Problem list
- - JDK-8255065: Zero: accessor_entry misses the IRIW case
- - JDK-8255226: (tz) Upgrade time-zone data to tzdata2020d
- - JDK-8255269: Unsigned overflow in g1Policy.cpp
- - JDK-8255365: Problem list failing client manual tests
- - JDK-8255457: Shenandoah: cleanup ShenandoahMarkTask
- - JDK-8255466: C2 crashes at ciObject::get_oop() const+0x0
- - JDK-8255550: x86: Assembler::cmpq(Address dst, Register src) encoding is incorrect
- - JDK-8255603: Memory/Performance regression after JDK-8210985
- - JDK-8255760: Shenandoah: match constants style in ShenandoahMarkTask fallback
- - JDK-8255937: Better cleanup for test/jdk/javax/imageio/stream/StreamFlush.java
- - JDK-8256427: Test com/sun/jndi/dns/ConfigTests/PortUnreachable.java does not work on AIX
- - JDK-8256452: Integrate missing part of JDK-8232370 to 11u
- - JDK-8256483: [TESTBUG] serviceability/jvmti/GetClassMethods/libOverpassMethods.c fails to compile on gcc 4.4.x
- - JDK-8256557: libharfbuzz fails to link on gcc 4.4.x due to -Wl,-z,defs
- - JDK-8256618: Zero: Linux x86_32 build still fails
- - JDK-8256736: Zero: GTest tests fail with "unsuppported vm variant"
- - JDK-8256809: Annotation processing causes NPE during flow analysis
- - JDK-8257181: s390x builds are very noisy with gc-sections messages
- - JDK-8257242: [macOS] Java app crashes while switching input methods
- - JDK-8257545: SunJSSE FIPS regression in key exchange after JDK-8171279 11u backport
- - JDK-8257641: Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false
- - JDK-8257701: Shenandoah: objArrayKlass metadata is not marked with chunked arrays
- - JDK-8258630: Add expiry exception for QuoVadis root certificate
-
-Notes on individual issues:
-===========================
-
-security-libs/java.security:
-
-JDK-8213821: -groupname Option Added to keytool Key Pair Generation
-===================================================================
-A new `-groupname` option has been added to `keytool -genkeypair` so
-that a user can specify a named group when generating a key pair. For
-example, `keytool -genkeypair -keyalg EC -groupname secp384r1` will
-generate an EC key pair by using the `secp384r1` curve. Because there
-might be multiple curves with the same size, using the `-groupname`
-option is preferred over the `-keysize` option.
-
-JDK-8248263: jarsigner Preserves POSIX File Permission and symlink Attributes
-=============================================================================
-When signing a file that contains POSIX file permission or symlink
-attributes, `jarsigner` now preserves these attributes in the newly
-signed file but warns that these attributes are unsigned and not
-protected by the signature. The same warning is printed during the
-`jarsigner -verify` operation for such files.
-
-Note that the `jar` tool does not read/write these attributes. This
-change is more visible to tools like `unzip` where these attributes
-are preserved.
-
-security-libs/javax.net.ssl:
-
-JDK-8225764: Support for X25519 and X448 in TLS
-================================================
-
-The named elliptic curve groups `x25519` and `x448` are now available
-for JSSE key agreement in TLS versions 1.0 to 1.3, with `x25519` being
-the most preferred of the default enabled named groups. The default
-ordered list is now:
-
-* x25519
-* secp256r1
-* secp384r1
-* secp521r1
-* x448
-* secp256k1
-* ffdhe2048
-* ffdhe3072
-* ffdhe4096
-* ffdhe6144
-* ffdhe8192
-
-The default list can be overridden using the system property *`jdk.tls.namedGroups`*.
-
-security-libs/org.ietf.jgss:
-
-JDK-8214079: Added a Default Native GSS-API Library on Windows
-==============================================================
-A native GSS-API library has been added to JDK on the Windows
-platform. The library is client-side only and uses the default
-credentials. It will be loaded when the `sun.security.jgss.native`
-system property is set to "true". A user can still load a third-party
-native GSS-API library by setting the system property
-`sun.security.jgss.lib` to its path.
-
-New in release OpenJDK 11.0.9.1 (2020-10-20):
-=============================================
-Live versions of these release notes can be found at:
- * https://bitly.com/openjdk11091
- * https://builds.shipilev.net/backports-monitor/release-notes-11.0.9.1.txt
-
-* Regression fixes
- - JDK-8250861: Crash in MinINode::Ideal(PhaseGVN*, bool)
-
-New in release OpenJDK 11.0.9 (2020-10-20):
+New in release OpenJDK 17.0.4.1 (2022-08-16):
===========================================
Live versions of these release notes can be found at:
- * https://bitly.com/openjdk1109
- * https://builds.shipilev.net/backports-monitor/release-notes-11.0.9.txt
+ * https://bit.ly/openjdk17041
+ * https://builds.shipilev.net/backports-monitor/release-notes-17.0.4.1.txt
-* Security fixes
- - JDK-8233624: Enhance JNI linkage
- - JDK-8236196: Improve string pooling
- - JDK-8236862, CVE-2020-14779: Enhance support of Proxy class
- - JDK-8237990, CVE-2020-14781: Enhanced LDAP contexts
- - JDK-8237995, CVE-2020-14782: Enhance certificate processing
- - JDK-8240124: Better VM Interning
- - JDK-8241114, CVE-2020-14792: Better range handling
- - JDK-8242680, CVE-2020-14796: Improved URI Support
- - JDK-8242685, CVE-2020-14797: Better Path Validation
- - JDK-8242695, CVE-2020-14798: Enhanced buffer support
- - JDK-8243302: Advanced class supports
- - JDK-8244136, CVE-2020-14803: Improved Buffer supports
- - JDK-8244479: Further constrain certificates
- - JDK-8244955: Additional Fix for JDK-8240124
- - JDK-8245407: Enhance zoning of times
- - JDK-8245412: Better class definitions
- - JDK-8245417: Improve certificate chain handling
- - JDK-8248574: Improve jpeg processing
- - JDK-8249927: Specify limits of jdk.serialProxyInterfaceLimit
- - JDK-8253019: Enhanced JPEG decoding
* Other changes
- - JDK-6532025: GIF reader throws misleading exception with truncated images
- - JDK-6949753: [TEST BUG]: java/awt/print/PageFormat/PDialogTest.java needs update by removing a infinite loop
- - JDK-8022535: [TEST BUG] javax/swing/text/html/parser/Test8017492.java fails
- - JDK-8062947: Fix exception message to correctly represent LDAP connection failure
- - JDK-8067354: com/sun/jdi/GetLocalVariables4Test.sh failed
- - JDK-8134599: TEST_BUG: java/rmi/transport/closeServerSocket/CloseServerSocket.java fails intermittently with Address already in use
- - JDK-8151678: com/sun/jndi/ldap/LdapTimeoutTest.java failed due to timeout on DeadServerNoTimeoutTest is incorrect
- - JDK-8160768: Add capability to custom resolve host/domain names within the default JNDI LDAP provider
- - JDK-8172404: Tools should warn if weak algorithms are used before restricting them
- - JDK-8193367: Annotated type variable bounds crash javac
- - JDK-8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset
- - JDK-8203026: java.rmi.NoSuchObjectException: no such object in table
- - JDK-8203281: [Windows] JComboBox change in ui when editor.setBorder() is called
- - JDK-8203382: Rename SystemDictionary::initialize_wk_klass to resolve_wk_klass
- - JDK-8203393: com/sun/jdi/JdbMethodExitTest.sh and JdbExprTest.sh fail due to timeout
- - JDK-8203928: [Test] Convert non-JDB scaffolding serviceability shell script tests to java
- - JDK-8204963: javax.swing.border.TitledBorder has a memory leak
- - JDK-8204994: SA might fail to attach to process with "Windbg Error: WaitForEvent failed"
- - JDK-8205534: Remove SymbolTable dependency from serviceability agent
- - JDK-8206309: Tier1 SA tests fail
- - JDK-8208281: java/nio/channels/AsynchronousSocketChannel/Basic.java timed out
- - JDK-8209109: [TEST] rewrite com/sun/jdi shell tests to java version - step1
- - JDK-8209332: [TEST] test/jdk/com/sun/jdi/CatchPatternTest.sh is incorrect
- - JDK-8209342: Problemlist SA tests on Solaris due to Error attaching to process: Can't create thread_db agent!
- - JDK-8209343: Test javax/swing/border/TestTitledBorderLeak.java should be marked as headful
- - JDK-8209517: com/sun/jdi/BreakpointWithFullGC.java fails with timeout
- - JDK-8209604: [TEST] rewrite com/sun/jdi shell tests to java version - step2
- - JDK-8209605: com/sun/jdi/BreakpointWithFullGC.java fails with ZGC
- - JDK-8209608: Problem list com/sun/jdi/BreakpointWithFullGC.java
- - JDK-8210131: vmTestbase/nsk/jvmti/scenarios/allocation/AP10/ap10t001/TestDescription.java failed with ObjectFree: GetCurrentThreadCpuTimerInfo returned unexpected error code
- - JDK-8210243: [TEST] rewrite com/sun/jdi shell tests to java version - step3
- - JDK-8210527: JShell: NullPointerException in jdk.jshell.Eval.translateExceptionStack
- - JDK-8210560: [TEST] convert com/sun/jdi redefineClass-related tests
- - JDK-8210725: com/sun/jdi/RedefineClearBreakpoint.java fails with waitForPrompt timed out after 60 seconds
- - JDK-8210748: [TESTBUG] lib.jdb.Jdb.waitForPrompt() should clarify which output is the pending reply after a timeout
- - JDK-8210760: [TEST] rewrite com/sun/jdi shell tests to java version - step4
- - JDK-8210977: jdk/jfr/event/oldobject/TestThreadLocalLeak.java fails to find ThreadLocalObject
- - JDK-8211292: [TEST] convert com/sun/jdi/DeferredStepTest.sh test
- - JDK-8211694: JShell: Redeclared variable should be reset
- - JDK-8212200: assert when shared java.lang.Object is redefined by JVMTI agent
- - JDK-8212629: [TEST] wrong breakpoint in test/jdk/com/sun/jdi/DeferredStepTest
- - JDK-8212665: com/sun/jdi/DeferredStepTest.java: jj1 (line 57) - unexpected. lastLine=52, minLine=52, maxLine=55
- - JDK-8212807: tools/jar/multiRelease/Basic.java times out
- - JDK-8213182: Minimal VM build failure after JDK-8212200 (assert when shared java.lang.Object is redefined by JVMTI agent)
- - JDK-8213214: Set -Djava.io.tmpdir= when running tests
- - JDK-8213275: ReplaceCriticalClasses.java fails with jdk.internal.vm.PostVMInitHook not found
- - JDK-8213574: Deadlock in string table expansion when dumping lots of CDS classes
- - JDK-8213703: LambdaConversionException: Invalid receiver type not a subtype of implementation type interface
- - JDK-8214074: Ghash optimization using AVX instructions
- - JDK-8214491: Upgrade to JLine 3.9.0
- - JDK-8214797: TestJmapCoreMetaspace.java timed out
- - JDK-8215243: JShell tests failing intermitently with \"Problem cleaning up the following threads:\"
- - JDK-8215244: jdk/jshell/ToolBasicTest.java testHistoryReference failed
- - JDK-8215354: x86_32 build failures after JDK-8214074 (Ghash optimization using AVX instructions)
- - JDK-8215438: jshell tool: Ctrl-D causes EOF
- - JDK-8216021: RunTest.gmk might set concurrency level to 1 on Windows
- - JDK-8216974: HttpConnection not returned to the pool after 204 response
- - JDK-8218948: SimpleDateFormat :: format - Zone Names are not reflected correctly during run time
- - JDK-8219712: code_size2 (defined in stub_routines_x86.hpp) is too small on new Skylake CPUs
- - JDK-8220150: macos10.14 Mojave returns anti-aliased glyphs instead of aliased B&W glyphs
- - JDK-8221658: aarch64: add necessary predicate for ubfx patterns
- - JDK-8221759: Crash when completing \"java.io.File.path\"
- - JDK-8221918: runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java fails: Shared archive not found
- - JDK-8222074: Enhance auto vectorization for x86
- - JDK-8222079: Don't use memset to initialize fields decode_env constructor in disassembler.cpp
- - JDK-8222769: [TESTBUG] TestJFRNetworkEvents should not rely on hostname command
- - JDK-8223688: JShell: crash on the instantiation of raw anonymous class
- - JDK-8223777: In posix_spawn mode, failing to exec() jspawnhelper does not result in an error
- - JDK-8223940: Private key not supported by chosen signature algorithm
- - JDK-8224184: jshell got IOException at exiting with AIX
- - JDK-8224234: compiler/codegen/TestCharVect2.java fails in test_mulc
- - JDK-8225037: java.net.JarURLConnection::getJarEntry() throws NullPointerException
- - JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimization using AVX512 + VAES instructions
- - JDK-8226536: Catch OOM from deopt that fails rematerializing objects
- - JDK-8226575: OperatingSystemMXBean should be made container aware
- - JDK-8226697: Several tests which need the @key headful keyword are missing it.
- - JDK-8226809: Circular reference in printed stack trace is not correctly indented & ambiguous
- - JDK-8227059: sun/security/tools/keytool/DefaultSignatureAlgorithm.java timed out
- - JDK-8227269: Slow class loading when running with JDWP
- - JDK-8227595: keytool/fakegen/DefaultSignatureAlgorithm.java fails due to "exitValue = 6"
- - JDK-8228448: Jconsole can't connect to itself
- - JDK-8228967: Trust/Key store and SSL context utilities for tests
- - JDK-8229378: jdwp library loader in linker_md.c quietly truncates on buffer overflow
- - JDK-8229815: Upgrade Jline to 3.12.1
- - JDK-8230000: some httpclients testng tests run zero test
- - JDK-8230002: javax/xml/jaxp/unittest/transform/SecureProcessingTest.java runs zero test
- - JDK-8230010: Remove jdk8037819/BasicTest1.java
- - JDK-8230094: CCE in createXMLEventWriter(Result) over an arbitrary XMLStreamWriter
- - JDK-8230402: Allocation of compile task fails with assert: "Leaking compilation tasks?"
- - JDK-8230767: FlightRecorderListener returns null recording
- - JDK-8230870: (zipfs) Add a ZIP FS test that is similar to test/jdk/java/util/zip/EntryCount64k.java
- - JDK-8231209: [REDO] ThreadMXBean::getThreadAllocatedBytes() can be quicker for self thread
- - JDK-8231586: enlarge encoding space for OopMapValue offsets
- - JDK-8231953: Wrong assumption in assertion in oop::register_oop
- - JDK-8231968: getCurrentThreadAllocatedBytes default implementation s/b getThreadAllocatedBytes
- - JDK-8232083: Minimal VM is broken after JDK-8231586
- - JDK-8232161: Align some one-way conversion in MS950 charset with Windows
- - JDK-8232855: jshell missing word in /help help
- - JDK-8233027: OopMapSet::all_do does oms.next() twice during iteration
- - JDK-8233228: Disable weak named curves by default in TLS, CertPath, and Signed JAR
- - JDK-8233386: Initialize NULL fields for unused decorations
- - JDK-8233452: java.math.BigDecimal.sqrt() with RoundingMode.FLOOR results in incorrect result
- - JDK-8233686: XML transformer uses excessive amount of memory
- - JDK-8233741: AES Countermode (AES-CTR) optimization using AVX512 + VAES instructions
- - JDK-8233829: javac cannot find non-ASCII module name under non-UTF8 environment
- - JDK-8233958: Memory retention due to HttpsURLConnection finalizer that serves no purpose
- - JDK-8234011: (zipfs) Memory leak in ZipFileSystem.releaseDeflater()
- - JDK-8234058: runtime/CompressedOops/CompressedClassPointers.java fails with 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr
- - JDK-8234149: Several regression tests do not dispose Frame at end
- - JDK-8234347: "Turkey" meta time zone does not generate composed localized names
- - JDK-8234385: [TESTBUG] java/awt/EventQueue/6980209/bug6980209.java fails in linux nightly
- - JDK-8234535: Cross compilation fails due to missing CFLAGS for the BUILD_CC
- - JDK-8234541: C1 emits an empty message when it inlines successfully
- - JDK-8234687: change javap reporting on unknown attributes
- - JDK-8236464: SO_LINGER option is ignored by SSLSocket in JDK 11
- - JDK-8236548: Localized time zone name inconsistency between English and other locales
- - JDK-8236617: jtreg test containers/docker/TestMemoryAwareness.java fails after 8226575
- - JDK-8237182: Update copyright header for shenandoah and epsilon files
- - JDK-8237888: security/infra/java/security/cert/CertPathValidator/certification/LuxTrustCA.java fails when checking validity interval
- - JDK-8237977: Further update javax/net/ssl/compatibility/Compatibility.java
- - JDK-8238270: java.net HTTP/2 client does not decrease stream count when receives 204 response
- - JDK-8238284: [macos] Zero VM build fails due to an obvious typo
- - JDK-8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10
- - JDK-8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10
- - JDK-8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10
- - JDK-8238448: RSASSA-PSS signature verification fail when using certain odd key sizes
- - JDK-8238710: LingeredApp doesn't log stdout/stderr if exits with non-zero code
- - JDK-8239083: C1 assert(known_holder == NULL || (known_holder->is_instance_klass() && (!known_holder->is_interface() || ((ciInstanceKlass*)known_holder)->has_nonstatic_concrete_methods())), "should be non-static concrete method");
- - JDK-8239385: KerberosTicket client name refers wrongly to sAMAccountName in AD
- - JDK-8240169: javadoc fails to link to non-modular api docs
- - JDK-8240295: hs_err elapsed time in seconds is not accurate enough
- - JDK-8240360: NativeLibraryEvent has wrong library name on Linux
- - JDK-8240676: Meet not symmetric failure when running lucene on jdk8
- - JDK-8241007: Shenandoah: remove ShenandoahCriticalControlThreadPriority support
- - JDK-8241065: Shenandoah: remove leftover code after JDK-8231086
- - JDK-8241086: Test runtime/NMT/HugeArenaTracking.java is failing on 32bit Windows
- - JDK-8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException
- - JDK-8241138: http.nonProxyHosts=* causes StringIndexOutOfBoundsException in DefaultProxySelector
- - JDK-8241319: WB_GetCodeBlob doesn't have ResourceMark
- - JDK-8241478: vmTestbase/gc/gctests/Steal/steal001/steal001.java fails with OOME
- - JDK-8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure
- - JDK-8241750: x86_32 build failure after JDK-8227269
- - JDK-8242184: CRL generation error with RSASSA-PSS
- - JDK-8242283: Can't start JVM when java home path includes non-ASCII character
- - JDK-8242556: Cannot load RSASSA-PSS public key with non-null params from byte array
- - JDK-8243029: Rewrite javax/net/ssl/compatibility/Compatibility.java with a flexible interop test framework
- - JDK-8243138: Enhance BaseLdapServer to support starttls extended request
- - JDK-8243320: Add SSL root certificates to Oracle Root CA program
- - JDK-8243321: Add Entrust root CA - G4 to Oracle Root CA program
- - JDK-8243389: enhance os::pd_print_cpu_info on linux
- - JDK-8243453: java --describe-module failed with non-ASCII module name under non-UTF8 environment
- - JDK-8243470: [macos] bring back O2 opt level for unsafe.cpp
- - JDK-8243489: Thread CPU Load event may contain wrong data for CPU time under certain conditions
- - JDK-8243925: Toolkit#getScreenInsets() returns wrong value on HiDPI screens (Windows)
- - JDK-8244087: 2020-04-24 public suffix list update
- - JDK-8244151: Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26
- - JDK-8244164: AArch64: jaotc generates incorrect code for compressed OOPs with non-zero heap base
- - JDK-8244196: adjust output in os_linux
- - JDK-8244225: stringop-overflow warning on strncpy call from compile_the_world_in
- - JDK-8244287: JFR: Methods samples have line number 0
- - JDK-8244703: "platform encoding not initialized" exceptions with debugger, JNI
- - JDK-8244719: CTW: C2 compilation fails with "assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it"
- - JDK-8244729: Shenandoah: remove resolve paths from SBSA::generate_shenandoah_lrb
- - JDK-8244763: Update --release 8 symbol information after JSR 337 MR3
- - JDK-8244818: Java2D Queue Flusher crash while moving application window to external monitor
- - JDK-8245151: jarsigner should not raise duplicate warnings on verification
- - JDK-8245616: Bump update version for OpenJDK: jdk-11.0.9
- - JDK-8245714: "Bad graph detected in build_loop_late" when loads are pinned on loop limit check uncommon branch
- - JDK-8245801: StressRecompilation triggers assert "redundunt OSR recompilation detected. memory leak in CodeCache!"
- - JDK-8245832: JDK build make-static-libs should build all JDK libraries
- - JDK-8245880: Shenandoah: check class unloading flag early in concurrent code root scan
- - JDK-8245981: Upgrade to jQuery 3.5.1
- - JDK-8246027: Minimal fastdebug build broken after JDK-8245801
- - JDK-8246094: [macos] Sound Recording and playback is not working
- - JDK-8246153: TestEliminateArrayCopy fails with -XX:+StressReflectiveCode
- - JDK-8246193: Possible NPE in ENC-PA-REP search in AS-REQ
- - JDK-8246196: javax/management/MBeanServer/OldMBeanServerTest fails with AssertionError
- - JDK-8246203: Segmentation fault in verification due to stack overflow with -XX:+VerifyIterativeGVN
- - JDK-8246330: Add TLS Tests for Legacy ECDSA curves
- - JDK-8246453: TestClone crashes with "all collected exceptions must come from the same place"
- - JDK-8247246: Add explicit ResolvedJavaType.link and expose presence of default methods
- - JDK-8247350: [aarch64] assert(false) failed: wrong size of mach node
- - JDK-8247502: PhaseStringOpts crashes while optimising effectively dead code
- - JDK-8247615: Initialize the bytes left for the heap sampler
- - JDK-8247824: CTW: C2 (Shenandoah) compilation fails with SEGV in SBC2Support::pin_and_expand
- - JDK-8247874: Replacement in VersionProps.java.template not working when --with-vendor-bug-url contains '&'
- - JDK-8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg
- - JDK-8248214: Add paddings for TaskQueueSuper to reduce false-sharing cache contention
- - JDK-8248219: aarch64: missing memory barrier in fast_storefield and fast_accessfield
- - JDK-8248348: Regression caused by the update to BCEL 6.0
- - JDK-8248385: [testbug][11u] Adapt TestInitiExceptions to jtreg 5.1
- - JDK-8248495: [macos] zerovm is broken due to libffi headers location
- - JDK-8248851: CMS: Missing memory fences between free chunk check and klass read
- - JDK-8248987: AOT's Linker.java seems to eagerly fail-fast on Windows
- - JDK-8249159: Downport test rework for SSLSocketTemplate from 8224650
- - JDK-8249215: JFrame::setVisible crashed with -Dfile.encoding=UTF-8 on Japanese Windows.
- - JDK-8249251: [dark_mode ubuntu 20.04] The selected menu is not highlighted in GTKLookAndFeel
- - JDK-8249255: Build fails if source code in cygwin home dir
- - JDK-8249277: TestVerifyIterativeGVN.java is failing with timeout in OpenJDK 11
- - JDK-8249278: Revert JDK-8226253 which breaks the spec of AccessibleState.SHOWING for JList
- - JDK-8249560: Shenandoah: Fix racy GC request handling
- - JDK-8249801: Shenandoah: Clear soft-refs on requested GC cycle
- - JDK-8249953: Shenandoah: gc/shenandoah/mxbeans tests should account for corner cases
- - JDK-8250582: Revert Principal Name type to NT-UNKNOWN when requesting TGS Kerberos tickets
- - JDK-8250609: C2 crash in IfNode::fold_compares
- - JDK-8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics
- - JDK-8250755: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java
- - JDK-8250787: Provider.put no longer registering aliases in FIPS env
- - JDK-8250826: jhsdb does not work with coredump which comes from Substrate VM
- - JDK-8250827: Shenandoah: needs to reset/finish StringTable's dead count before/after parallel walk
- - JDK-8250844: Make sure {type,obj}ArrayOopDesc accessors check the bounds
- - JDK-8251117: Cannot check P11Key size in P11Cipher and P11AEADCipher
- - JDK-8251354: Shenandoah: Fix jdk/jfr/tool/TestPrintJSON.java test failure
- - JDK-8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U
- - JDK-8251469: Better cleanup for test/jdk/javax/imageio/SetOutput.java
- - JDK-8251487: Shenandoah: missing detail timing tracking for final mark cleaning phase
- - JDK-8252120: compiler/oracle/TestCompileCommand.java misspells "occured"
- - JDK-8252157: JDK-8231209 11u backport breaks jmm binary compatibility
- - JDK-8252258: [11u] JDK-8242154 changes the default vendor
- - JDK-8252804: [test] Fix 'ReleaseDeflater.java' test after downport of 8234011
- - JDK-8253134: JMM_VERSION should remain at 0x20020000 (JDK 10) in JDK 11
- - JDK-8253283: [11u] Test build/translations/VerifyTranslations.java failing after JDK-8252258
- - JDK-8253813: Backout JDK-8244287 from 11u: it causes several crashes
+ - JDK-8292258: Bump update version for OpenJDK: jdk-17.0.4.1
+ - JDK-8292260: [BACKOUT] JDK-8279219: [REDO] C2 crash when allocating array of size too large
Notes on individual issues:
===========================
-core-libs/java.nio.charsets:
+hotspot/compiler:
-JDK-8240196: Modified the MS950 charset Encoder's Conversion Table
-==================================================================
-In this release, some of the one-way byte-to-char mappings have been
-aligned with the preferred mappings provided by the Unicode Consortium
-(https://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit950.txt).
+JDK-8292396: C2 Compilation Errors Unpredictably Crashes JVM
+============================================================
+Fixes a regression in the C2 JIT compiler which caused the Java
+Runtime to crash unpredictably.
-core-libs/java.util:i18n:
-
-JDK-8238914: Localized Time Zone Name Inconsistency Between English and Other Locales
-=====================================================================================
-English time zone names provided by the CLDR locale provider are now
-correctly synthesized following the CLDR spec, rather than substituted
-from the COMPAT provider. For example, SHORT style names are no longer
-synthesized abbreviations of LONG style names, but instead produce GMT
-offset formats.
-
-core-svc/java.lang.management:
-
-JDK-8236876: OperatingSystemMXBean Methods Inside a Container Return Container Specific Data
-============================================================================================
-When executing in a container, or other virtualized operating
-environment, the following `OperatingSystemMXBean` methods in this
-release return container specific information, if
-available. Otherwise, they return host specific data:
-
-* getFreePhysicalMemorySize()
-* getTotalPhysicalMemorySize()
-* getFreeSwapSpaceSize()
-* getTotalSwapSpaceSize()
-* getSystemCpuLoad()
-
-security-libs/java.security:
-
-JDK-8250756: Added Entrust Root Certification Authority - G4 certificate
-========================================================================
-The Entrust root certificate has been added to the cacerts truststore:
-
-Alias Name: entrustrootcag4
-Distinguished Name: CN=Entrust Root Certification Authority - G4, OU="(c) 2015 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US
-
-JDK-8250860: Added 3 SSL Corporation Root CA Certificates
-=========================================================
-The following root certificates have been added to the cacerts truststore for the SSL Corporation:
-
-Alias Name: sslrootrsaca
-Distinguished Name: CN=SSL.com Root Certification Authority RSA, O=SSL Corporation, L=Houston, ST=Texas, C=US
-
-Alias Name: sslrootevrsaca
-Distinguished Name: CN=SSL.com EV Root Certification Authority RSA R2, O=SSL Corporation, L=Houston, ST=Texas, C=US
-
-Alias Name: sslrooteccca
-Distinguished Name: CN=SSL.com Root Certification Authority ECC, O=SSL Corporation, L=Houston, ST=Texas, C=US
-
-JDK-8236730: Weak Named Curves in TLS, CertPath, and Signed JAR Disabled by Default
-===================================================================================
-Weak named curves are disabled by default by adding them to the
-following `disabledAlgorithms` security properties:
-
-* jdk.tls.disabledAlgorithms
-* jdk.certpath.disabledAlgorithms
-* jdk.jar.disabledAlgorithms
-
-Red Hat has always disabled many of the curves provided by upstream,
-so the only addition in this release is:
-
-* secp256k1
-
-The curves that remain enabled are:
-
-* secp256r1
-* secp384r1
-* secp521r1
-* X25519
-* X448
-
-When large numbers of weak named curves need to be disabled, adding
-individual named curves to each `disabledAlgorithms` property would be
-overwhelming. To relieve this, a new security property,
-`jdk.disabled.namedCurves`, is implemented that can list the named
-curves common to all of the `disabledAlgorithms` properties. To use
-the new property in the `disabledAlgorithms` properties, precede the
-full property name with the keyword `include`. Users can still add
-individual named curves to `disabledAlgorithms` properties separate
-from this new property. No other properties can be included in the
-`disabledAlgorithms` properties.
-
-To restore the named curves, remove the `include
-jdk.disabled.namedCurves` either from specific or from all
-`disabledAlgorithms` security properties. To restore one or more
-curves, remove the specific named curve(s) from the
-`jdk.disabled.namedCurves` property.
-
-JDK-8244286: Tools Warn If Weak Algorithms Are Used Before Restricting Them
-===========================================================================
-The `keytool` and `jarsigner` tools have been updated to warn users
-about weak cryptographic algorithms being used before they are
-disabled. In this release, the tools issue warnings for the SHA-1 hash
-algorithm and 1024-bit RSA/DSA keys.
-
-security-libs/javax.net.ssl:
-
-JDK-8242147: New System Properties to Configure the TLS Signature Schemes
-=========================================================================
-Two new system properties have been added to customize the TLS
-signature schemes in JDK. `jdk.tls.client.SignatureSchemes` has been
-added for the TLS client side, and `jdk.tls.server.SignatureSchemes`
-has been added for the server side.
-
-Each system property contains a comma-separated list of supported
-signature scheme names specifying the signature schemes that could be
-used for the TLS connections.
-
-The names are described in the "Signature Schemes" section of the
-*Java Security Standard Algorithm Names Specification*.
-
-security-libs/javax.security:
-
-JDK-8242059: Support for canonicalize in krb5.conf
-==================================================
-
-The 'canonicalize' flag in the [krb5.conf file][0] is now supported by
-the JDK Kerberos implementation. When set to *true*, RFC 6806 [1] name
-canonicalization is requested by clients in TGT requests to KDC
-services (AS protocol). Otherwise, and by default, it is not
-requested.
-
-The new default behavior is different from previous releases where
-name canonicalization was always requested by clients in TGT requests
-to KDC services (provided that support for RFC 6806[1] was not
-explicitly disabled with the *sun.security.krb5.disableReferrals*
-system or security properties).
-
-[0]: https://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html
-[1]: https://tools.ietf.org/html/rfc6806
-
-JDK-8254177: US/Pacific-New Zone name removed as part of tzdata2020b
-====================================================================
-Following JDK's update to tzdata2020b, the long-obsolete files
-pacificnew and systemv have been removed. As a result, the
-"US/Pacific-New" zone name declared in the pacificnew data file is no
-longer available for use.
-
-Information regarding the update can be viewed at
-https://mm.icann.org/pipermail/tz-announce/2020-October/000059.html
-
-New in release OpenJDK 11.0.8 (2020-07-14):
+New in release OpenJDK 17.0.4 (2022-07-19):
===========================================
Live versions of these release notes can be found at:
- * https://bitly.com/oj1108
- * https://builds.shipilev.net/backports-monitor/release-notes-11.0.8.txt
+ * https://bitly.com/openjdk1704
+ * https://builds.shipilev.net/backports-monitor/release-notes-17.0.4.txt
* Security fixes
- - JDK-8230613: Better ASCII conversions
- - JDK-8231800: Better listing of arrays
- - JDK-8232014: Expand DTD support
- - JDK-8233234: Better Zip Naming
- - JDK-8233239, CVE-2020-14562: Enhance TIFF support
- - JDK-8233255: Better Swing Buttons
- - JDK-8234032: Improve basic calendar services
- - JDK-8234042: Better factory production of certificates
- - JDK-8234418: Better parsing with CertificateFactory
- - JDK-8234836: Improve serialization handling
- - JDK-8236191: Enhance OID processing
- - JDK-8236867, CVE-2020-14573: Enhance Graal interface handling
- - JDK-8237117, CVE-2020-14556: Better ForkJoinPool behavior
- - JDK-8237592, CVE-2020-14577: Enhance certificate verification
- - JDK-8238002, CVE-2020-14581: Better matrix operations
- - JDK-8238013: Enhance String writing
- - JDK-8238804: Enhance key handling process
- - JDK-8238842: AIOOBE in GIFImageReader.initializeStringTable
- - JDK-8238843: Enhanced font handing
- - JDK-8238920, CVE-2020-14583: Better Buffer support
- - JDK-8238925: Enhance WAV file playback
- - JDK-8240119, CVE-2020-14593: Less Affine Transformations
- - JDK-8240482: Improved WAV file playback
- - JDK-8241379: Update JCEKS support
- - JDK-8241522: Manifest improved jar headers redux
- - JDK-8242136, CVE-2020-14621: Better XML namespace handling
+ - JDK-8272243: Improve DER parsing
+ - JDK-8272249: Better properties of loaded Properties
+ - JDK-8273056, JDK-8283875, CVE-2022-21549: java.util.random does not correctly sample exponential or Gaussian distributions
+ - JDK-8277608: Address IP Addressing
+ - JDK-8281859, CVE-2022-21540: Improve class compilation
+ - JDK-8281866, CVE-2022-21541: Enhance MethodHandle invocations
+ - JDK-8283190: Improve MIDI processing
+ - JDK-8284370: Improve zlib usage
+ - JDK-8285407, CVE-2022-34169: Improve Xalan supports
* Other changes
- - JDK-6933331: (d3d/ogl) java.lang.IllegalStateException: Buffers have not been created
- - JDK-7124307: JSpinner and changing value by mouse
- - JDK-8022574: remove HaltNode code after uncommon trap calls
- - JDK-8039082: [TEST_BUG] Test java/awt/dnd/BadSerializationTest/BadSerializationTest.java fails
- - JDK-8040630: Popup menus and tooltips flicker with previous popup contents when first shown
- - JDK-8044365: (dc) MulticastSendReceiveTests.java failing with ENOMEM when joining group (OS X 10.9)
- - JDK-8048215: [TESTBUG] java/lang/management/ManagementFactory/ThreadMXBeanProxy.java Expected non-null LockInfo
- - JDK-8051349: nsk/jvmti/scenarios/sampling/SP06/sp06t003 fails in nightly
- - JDK-8080353: JShell: Better error message on attempting to add default method
- - JDK-8139876: Exclude hanging nsk/stress/stack from execution with deoptimization enabled
- - JDK-8146090: java/lang/ref/ReachabilityFenceTest.java fails with -XX:+DeoptimizeALot
- - JDK-8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout
- - JDK-8156207: Resource allocated BitMaps are often cleared unnecessarily
- - JDK-8159740: JShell: corralled declarations do not have correct source to wrapper mapping
- - JDK-8175984: ICC_Profile has un-needed, not-empty finalize method
- - JDK-8176359: Frame#setMaximizedbounds not working properly in multi screen environments
- - JDK-8183369: RFC unconformity of HttpURLConnection with proxy
- - JDK-8187078: -XX:+VerifyOops finds numerous problems when running JPRT
- - JDK-8191169: java/net/Authenticator/B4769350.java failed intermittently
- - JDK-8191930: [Graal] emits unparseable XML into compile log
- - JDK-8193879: Java debugger hangs on method invocation
- - JDK-8196019: java/awt/Window/Grab/GrabTest.java fails on Windows
- - JDK-8196181: sun/java2d/GdiRendering/InsetClipping.java fails
- - JDK-8198000: java/awt/List/EmptyListEventTest/EmptyListEventTest.java debug assert on Windows
- - JDK-8198001: java/awt/Menu/WrongParentAfterRemoveMenu/WrongParentAfterRemoveMenu.java debug assert on Windows
- - JDK-8198339: Test javax/swing/border/Test6981576.java is unstable
- - JDK-8200701: jdk/jshell/ExceptionsTest.java fails on Windows, after JDK-8198801
- - JDK-8203264: JNI exception pending in PlainDatagramSocketImpl.c:740
- - JDK-8203672: JNI exception pending in PlainSocketImpl.c
- - JDK-8203673: JNI exception pending in DualStackPlainDatagramSocketImpl.c:398
- - JDK-8204834: Fix confusing "allocate" naming in OopStorage
- - JDK-8205399: Set node color on pinned HashMap.TreeNode deletion
- - JDK-8205653: test/jdk/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java and RmiSslBootstrapTest.sh fail with handshake_failure
- - JDK-8206179: com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java fails with Committed virtual memory size illegal value
- - JDK-8207334: VM times out in VM_HandshakeAllThreads::doit() with RunThese30M
- - JDK-8208277: Code cache heap (-XX:ReservedCodeCacheSize) doesn't work with 1GB LargePages
- - JDK-8209113: Use WeakReference for lastFontStrike for created Fonts
- - JDK-8209333: Socket reset issue for TLS 1.3 socket close
- - JDK-8209439: C2 library_call can potentially ignore Math.pow intrinsic or use null pointer
- - JDK-8209534: [TESTBUG]runtime/appcds/cacheObject/ArchivedModuleCompareTest.java fails with EnableJVMCI.
- - JDK-8210147: adjust some WSAGetLastError usages in windows network coding
- - JDK-8210284: "assert((av & 0x00000001) == 0) failed: unsupported V8" on Solaris 11.4
- - JDK-8210303: VM_HandshakeAllThreads fails assert with "failed: blocked and not walkable"
- - JDK-8210515: [TESTBUG]CheckArchivedModuleApp.java needs to check if EnableJVMCI is set.
- - JDK-8210788: Javadoc for Thread.join(long, int) should specify that it waits forever when both arguments are zero
- - JDK-8211301: [macos] support full window content options
- - JDK-8211332: Space for stub routines (code_size2) is too small on new Skylake CPUs
- - JDK-8211339: NPE during SSL handshake caused by HostnameChecker
- - JDK-8211392: compiler/profiling/spectrapredefineclass_classloaders/Launcher.java times out in JDK12 CI
- - JDK-8211743: [AOT] crash in ScopeDesc::decode_body() when JVMTI walks AOT frames
- - JDK-8212154: [TESTBUG] CheckArchivedModuleApp fails with NPE when JVMCI is absent
- - JDK-8212167: JShell : Stack trace of exception has wrong line number
- - JDK-8212933: Thread-SMR: requesting a VM operation whilst holding a ThreadsListHandle can cause deadlocks
- - JDK-8212986: Make Visual Studio compiler check less strict
- - JDK-8213250: CDS archive creation aborts due to metaspace object allocation failure
- - JDK-8213516: jck test api/javax_accessibility/AccessibleState/fields.html fails intermittent
- - JDK-8213947: ARM32: failed check_simd should set UsePopCountInstruction to false
- - JDK-8214418: half-closed SSLEngine status may cause application dead loop
- - JDK-8214440: ldap over a TLS connection negotiate failed with "javax.net.ssl.SSLPeerUnverifiedException: hostname of the server '' does not match the hostname in the server's certificate"
- - JDK-8214444: Wrong strncat limits in dfa.cpp
- - JDK-8214481: freetype path does not disable TrueType hinting with AA+FM hints
- - JDK-8214571: -Xdoclint of array serialField gives "error: array type not allowed here"
- - JDK-8214856: Errors with JSZip in web console after upgrade to 3.1.5
- - JDK-8214862: assert(proj != __null) at compile.cpp:3251
- - JDK-8215369: Jcstress pollute /var/tmp with temporary files.
- - JDK-8215551: Missing case label in nmethod::reloc_string_for()
- - JDK-8215555: TieredCompilation C2 threads can excessively block handshakes
- - JDK-8215711: Missing key_share extension for (EC)DHE key exchange should alert missing_extension
- - JDK-8216151: [Graal] Module jdk.internal.vm.compiler.management has not been granted accessClassInPackage.org.graalvm.compiler.debug
- - JDK-8216154: C4819 warnings at HotSpot sources on Windows
- - JDK-8216541: CompiledICHolders of VM locked unloaded nmethods are released too late
- - JDK-8217230: assert(t == t_no_spec) failure in NodeHash::check_no_speculative_types()
- - JDK-8217404: --with-jvm-features doesn't work when multiple features are explicitly disabled
- - JDK-8217447: Develop flag TraceICs is broken
- - JDK-8217606: LdapContext#reconnect always opens a new connection
- - JDK-8218807: Compilation database (compile_commands.json) may contain obsolete items
- - JDK-8219214: Infinite Loop in CodeSection::dump()
- - JDK-8219904: ClassCastException when calling FlightRecorderMXBean#getRecordings()
- - JDK-8219991: New fix of the deadlock in sun.security.ssl.SSLSocketImpl
- - JDK-8221121: applications/microbenchmarks are encountering crashes in tier5
- - JDK-8221445: FastSysexMessage constructor crashes MIDI receiption thread
- - JDK-8221482: Initialize VMRegImpl::regName[] earlier to prevent assert during PrintStubCode
- - JDK-8221741: ClassCastException can happen when fontconfig.properties is used
- - JDK-8221823: Requested JDialog width is ignored
- - JDK-8223108: Test java/awt/EventQueue/NonComponentSourcePost.java is unstable
- - JDK-8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10
- - JDK-8224109: Text spaced incorrectly by drawString under rotation with fractional metric
- - JDK-8224632: testbug: java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java fails on MacOS
- - JDK-8224793: os::die() does not honor CreateCoredumpOnCrash option
- - JDK-8224847: gc/stress/TestReclaimStringsLeaksMemory.java fails with reserved greater than expected
- - JDK-8224931: disable JAOTC invokedynamic support until 8223533 is fixed
- - JDK-8224997: ChaCha20-Poly1305 TLS cipher suite decryption throws ShortBufferException
- - JDK-8225068: Remove DocuSign root certificate that is expiring in May 2020
- - JDK-8225069: Remove Comodo root certificate that is expiring in May 2020
- - JDK-8225126: Test SetBoundsPaintTest.html faild on Windows when desktop is scaled
- - JDK-8225325: Add tests for redefining a class' private method during resolution of the bootstrap specifier
- - JDK-8225622: [AOT] runtime/SharedArchiveFile/TestInterpreterMethodEntries.java crashed with AOTed java.base
- - JDK-8225653: Provide more information when hitting SIGILL from HaltNode
- - JDK-8225783: Incorrect use of binary operators on booleans in type.cpp
- - JDK-8225789: Empty method parameter type should generate ClassFormatError
- - JDK-8226198: use of & instead of && in LibraryCallKit::arraycopy_restore_alloc_state
- - JDK-8226253: JAWS reports wrong number of radio buttons when buttons are hidden.
- - JDK-8226653: [accessibility] Can edit text cell correctly, but Accessibility Tool reads nothing about editor
- - JDK-8226806: [macOS 10.14] Methods of Java Robot should be called from appropriate thread
- - JDK-8226879: Memory leak in Type::hashcons
- - JDK-8227632: Incorrect PrintCompilation message: made not compilable on levels 0 1 2 3 4
- - JDK-8228407: JVM crashes with shared archive file mismatch
- - JDK-8228482: fix xlc16/xlclang comparison of distinct pointer types and string literal conversion warnings
- - JDK-8228757: Fail fast if the handshake type is unknown
- - JDK-8229158: make UseSwitchProfiling non-experimental or false by-default
- - JDK-8229421: The logic of java/net/ipv6tests/TcpTest.java is flawed
- - JDK-8229855: C2 fails with assert(false) failed: bad AD file
- - JDK-8230591: AArch64: Missing intrinsics for Math.ceil, floor, rint
- - JDK-8231118: ARM32: Math tests failures
- - JDK-8231213: Migrate SimpleDateFormatConstTest to JDK Repo
- - JDK-8231243: [TESTBUG] CustomFont.java cannot find font file
- - JDK-8231438: [macOS] Dark mode for the desktop is not supported
- - JDK-8231550: C2: ShouldNotReachHere() in verify_strip_mined_scheduling
- - JDK-8231564: setMaximizedBounds is broken with large display scale and multiple monitors
- - JDK-8231572: Use -lobjc instead of -fobjc-link-runtime in libosxsecurity
- - JDK-8231631: sun/net/ftp/FtpURLConnectionLeak.java fails intermittently with NPE
- - JDK-8231671: Fix copyright headers in hotspot (missing comma after year)
- - JDK-8231720: Some perf regressions after 8225653
- - JDK-8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate
- - JDK-8231863: Crash if classpath is read from @argument file and the main gets option argument
- - JDK-8232080: jlink plugins for vendor information and run-time options
- - JDK-8232106: [x86] C2: SIGILL due to usage of SSSE3 instructions on processors which don't support it
- - JDK-8232134: Change to Visual Studio 2017 15.9.16 for building on Windows at Oracle
- - JDK-8232226: [macos 10.15] test/jdk/java/awt/color/EqualityTest/EqualityTest.java may fail
- - JDK-8232357: Compare version info of Santuario to legal notice
- - JDK-8232572: Add hooks for custom output dir in Bundles.gmk
- - JDK-8232634: Problem List ICMColorDataTest.java
- - JDK-8232748: Build static versions of certain JDK libraries
- - JDK-8232846: ProcessHandle.Info command with non-English shows question marks
- - JDK-8233033: C2 produces wrong result while unswitching a loop due to lost control dependencies
- - JDK-8233137: runtime/ErrorHandling/VeryEarlyAssertTest.java fails after 8232080
- - JDK-8233197: Invert JvmtiExport::post_vm_initialized() and Jfr:on_vm_start() start-up order for correct option parsing
- - JDK-8233291: [TESTBUG] tools/jlink/plugins/VendorInfoPluginsTest.java fails with debug or non-server VMs
- - JDK-8233364: Fix undefined behavior in Canonicalizer::do_ShiftOp
- - JDK-8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException
- - JDK-8233608: Minimal build broken after JDK-8233494
- - JDK-8233621: Mismatch in jsse.enableMFLNExtension property name
- - JDK-8233696: [TESTBUG]Some jtreg tests fail when CAPS_LOCK is ON
- - JDK-8233707: systemScale.cpp could not compile with VS2019
- - JDK-8233801: GCMEmptyIv.java test fails on Solaris 11.4
- - JDK-8233880: Support compilers with multi-digit major version numbers
- - JDK-8233920: MethodHandles::tryFinally generates illegal bytecode for long/double return type
- - JDK-8234137: The "AutoTestOnTop.java" test may run external applications
- - JDK-8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC
- - JDK-8234184: [TESTBUG] java/awt/Mouse/EnterExitEvents/ModalDialogEnterExitEventsTest.java fails in Windows
- - JDK-8234270: [REDO] JDK-8204128 NMT might report incorrect numbers for Compiler area
- - JDK-8234332: [TESTBUG] java/awt/Focus/DisposedWindow/DisposeDialogNotActivateOwnerTest/DisposeDialogNotActivateOwnerTest.java fails on linux-x64 nightly
- - JDK-8234398: Replace ID2D1Factory::GetDesktopDpi with GetDeviceCaps
- - JDK-8234522: [macos] Crash with use of native file dialog
- - JDK-8234691: Potential double-free in ParallelSPCleanupTask constructor
- - JDK-8234696: tools/jlink/plugins/VendorInfoPluginsTest.java times out
- - JDK-8234727: sun/security/ssl/X509TrustManagerImpl tests support TLSv1.3
- - JDK-8234728: Some security tests should support TLSv1.3
- - JDK-8234779: Provide idiom for declaring classes noncopyable
- - JDK-8234968: check calloc rv in libinstrument InvocationAdapter
- - JDK-8235153: [TESTBUG] [macos 10.15] java/awt/Graphics/DrawImageBG/SystemBgColorTest.java fails
- - JDK-8235183: Remove the "HACK CODE" in comment
- - JDK-8235263: Revert TLS 1.3 change that wrapped IOExceptions
- - JDK-8235311: Tag mismatch may alert bad_record_mac
- - JDK-8235332: TestInstanceCloneAsLoadsStores.java fails with -XX:+StressGCM
- - JDK-8235452: Strip mined loop verification fails with assert(is_OuterStripMinedLoop()) failed: invalid node class
- - JDK-8235584: UseProfiledLoopPredicate fails with assert(_phase->get_loop(c) == loop) failed: have to be in the same loop
- - JDK-8235620: Broken merge between JDK-8006406 and JDK-8003559
- - JDK-8235638: NPE in LWWindowPeer.getOnscreenGraphics()
- - JDK-8235686: Add more custom hooks in Bundles.gmk
- - JDK-8235739: Rare NPE at WComponentPeer.getGraphics()
- - JDK-8235762: JVM crash in SWPointer during C2 compilation
- - JDK-8235834: IBM-943 charset encoder needs updating
- - JDK-8235874: The ordering of Cipher Suites is not maintained provided through jdk.tls.client.cipherSuites and jdk.tls.server.cipherSuites system property.
- - JDK-8235908: omit ThreadPriorityPolicy warning when value is set from image
- - JDK-8235984: C2: assert(out->in(PhiNode::Region) == head || out->in(PhiNode::Region) == slow_head) failed: phi must be either part of the slow or the fast loop
- - JDK-8236211: [Graal] compiler/graalunit/GraphTest.java is skipped in all testing
- - JDK-8236470: Deal with ECDSA using ecdsa-with-SHA2 plus hash algorithm as AlgorithmId
- - JDK-8236545: Compilation error in mach5 java/awt/FileDialog/MacOSGoToFolderCrash.java
- - JDK-8236700: Upgrading JSZip from v3.1.5 to v3.2.2
- - JDK-8236759: ShouldNotReachHere in PhaseIdealLoop::verify_strip_mined_scheduling
- - JDK-8236897: Fix the copyright header for pkcs11gcm2.h
- - JDK-8236921: Add build target to produce a JDK image suitable for a Graal/SVM build
- - JDK-8236953: [macos] JavaFX SwingNode is not rendered on macOS
- - JDK-8236996: Incorrect Roboto font rendering on Windows with subpixel antialiasing
- - JDK-8237045: JVM uses excessive memory with -XX:+EnableJVMCI -XX:JVMCICounterSize=2147483648
- - JDK-8237055: [TESTBUG] compiler/c2/TestJumpTable.java fails with release VMs
- - JDK-8237086: assert(is_MachReturn()) running CTW with fix for JDK-8231291
- - JDK-8237192: Generate stripped/public pdbs on Windows for jdk images
- - JDK-8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers
- - JDK-8237474: Default SSLEngine should create in server role
- - JDK-8237859: C2: Crash when loads float above range check
- - JDK-8237951: CTW: C2 compilation fails with "malformed control flow"
- - JDK-8237962: give better error output for invalid OCSP response intervals in CertPathValidator checks
- - JDK-8238190: [JVMCI] Fix single implementor speculation for diamond shapes.
- - JDK-8238356: CodeHeap::blob_count() overestimates the number of blobs
- - JDK-8238452: Keytool generates wrong expiration date if validity is set to 2050/01/01
- - JDK-8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB
- - JDK-8238575: DragSourceEvent.getLocation() returns wrong value on HiDPI screens (Windows)
- - JDK-8238676: jni crashes on accessing it from process exit hook
- - JDK-8238721: Add failing client jtreg tests to the Problem List
- - JDK-8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device
- - JDK-8238756: C2: assert(((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node
- - JDK-8238765: PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly
- - JDK-8238898: Missing hash characters for header on license file
- - JDK-8238942: Rendering artifacts with LCD text and fractional metrics
- - JDK-8238985: [TESTBUG] The arrow image is blue instead of green
- - JDK-8239000: handle ContendedPaddingWidth in vm_version_ppc
- - JDK-8239055: Wrong implementation of VMState.hasListener
- - JDK-8239091: Reversed arguments in call to strstr in freetype "debug" code.
- - JDK-8239142: C2's UseUniqueSubclasses optimization is broken for array accesses
- - JDK-8239224: libproc_impl.c previous_thr may be used uninitialized warning
- - JDK-8239351: Give more meaningful InternalError messages in Deflater.c
- - JDK-8239365: ProcessBuilder test modifications for AIX execution
- - JDK-8239456: vtable stub generation: assert failure (code size estimate)
- - JDK-8239457: call ReleaseStringUTFChars before early returns in Java_sun_security_pkcs11_wrapper_PKCS11_connect
- - JDK-8239462: jdk.hotspot.agent misses some ReleaseStringUTFChars calls in case of early returns
- - JDK-8239557: [TESTBUG] VeryEarlyAssertTest.java validating "END." marker at lastline is not always true
- - JDK-8239787: AArch64: String.indexOf may incorrectly handle empty strings
- - JDK-8239792: Bump update version for OpenJDK: jdk-11.0.8
- - JDK-8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException
- - JDK-8239819: XToolkit: Misread of screen information memory
- - JDK-8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed
- - JDK-8239893: Windows handle Leak when starting processes using ProcessBuilder
- - JDK-8239915: Zero VM crashes when handling dynamic constant
- - JDK-8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up
- - JDK-8239976: Put JDK-8239965 on the ProblemList.txt
- - JDK-8240073: Fix 'test-make' build target in 11u
- - JDK-8240197: Cannot start JVM when $JAVA_HOME includes CJK characters
- - JDK-8240202: A few client tests leave mouse buttons pressed
- - JDK-8240220: IdealLoopTree::dump_head predicate printing is broken
- - JDK-8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate
- - JDK-8240227: Loop predicates should be copied to unswitched loops
- - JDK-8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java
- - JDK-8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print
- - JDK-8240529: CheckUnhandledOops breaks NULL check in Modules::define_module
- - JDK-8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges
- - JDK-8240603: Windows 32bit compile error after 8238676
- - JDK-8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk
- - JDK-8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:"
- - JDK-8240786: [TESTBUG] The test java/awt/Window/GetScreenLocation/GetScreenLocationTest.java fails on HiDPI screen
- - JDK-8240824: enhance print_full_memory_info on Linux by THP related information
- - JDK-8240827: Downport SSLSocketImpl.java from "8221882: Use fiber-friendly java.util.concurrent.locks in JSSE"
- - JDK-8240905: assert(mem == (Node*)1 || mem == mem2) failed: multiple Memories being matched at once?
- - JDK-8240972: macOS codesign fail on macOS 10.13.5 or older
- - JDK-8241445: Fix copyright in test/jdk/tools/launcher/ArgFileSyntax.java
- - JDK-8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete
- - JDK-8241464: [11u] Backport: make rehashing be a needed guaranteed safepoint cleanup action
- - JDK-8241556: Memory leak if -XX:CompileCommand is set
- - JDK-8241568: (fs) UserPrincipalLookupService.lookupXXX failure with IOE "Operation not permitted"
- - JDK-8241586: compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64
- - JDK-8241638: launcher time metrics always report 1 on Linux when _JAVA_LAUNCHER_DEBUG set
- - JDK-8241660: Add virtualization information output to hs_err file on macOS
- - JDK-8241808: [TESTBUG] The JDK-8039467 bug appeared on macOS
- - JDK-8241888: Mirror jdk.security.allowNonCaAnchor system property with a security one
- - JDK-8241900: Loop unswitching may cause dependence on null check to be lost
- - JDK-8241948: enhance list of environment variables printed in hs_err file
- - JDK-8241996: on linux set full relro in the linker flags
- - JDK-8242108: Performance regression after fix for JDK-8229496
- - JDK-8242141: New System Properties to configure the TLS signature schemes
- - JDK-8242154: Backport parts of JDK-4947890 to OpenJDK 11u
- - JDK-8242174: [macos] The NestedModelessDialogTest test make the macOS unstable
- - JDK-8242239: [Graal] javax/management/generified/GenericTest.java fails: FAILED: queryMBeans sets same
- - JDK-8242294: JSSE Client does not throw SSLException when an alert occurs during handshaking
- - JDK-8242379: [TESTBUG] compiler/loopopts/TestLoopUnswitchingLostCastDependency.java fails with release VMs
- - JDK-8242470: Update Xerces to Version 2.12.1
- - JDK-8242498: Invalid "sun.awt.TimedWindowEvent" object leads to JVM crash
- - JDK-8242541: Small charset issues (ISO8859-16, x-eucJP-Open, x-IBM834 and x-IBM949C)
- - JDK-8242626: enhance posix print_rlimit_info
- - JDK-8243059: Build fails when --with-vendor-name contains a comma
- - JDK-8243539: Copyright info (Year) should be updated for fix of 8241638
- - JDK-8243541: (tz) Upgrade time-zone data to tzdata2020a
- - JDK-8244407: JVM crashes after transformation in C2 IdealLoopTree::split_fall_in
- - JDK-8244520: problemlist java/awt/font/Rotate/RotatedFontTest.java on linux
- - JDK-8244777: ClassLoaderStats VM Op uses constant hash value
- - JDK-8244853: The static build of libextnet is missing the JNI_OnLoad_extnet function
- - JDK-8244951: Missing entitlements for hardened runtime
- - JDK-8245047: [PPC64] C2: ReverseBytes + Load always match to unordered Load (acquire semantics missing)
- - JDK-8245649: Revert 8245397 backport of 8230591
- - JDK-8246031: SSLSocket.getSession() doesn't close connection for timeout/ interrupts
- - JDK-8246613: Choose the default SecureRandom algo based on registration ordering
- - JDK-8248505: Unexpected NoSuchAlgorithmException when using secure random impl from BCFIPS provider
+ - JDK-8139173: [macosx] JInternalFrame shadow is not properly drawn
+ - JDK-8181571: printing to CUPS fails on mac sandbox app
+ - JDK-8193682: Infinite loop in ZipOutputStream.close()
+ - JDK-8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use
+ - JDK-8209776: Refactor jdk/security/JavaDotSecurity/ifdefs.sh to plain java test
+ - JDK-8214733: runtime/8176717/TestInheritFD.java timed out
+ - JDK-8236136: tests which use CompilationMode shouldn't be run w/ TieredStopAtLevel
+ - JDK-8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled
+ - JDK-8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode
+ - JDK-8251904: vmTestbase/nsk/sysdict/vm/stress/btree/btree010/btree010.java fails with ClassNotFoundException: nsk.sysdict.share.BTree0LLRLRLRRLR
+ - JDK-8255266: Update Public Suffix List to 3c213aa
+ - JDK-8256368: Avoid repeated upcalls into Java to re-resolve MH/VH linkers/invokers
+ - JDK-8258814: Compilation logging crashes for thread suspension / debugging tests
+ - JDK-8263461: jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java uses wrong mechanism to cause evacuation failure
+ - JDK-8263538: SharedArchiveConsistency.java should test -Xshare:auto as well
+ - JDK-8264605: vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/TestDescription.java failed with "agent_tools.cpp, 471: (foundThread = (jthread) jni_env->NewGlobalRef(foundThread)) != NULL"
+ - JDK-8265261: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
+ - JDK-8265317: [vector] assert(payload->is_object()) failed: expected 'object' value for scalar-replaced boxed vector but got: NULL
+ - JDK-8267163: Rename anonymous loader tests to hidden loader tests
+ - JDK-8268231: Aarch64: Use Ldp in intrinsics for String.compareTo
+ - JDK-8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped
+ - JDK-8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout
+ - JDK-8268773: Improvements related to: Failed to start thread - pthread_create failed (EAGAIN)
+ - JDK-8268906: gc/g1/mixedgc/TestOldGenCollectionUsage.java assumes that GCs take 1ms minimum
+ - JDK-8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest
+ - JDK-8269129: Multiple tier1 tests in hotspot/jtreg/compiler are failing for client VMs
+ - JDK-8269135: TestDifferentProtectionDomains runs into timeout in client VM
+ - JDK-8269373: some tests in jdk/tools/launcher/ fails on localized Windows platform
+ - JDK-8269753: Misplaced caret in PatternSyntaxException's detail message
+ - JDK-8269933: test/jdk/javax/net/ssl/compatibility/JdkInfo incorrect verification of protocol and cipher support
+ - JDK-8270021: Incorrect log decorators in gc/g1/plab/TestPLABEvacuationFailure.java
+ - JDK-8270336: [TESTBUG] Fix initialization in NonbranchyTree
+ - JDK-8270435: UT: MonitorUsedDeflationThresholdTest failed: did not find too_many string in output
+ - JDK-8270468: TestRangeCheckEliminated fails because methods are not compiled
+ - JDK-8270797: ShortECDSA.java test is not complete
+ - JDK-8270837: fix typos in test TestSigParse.java
+ - JDK-8271008: appcds/*/MethodHandlesAsCollectorTest.java tests time out because of excessive GC (CodeCache GC Threshold) in loom
+ - JDK-8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack
+ - JDK-8271224: runtime/EnclosingMethodAttr/EnclMethodAttr.java doesn't check exit code
+ - JDK-8271302: Regex Test Refresh
+ - JDK-8272146: Disable Fibonacci test on memory constrained systems
+ - JDK-8272168: some hotspot runtime/logging tests don't check exit code
+ - JDK-8272169: runtime/logging/LoaderConstraintsTest.java doesn't build test.Empty
+ - JDK-8272358: Some tests may fail when executed with other locales than the US
+ - JDK-8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2
+ - JDK-8272908: Missing coverage for certain classes in com.sun.org.apache.xml.internal.security
+ - JDK-8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
+ - JDK-8273095: vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java fails with "wrong OOME"
+ - JDK-8273139: C2: assert(f <= 1 && f >= 0) failed: Incorrect frequency
+ - JDK-8273142: Remove dependancy of TestHttpServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/http/ tests
+ - JDK-8273169: java/util/regex/NegativeArraySize.java failed after JDK-8271302
+ - JDK-8273804: Platform.isTieredSupported should handle the no-compiler case
+ - JDK-8274172: Convert JavadocTester to use NIO
+ - JDK-8274233: Minor cleanup for ToolBox
+ - JDK-8274244: ReportOnImportedModuleAnnotation.java fails on rerun
+ - JDK-8274561: sun/net/ftp/TestFtpTimeValue.java timed out on slow machines
+ - JDK-8274687: JDWP deadlocks if some Java thread reaches wait in blockOnDebuggerSuspend
+ - JDK-8274735: javax.imageio.IIOException: Unsupported Image Type while processing a valid JPEG image
+ - JDK-8274751: Drag And Drop hangs on Windows
+ - JDK-8274855: vectorapi tests failing with assert(!vbox->is_Phi()) failed
+ - JDK-8274939: Incorrect size of the pixel storage is used by the robot on macOS
+ - JDK-8274983: C1 optimizes the invocation of private interface methods
+ - JDK-8275037: Test vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java crashes with memory exhaustion on Windows
+ - JDK-8275337: C1: assert(false) failed: live_in set of first block must be empty
+ - JDK-8275638: GraphKit::combine_exception_states fails with "matching stack sizes" assert
+ - JDK-8275745: Reproducible copyright headers
+ - JDK-8275830: C2: Receiver downcast is missing when inlining through method handle linkers
+ - JDK-8275854: C2: assert(stride_con != 0) failed: missed some peephole opt
+ - JDK-8276260: (se) Remove java/nio/channels/Selector/Wakeup.java from ProblemList (win)
+ - JDK-8276657: XSLT compiler tries to define a class with empty name
+ - JDK-8276796: gc/TestSystemGC.java large pages subtest fails with ZGC
+ - JDK-8276825: hotspot/runtime/SelectionResolution test errors
+ - JDK-8276863: Remove test/jdk/sun/security/ec/ECDSAJavaVerify.java
+ - JDK-8276880: Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary
+ - JDK-8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations
+ - JDK-8277055: Assert "missing inlining msg" with -XX:+PrintIntrinsics
+ - JDK-8277072: ObjectStreamClass caches keep ClassLoaders alive
+ - JDK-8277087: ZipException: zip END header not found at ZipFile#Source.findEND
+ - JDK-8277123: jdeps does not report some exceptions correctly
+ - JDK-8277165: jdeps --multi-release --print-module-deps fails if module-info.class in different versioned directories
+ - JDK-8277166: Data race in jdeps VersionHelper
+ - JDK-8277396: [TESTBUG] In DefaultButtonModelCrashTest.java, frame is accessed from main thread
+ - JDK-8277422: tools/jar/JarEntryTime.java fails with modified time mismatch
+ - JDK-8277893: Arraycopy stress tests
+ - JDK-8277906: Incorrect type for IV phi of long counted loops after CCP
+ - JDK-8277922: Unable to click JCheckBox in JTable through Java Access Bridge
+ - JDK-8278014: [vectorapi] Remove test run script
+ - JDK-8278065: Refactor subclassAudits to use ClassValue
+ - JDK-8278186: org.jcp.xml.dsig.internal.dom.Utils.parseIdFromSameDocumentURI throws StringIndexOutOfBoundsException when calling substring method
+ - JDK-8278472: Invalid value set to CANDIDATEFORM structure
+ - JDK-8278519: serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null"
+ - JDK-8278549: UNIX sun/font coding misses SUSE distro detection on recent distro SUSE 15
+ - JDK-8278766: Enable OpenJDK build support for reproducible jars and jmods using --date
+ - JDK-8278794: Infinite loop in DeflaterOutputStream.finish()
+ - JDK-8278796: Incorrect behavior of FloatVector.withLane on X86
+ - JDK-8278851: Correct signer logic for jars signed with multiple digestalgs
+ - JDK-8278948: compiler/vectorapi/reshape/TestVectorCastAVX1.java crashes in assembler
+ - JDK-8278966: two microbenchmarks tests fail "assert(!jvms->method()->has_exception_handlers()) failed: no exception handler expected" after JDK-8275638
+ - JDK-8279182: MakeZipReproducible ZipEntry timestamps not localized to UTC
+ - JDK-8279219: [REDO] C2 crash when allocating array of size too large
+ - JDK-8279227: Access Bridge: Wrong frame position and hit test result on HiDPI display
+ - JDK-8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist!
+ - JDK-8279437: [JVMCI] exception in HotSpotJVMCIRuntime.translate can exit the VM
+ - JDK-8279515: C1: No inlining through invokedynamic and invokestatic call sites when resolved class is not linked
+ - JDK-8279520: SPNEGO has not passed channel binding info into the underlying mechanism
+ - JDK-8279529: ProblemList java/nio/channels/DatagramChannel/ManySourcesAndTargets.java on macosx-aarch64
+ - JDK-8279532: ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java
+ - JDK-8279560: AArch64: generate_compare_long_string_same_encoding and LARGE_LOOP_PREFETCH alignment
+ - JDK-8279586: [macos] custom JCheckBox and JRadioBox with custom icon set: focus is still displayed after unchecking
+ - JDK-8279597: [TESTBUG] ReturnBlobToWrongHeapTest.java fails with -XX:TieredStopAtLevel=1 on machines with many cores
+ - JDK-8279668: x86: AVX2 versions of vpxor should be asserted
+ - JDK-8279822: CI: Constant pool entries in error state are not supported
+ - JDK-8279834: Alpine Linux fails to build when --with-source-date enabled
+ - JDK-8279837: C2: assert(is_Loop()) failed: invalid node class: Region
+ - JDK-8279842: HTTPS Channel Binding support for Java GSS/Kerberos
+ - JDK-8279958: Provide configure hints for Alpine/apk package managers
+ - JDK-8280004: DCmdArgument::parse_value() should handle NULL input
+ - JDK-8280041: Retry loop issues in java.io.ClassCache
+ - JDK-8280123: C2: Infinite loop in CMoveINode::Ideal during IGVN
+ - JDK-8280401: [sspi] gss_accept_sec_context leaves output_token uninitialized
+ - JDK-8280476: [macOS] : hotspot arm64 bug exposed by latest clang
+ - JDK-8280543: Update the "java" and "jcmd" tool specification for CDS
+ - JDK-8280593: [PPC64, S390] redundant allocation of MacroAssembler in StubGenerator ctor
+ - JDK-8280600: C2: assert(!had_error) failed: bad dominance
+ - JDK-8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
+ - JDK-8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination
+ - JDK-8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs
+ - JDK-8280901: MethodHandle::linkToNative stub is missing w/ -Xint
+ - JDK-8280940: gtest os.release_multi_mappings_vm is racy
+ - JDK-8280941: os::print_memory_mappings() prints segment preceeding the inclusion range
+ - JDK-8280956: Re-examine copyright headers on files in src/java.desktop/macosx/native/libawt_lwawt/awt/a11y
+ - JDK-8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly
+ - JDK-8281043: Intrinsify recursive ObjectMonitor locking for PPC64
+ - JDK-8281168: Micro-optimize VarForm.getMemberName for interpreter
+ - JDK-8281262: Windows builds in different directories are not fully reproducible
+ - JDK-8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes correctly
+ - JDK-8281274: deal with ActiveProcessorCount in os::Linux::print_container_info
+ - JDK-8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths
+ - JDK-8281318: Improve jfr/event/allocation tests reliability
+ - JDK-8281338: NSAccessibilityPressAction action for tree node and NSAccessibilityShowMenuAcgtion action not working
+ - JDK-8281450: Remove unnecessary operator new and delete from ObjectMonitor
+ - JDK-8281522: Rename ADLC classes which have the same name as hotspot variants
+ - JDK-8281544: assert(VM_Version::supports_avx512bw()) failed for Tests jdk/incubator/vector/
+ - JDK-8281615: Deadlock caused by jdwp agent
+ - JDK-8281638: jfr/event/allocation tests fail with release VMs after JDK-8281318 due to lack of -XX:+UnlockDiagnosticVMOptions
+ - JDK-8281771: Crash in java_lang_invoke_MethodType::print_signature
+ - JDK-8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
+ - JDK-8281822: Test failures on non-DTrace builds due to incomplete DTrace* flags handling
+ - JDK-8282008: Incorrect handling of quoted arguments in ProcessBuilder
+ - JDK-8282045: When loop strip mining fails, safepoints are removed from loop anyway
+ - JDK-8282142: [TestCase] compiler/inlining/ResolvedClassTest.java will fail when --with-jvm-features=-compiler1
+ - JDK-8282170: JVMTI SetBreakpoint metaspace allocation test
+ - JDK-8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads
+ - JDK-8282225: GHA: Allow one concurrent run per PR only
+ - JDK-8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers
+ - JDK-8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive
+ - JDK-8282295: SymbolPropertyEntry::set_method_type fails with assert
+ - JDK-8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86
+ - JDK-8282345: handle latest VS2022 in abstract_vm_version
+ - JDK-8282382: Report glibc malloc tunables in error reports
+ - JDK-8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale
+ - JDK-8282444: Module finder incorrectly assumes default file system path-separator character
+ - JDK-8282499: Bump update version for OpenJDK: jdk-17.0.4
+ - JDK-8282509: [exploded image] ResolvedClassTest fails with similar output
+ - JDK-8282551: Properly initialize L32X64MixRandom state
+ - JDK-8282583: Update BCEL md to include the copyright notice
+ - JDK-8282590: C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
+ - JDK-8282592: C2: assert(false) failed: graph should be schedulable
+ - JDK-8282628: Potential memory leak in sun.font.FontConfigManager.getFontConfig()
+ - JDK-8282874: Bad performance on gather/scatter API caused by different IntSpecies of indexMap
+ - JDK-8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows
+ - JDK-8282929: Localized monetary symbols are not reflected in `toLocalizedPattern` return value
+ - JDK-8283017: GHA: Workflows break with update release versions
+ - JDK-8283187: C2: loop candidate for superword not always unrolled fully if superword fails
+ - JDK-8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c
+ - JDK-8283249: CompressedClassPointers.java fails on ppc with 'Narrow klass shift: 0' missing
+ - JDK-8283279: [Testbug] Improve TestGetSwapSpaceSize
+ - JDK-8283315: jrt-fs.jar not always deterministically built
+ - JDK-8283323: libharfbuzz optimization level results in extreme build times
+ - JDK-8283347: [macos] Bad JNI lookup accessibilityHitTest is shown when Screen magnifier is enabled
+ - JDK-8283350: (tz) Update Timezone Data to 2022a
+ - JDK-8283408: Fix a C2 crash when filling arrays with unsafe
+ - JDK-8283422: Create a new test for JDK-8254790
+ - JDK-8283451: C2: assert(_base == Long) failed: Not a Long
+ - JDK-8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak
+ - JDK-8283497: [windows] print TMP and TEMP in hs_err and VM.info
+ - JDK-8283641: Large value for CompileThresholdScaling causes assert
+ - JDK-8283725: Launching java with "-Xlog:gc*=trace,safepoint*=trace,class*=trace" crashes the JVM
+ - JDK-8283834: Unmappable character for US-ASCII encoding in TestPredicateInputBelowLoopPredicate
+ - JDK-8284023: java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo
+ - JDK-8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c
+ - JDK-8284094: Memory leak in invoker_completeInvokeRequest()
+ - JDK-8284369: TestFailedAllocationBadGraph fails with -XX:TieredStopAtLevel < 4
+ - JDK-8284389: Improve stability of GHA Pre-submit testing by caching cygwin installer
+ - JDK-8284437: Building from different users/workspace is not always deterministic
+ - JDK-8284458: CodeHeapState::aggregate() leaks blob_name
+ - JDK-8284507: GHA: Only check test results if testing was not skipped
+ - JDK-8284532: Memory leak in BitSet::BitMapFragmentTable in JFR leak profiler
+ - JDK-8284549: JFR: FieldTable leaks FieldInfoTable member
+ - JDK-8284603: [17u] Update Boot JDK used in GHA to 17.0.2
+ - JDK-8284620: CodeBuffer may leak _overflow_arena
+ - JDK-8284622: Update versions of some Github Actions used in JDK workflow
+ - JDK-8284661: Reproducible assembly builds without relative linking
+ - JDK-8284754: print more interesting env variables in hs_err and VM.info
+ - JDK-8284758: [linux] improve print_container_info
+ - JDK-8284848: C2: Compiler blackhole arguments should be treated as globally escaping
+ - JDK-8284866: Add test to JDK-8273056
+ - JDK-8284884: Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java
+ - JDK-8284992: Fix misleading Vector API doc for LSHR operator
+ - JDK-8285342: Zero build failure with clang due to values not handled in switch
+ - JDK-8285394: Compiler blackholes can be eliminated due to stale ciMethod::intrinsic_id()
+ - JDK-8285397: JNI exception pending in CUPSfuncs.c:250
+ - JDK-8285445: cannot open file "NUL:"
+ - JDK-8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4
+ - JDK-8285523: Improve test java/io/FileOutputStream/OpenNUL.java
+ - JDK-8285686: Update FreeType to 2.12.0
+ - JDK-8285726: [11u, 17u] Unify fix for JDK-8284548 with version from head
+ - JDK-8285727: [11u, 17u] Unify fix for JDK-8284920 with version from head
+ - JDK-8285728: Alpine Linux build fails with busybox tar
+ - JDK-8285828: runtime/execstack/TestCheckJDK.java fails with zipped debug symbols
+ - JDK-8285921: serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java fails on Alpine
+ - JDK-8285956: (fs) Excessive default poll interval in PollingWatchService
+ - JDK-8286013: Incorrect test configurations for compiler/stable/TestStableShort.java
+ - JDK-8286029: Add classpath exemption to globals_vectorApiSupport_***.S.inc
+ - JDK-8286198: [linux] Fix process-memory information
+ - JDK-8286293: Tests ShortResponseBody and ShortResponseBodyWithRetry should use less resources
+ - JDK-8286444: javac errors after JDK-8251329 are not helpful enough to find root cause
+ - JDK-8286594: (zipfs) Mention paths with dot elements in ZipException and cleanups
+ - JDK-8286601: Mac Aarch: Excessive warnings to be ignored for build jdk
+ - JDK-8286855: javac error on invalid jar should only print filename
+ - JDK-8287109: Distrust.java failed with CertificateExpiredException
+ - JDK-8287119: Add Distrust.java to ProblemList
+ - JDK-8287162: (zipfs) Performance regression related to support for POSIX file permissions
+ - JDK-8287336: GHA: Workflows break on patch versions
+ - JDK-8287362: FieldAccessWatch testcase failed on AIX platform
+ - JDK-8287378: GHA: Update cygwin to fix issues in langtools tests on Windows
+
+Notes on individual issues:
+===========================
+
+core-libs/java.net:
+
+JDK-8285240: HTTPS Channel Binding support for Java GSS/Kerberos
+================================================================
+Support has been added for TLS channel binding tokens for
+Negotiate/Kerberos authentication over HTTPS through
+javax.net.HttpsURLConnection.
+
+Channel binding tokens are increasingly required as an enhanced form
+of security which can mitigate certain kinds of socially engineered,
+man in the middle (MITM) attacks. They work by communicating from a
+client to a server the client's understanding of the binding between
+connection security (as represented by a TLS server cert) and higher
+level authentication credentials (such as a username and
+password). The server can then detect if the client has been fooled by
+a MITM and shutdown the session/connection.
+
+The feature is controlled through a new system property
+`jdk.https.negotiate.cbt` which is described fully at the following
+page:
+
+https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html#jdk.https.negotiate.cbt
+
+core-libs/java.lang:
+
+JDK-8283137: Incorrect handling of quoted arguments in ProcessBuilder
+=====================================================================
+ProcessBuilder on Windows is restored to address a regression caused
+by JDK-8250568. Previously, an argument to ProcessBuilder that
+started with a double-quote and ended with a backslash followed by a
+double-quote was passed to a command incorrectly and may cause the
+command to fail. For example the argument `"C:\\Program Files\"`,
+would be seen by the command with extra double-quotes. This update
+restores the long standing behavior that does not treat the backslash
+before the final double-quote specially.
+
+
+core-libs/java.util.jar:
+
+JDK-8278386: Default JDK compressor will be closed when IOException is encountered
+==================================================================================
+`DeflaterOutputStream.close()` and `GZIPOutputStream.finish()` methods
+have been modified to close out the associated default JDK compressor
+before propagating a Throwable up the
+stack. `ZIPOutputStream.closeEntry()` method has been modified to
+close out the associated default JDK compressor before propagating an
+IOException, not of type ZipException, up the stack.
+
+core-libs/java.io:
+
+JDK-8285660: New System Property to Disable Windows Alternate Data Stream Support in java.io.File
+=================================================================================================
+The Windows implementation of `java.io.File` allows access to NTFS
+Alternate Data Streams (ADS) by default. Such streams have a structure
+like “filename:streamname”. A system property `jdk.io.File.enableADS`
+has been added to control this behavior. To disable ADS support in
+`java.io.File`, the system property `jdk.io.File.enableADS` should be
+set to `false` (case ignored). Stricter path checking however prevents
+the use of special devices such as `NUL:`
+
+New in release OpenJDK 17.0.3 (2022-04-19):
+===========================================
+Live versions of these release notes can be found at:
+ * https://bitly.com/openjdk1703
+ * https://builds.shipilev.net/backports-monitor/release-notes-17.0.3.txt
+
+* Security fixes
+ - JDK-8269938: Enhance XML processing passes redux
+ - JDK-8270504, CVE-2022-21426: Better XPath expression handling
+ - JDK-8272255: Completely handle MIDI files
+ - JDK-8272261: Improve JFR recording file processing
+ - JDK-8272588: Enhanced recording parsing
+ - JDK-8272594: Better record of recordings
+ - JDK-8274221: More definite BER encodings
+ - JDK-8275082, JDK-8278008, CVE-2022-21476: Update XML Security for Java to 2.3.0
+ - JDK-8275151, CVE-2022-21443: Improved Object Identification
+ - JDK-8277227: Better identification of OIDs
+ - JDK-8277233, CVE-2022-21449: Improve ECDSA signature support
+ - JDK-8277672, CVE-2022-21434: Better invocation handler handling
+ - JDK-8278356: Improve file creation
+ - JDK-8278449: Improve keychain support
+ - JDK-8278798: Improve supported intrinsic
+ - JDK-8278805: Enhance BMP image loading
+ - JDK-8278972, CVE-2022-21496: Improve URL supports
+ - JDK-8281388: Change wrapping of EncryptedPrivateKeyInfo
+* Other changes
+ - JDK-8177814: jdk/editpad is not in jdk TEST.groups
+ - JDK-8186670: Implement _onSpinWait() intrinsic for AArch64
+ - JDK-8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently
+ - JDK-8225559: assertion error at TransTypes.visitApply
+ - JDK-8236505: Mark jdk/editpad/EditPadTest.java as @headful
+ - JDK-8239502: [TEST_BUG] Test javax/swing/text/FlowView/6318524/bug6318524.java never fails
+ - JDK-8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test
+ - JDK-8247980: Exclusive execution of java/util/stream tests slows down tier1
+ - JDK-8251216: Implement MD5 intrinsics on AArch64
+ - JDK-8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost"
+ - JDK-8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"
+ - JDK-8263567: gtests don't terminate the VM safely
+ - JDK-8265150: AsyncGetCallTrace crashes on ResourceMark
+ - JDK-8266490: Extend the OSContainer API to support the pids controller of cgroups
+ - JDK-8269032: Stringdedup tests are failing if the ergonomically select GC does not support it
+ - JDK-8269037: jsig/Testjsig.java doesn't have to be restricted to linux only
+ - JDK-8269087: CheckSegmentedCodeCache test fails in an emulated-client VM
+ - JDK-8269175: [macosx-aarch64] wrong CPU speed in hs_err file
+ - JDK-8269206: A small typo in comment in test/lib/sun/hotspot/WhiteBox.java
+ - JDK-8269523: runtime/Safepoint/TestAbortOnVMOperationTimeout.java failed when expecting 'VM operation took too long'
+ - JDK-8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already in use error
+ - JDK-8269849: vmTestbase/gc/gctests/PhantomReference/phantom002/TestDescription.java failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects"
+ - JDK-8270117: Broken jtreg link in "Building the JDK" page
+ - JDK-8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
+ - JDK-8271056: C2: "assert(no_dead_loop) failed: dead loop detected" due to cmoving identity
+ - JDK-8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key
+ - JDK-8271202: C1: assert(false) failed: live_in set of first block must be empty
+ - JDK-8271506: Add ResourceHashtable support for deleting selected entries
+ - JDK-8271721: Split gc/g1/TestMixedGCLiveThreshold into separate tests
+ - JDK-8272167: AbsPathsInImage.java should skip *.dSYM directories
+ - JDK-8272327: Shenandoah: Avoid enqueuing duplicate string candidates
+ - JDK-8272398: Update DockerTestUtils.buildJdkDockerImage()
+ - JDK-8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication
+ - JDK-8272553: several hotspot runtime/CommandLine tests don't check exit code
+ - JDK-8272600: (test) Use native "sleep" in Basic.java
+ - JDK-8272866: java.util.random package summary contains incorrect mixing function in table
+ - JDK-8272996: JNDI DNS provider fails to resolve SRV entries when IPV6 stack is enabled
+ - JDK-8273162: AbstractSplittableWithBrineGenerator does not create a random salt
+ - JDK-8273277: C2: Move conditional negation into rc_predicate
+ - JDK-8273341: Update Siphash to version 1.0
+ - JDK-8273351: bad tag in jdk.random module-info.java
+ - JDK-8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12
+ - JDK-8273381: Assert in PtrQueueBufferAllocatorTest.stress_free_list_allocator_vm
+ - JDK-8273387: remove some unreferenced gtk-related functions
+ - JDK-8273433: Enable parallelism in vmTestbase_nsk_sysdict tests
+ - JDK-8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests
+ - JDK-8273526: Extend the OSContainer API pids controller with pids.current
+ - JDK-8273634: [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/bug6364882.java
+ - JDK-8273655: content-types.properties files are missing some common types
+ - JDK-8273682: Upgrade Jline to 3.20.0
+ - JDK-8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time
+ - JDK-8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3
+ - JDK-8273933: [TESTBUG] Test must run without preallocated exceptions
+ - JDK-8273967: gtest os.dll_address_to_function_and_library_name_vm fails on macOS12
+ - JDK-8273972: Multi-core choke point in CMM engine (LCMSTransform.doTransform)
+ - JDK-8274130: C2: MulNode::Ideal chained transformations may act on wrong nodes
+ - JDK-8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches
+ - JDK-8274465: Fix javax/swing/text/ParagraphView/6364882/bug6364882.java failures
+ - JDK-8274471: Add support for RSASSA-PSS in OCSP Response
+ - JDK-8274506: TestPids.java and TestPidsLimit.java fail with podman run as root
+ - JDK-8274524: SSLSocket.close() hangs if it is called during the ssl handshake
+ - JDK-8274562: (fs) UserDefinedFileAttributeView doesn't correctly determine if supported when using OverlayFS
+ - JDK-8274658: ISO 4217 Amendment 170 Update
+ - JDK-8274714: Incorrect verifier protected access error message
+ - JDK-8274750: java/io/File/GetXSpace.java failed: '/dev': 191488 != 190976
+ - JDK-8274753: ZGC: SEGV in MetaspaceShared::link_shared_classes
+ - JDK-8274795: AArch64: avoid spilling and restoring r18 in macro assembler
+ - JDK-8274935: dumptime_table has stale entry
+ - JDK-8274944: AppCDS dump causes SEGV in VM thread while adjusting lambda proxy class info
+ - JDK-8275326: C2: assert(no_dead_loop) failed: dead loop detected
+ - JDK-8275330: C2: assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions
+ - JDK-8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime
+ - JDK-8275586: Zero: Simplify interpreter initialization
+ - JDK-8275608: runtime/Metaspace/elastic/TestMetaspaceAllocationMT2 too slow
+ - JDK-8275610: C2: Object field load floats above its null check resulting in a segfault
+ - JDK-8275643: C2's unaryOp vector intrinsic does not properly handle LongVector.neg
+ - JDK-8275645: [JVMCI] avoid unaligned volatile reads on AArch64
+ - JDK-8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11
+ - JDK-8275687: runtime/CommandLine/PrintTouchedMethods test shouldn't catch RuntimeException
+ - JDK-8275800: Redefinition leaks MethodData::_extra_data_lock
+ - JDK-8275847: Scheduling fails with "too many D-U pinch points" on small method
+ - JDK-8275874: [JVMCI] only support aligned reads in c2v_readFieldValue
+ - JDK-8276057: Update JMH devkit to 1.33
+ - JDK-8276141: XPathFactory set/getProperty method
+ - JDK-8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here"
+ - JDK-8276314: [JVMCI] check alignment of call displacement during code installation
+ - JDK-8276623: JDK-8275650 accidentally pushed "out" file
+ - JDK-8276654: element-list order is non deterministic
+ - JDK-8276662: Scalability bottleneck in SymbolTable::lookup_common()
+ - JDK-8276764: Enable deterministic file content ordering for Jar and Jmod
+ - JDK-8276766: Enable jar and jmod to produce deterministic timestamped content
+ - JDK-8276841: Add support for Visual Studio 2022
+ - JDK-8277069: [REDO] JDK-8276743 Make openjdk build Zip Archive generation "reproducible"
+ - JDK-8277137: Set OnSpinWaitInst/OnSpinWaitInstCount defaults to "isb"/1 for Arm Neoverse N1
+ - JDK-8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64
+ - JDK-8277299: STACK_OVERFLOW in Java_sun_awt_shell_Win32ShellFolder2_getIconBits
+ - JDK-8277328: jdk/jshell/CommandCompletionTest.java failures on Windows
+ - JDK-8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for
+ - JDK-8277383: VM.metaspace optionally show chunk freelist details
+ - JDK-8277385: Zero: Enable CompactStrings support
+ - JDK-8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last
+ - JDK-8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
+ - JDK-8277449: compiler/vectorapi/TestLongVectorNeg.java fails with release VMs
+ - JDK-8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
+ - JDK-8277497: Last column cell in the JTable row is read as empty cell
+ - JDK-8277503: compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java failed with "OnSpinWaitInst with the expected value 'isb' not found."
+ - JDK-8277762: Allow configuration of HOTSPOT_BUILD_USER
+ - JDK-8277777: [Vector API] assert(r->is_XMMRegister()) failed: must be in x86_32.ad
+ - JDK-8277795: ldap connection timeout not honoured under contention
+ - JDK-8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64
+ - JDK-8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording
+ - JDK-8277992: Add fast jdk_svc subtests to jdk:tier3
+ - JDK-8278016: Add compiler tests to tier{2,3}
+ - JDK-8278020: ~13% variation in Renaissance-Scrabble
+ - JDK-8278080: Add --with-cacerts-src='user cacerts folder' to enable deterministic cacerts generation
+ - JDK-8278099: two sun/security/pkcs11/Signature tests failed with AssertionError
+ - JDK-8278104: C1 should support the compiler directive 'BreakAtExecute'
+ - JDK-8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx
+ - JDK-8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx
+ - JDK-8278163: --with-cacerts-src variable resolved after GenerateCacerts recipe setup
+ - JDK-8278172: java/nio/channels/FileChannel/BlockDeviceSize.java should only run on Linux
+ - JDK-8278185: Custom JRE cannot find non-ASCII named module inside
+ - JDK-8278239: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine failed with EXCEPTION_ACCESS_VIOLATION at 0x000000000000000d
+ - JDK-8278241: Implement JVM SpinPause on linux-aarch64
+ - JDK-8278309: [windows] use of uninitialized OSThread::_state
+ - JDK-8278344: sun/security/pkcs12/KeytoolOpensslInteropTest.java test fails because of different openssl output
+ - JDK-8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine
+ - JDK-8278381: [GCC 11] Address::make_raw() does not initialize rspec
+ - JDK-8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
+ - JDK-8278389: SuspendibleThreadSet::_suspend_all should be volatile/atomic
+ - JDK-8278526: [macos] Screen reader reads SwingSet2 JTable row selection as null, dimmed row for last column
+ - JDK-8278604: SwingSet2 table demo does not have accessible description set for images
+ - JDK-8278627: Shenandoah: TestHeapDump test failed
+ - JDK-8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134
+ - JDK-8278822: Bump update version for OpenJDK: jdk-17.0.3
+ - JDK-8278824: Uneven work distribution when scanning heap roots in G1
+ - JDK-8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
+ - JDK-8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10
+ - JDK-8278987: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in __write_sample_info__
+ - JDK-8279011: JFR: JfrChunkWriter incorrectly handles int64_t chunk size as size_t
+ - JDK-8279076: C2: Bad AD file when matching SqrtF with UseSSE=0
+ - JDK-8279124: VM does not handle SIGQUIT during initialization
+ - JDK-8279225: [arm32] C1 longs comparison operation destroys argument registers
+ - JDK-8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest
+ - JDK-8279379: GHA: Print tests that are in error
+ - JDK-8279385: [test] Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344
+ - JDK-8279412: [JVMCI] failed speculations list must outlive any nmethod that refers to it
+ - JDK-8279445: Update JMH devkit to 1.34
+ - JDK-8279453: Disable tools/jar/ReproducibleJar.java on 32-bit platforms
+ - JDK-8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT
+ - JDK-8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition
+ - JDK-8279695: [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also
+ - JDK-8279702: [macosx] ignore xcodebuild warnings on M1
+ - JDK-8279833: Loop optimization issue in String.encodeUTF8_UTF16
+ - JDK-8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks
+ - JDK-8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
+ - JDK-8280002: jmap -histo may leak stream
+ - JDK-8280155: [PPC64, s390] frame size checks are not yet correct
+ - JDK-8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492
+ - JDK-8280414: Memory leak in DefaultProxySelector
+ - JDK-8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1}
+ - JDK-8281061: [s390] JFR runs into assertions while validating interpreter frames
+ - JDK-8281460: Let ObjectMonitor have its own NMT category
+ - JDK-8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX
+ - JDK-8282300: Throws NamingException instead of InvalidNameException after JDK-8278972
+ - JDK-8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character
+ - JDK-8282761: XPathFactoryImpl remove setProperty and getProperty methods
+ - JDK-8284548: Invalid XPath expression causes StringIndexOutOfBoundsException
+ - JDK-8284920: Incorrect Token type causes XPath expression to return empty result
Notes on individual issues:
===========================
security-libs/java.security:
-JDK-8244167: Removal of Comodo Root CA Certificate
-==================================================
-The following expired Comodo root CA certificate was removed from the `cacerts` keystore: +
-alias name "addtrustclass1ca [jdk]"
-
-Distinguished Name: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE
-
-JDK-8244166: Removal of DocuSign Root CA Certificate
+JDK-8274791: Support for RSASSA-PSS in OCSP Response
====================================================
-The following expired DocuSign root CA certificate was removed from the `cacerts` keystore: +
-alias name "keynectisrootca [jdk]"
+An OCSP response signed with the RSASSA-PSS algorithm is now supported.
-Distinguished Name: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR
-
-security-libs/javax.crypto:pkcs11:
-
-JDK-8240191: Allow SunPKCS11 initialization with NSS when external FIPS modules are present in the Security Modules Database
-============================================================================================================================
-The SunPKCS11 security provider can now be initialized with NSS when
-FIPS-enabled external modules are configured in the Security Modules
-Database (NSSDB). Prior to this change, the SunPKCS11 provider would
-throw a RuntimeException with the message: "FIPS flag set for
-non-internal module" when such a library was configured for NSS in
-non-FIPS mode.
-
-This change allows the JDK to work properly with recent NSS releases
-in GNU/Linux operating systems when the system-wide FIPS policy is
-turned on.
-
-Further information can be found in JDK-8238555.
-
-security-libs/javax.net.ssl:
-
-JDK-8245077: Default SSLEngine Should Create in Server Role
-===========================================================
-In JDK 11 and later, `javax.net.ssl.SSLEngine` by default used client
-mode when handshaking. As a result, the set of default enabled
-protocols may differ to what is expected. `SSLEngine` would usually be
-used in server mode. From this JDK release onwards, `SSLEngine` will
-default to server mode. The
-`javax.net.ssl.SSLEngine.setUseClientMode(boolean mode)` method may
-be used to configure the mode.
-
-JDK-8242147: New System Properties to Configure the TLS Signature Schemes
-=========================================================================
-
-Two new System Properties are added to customize the TLS signature
-schemes in JDK. `jdk.tls.client.SignatureSchemes` is added for TLS
-client side, and `jdk.tls.server.SignatureSchemes` is added for server
-side.
-
-Each System Property contains a comma-separated list of supported
-signature scheme names specifying the signature schemes that could be
-used for the TLS connections.
-
-The names are described in the "Signature Schemes" section of the
-*Java Security Standard Algorithm Names Specification*.
-
-New in release OpenJDK 11.0.7 (2020-04-14):
+New in release OpenJDK 17.0.2 (2022-01-18):
===========================================
Live versions of these release notes can be found at:
- * https://bitly.com/oj1107
- * https://builds.shipilev.net/backports-monitor/release-notes-11.0.7.txt
+ * https://bitly.com/openjdk1702
+ * https://builds.shipilev.net/backports-monitor/release-notes-17.0.2.txt
* Security fixes
- - JDK-8223898, CVE-2020-2754: Forward references to Nashorn
- - JDK-8223904, CVE-2020-2755: Improve Nashorn matching
- - JDK-8224541, CVE-2020-2756: Better mapping of serial ENUMs
- - JDK-8224549, CVE-2020-2757: Less Blocking Array Queues
- - JDK-8225603: Enhancement for big integers
- - JDK-8226346: Build better binary builders
- - JDK-8227467: Better class method invocations
- - JDK-8227542: Manifest improved jar headers
- - JDK-8229733: TLS message handling improvements
- - JDK-8231415, CVE-2020-2773: Better signatures in XML
- - JDK-8231785: Improved socket permissions
- - JDK-8232424, CVE-2020-2778: More constrained algorithms
- - JDK-8232581, CVE-2020-2767: Improve TLS verification
- - JDK-8233250: Better X11 rendering
- - JDK-8233410: Better Build Scripting
- - JDK-8234027: Better JCEKS key support
- - JDK-8234408, CVE-2020-2781: Improve TLS session handling
- - JDK-8234825, CVE-2020-2800: Better Headings for HTTP Servers
- - JDK-8234841, CVE-2020-2803: Enhance buffering of byte buffers
- - JDK-8235274, CVE-2020-2805: Enhance typing of methods
- - JDK-8235691, CVE-2020-2816: Enhance TLS connectivity
- - JDK-8236201, CVE-2020-2830: Better Scanner conversions
- - JDK-8238960: linux-i586 builds are inconsistent as the newly build jdk is not able to reserve enough space for object heap
+ - JDK-8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside
+ - JDK-8264934, CVE-2022-21248: Enhance cross VM serialization
+ - JDK-8268488: More valuable DerValues
+ - JDK-8268494: Better inlining of inlined interfaces
+ - JDK-8268512: More content for ContentInfo
+ - JDK-8268813, CVE-2022-21283: Better String matching
+ - JDK-8269151: Better construction of EncryptedPrivateKeyInfo
+ - JDK-8269944: Better HTTP transport redux
+ - JDK-8270386, CVE-2022-21291: Better verification of scan methods
+ - JDK-8270392, CVE-2022-21293: Improve String constructions
+ - JDK-8270416, CVE-2022-21294: Enhance construction of Identity maps
+ - JDK-8270492, CVE-2022-21282: Better resolution of URIs
+ - JDK-8270498, CVE-2022-21296: Improve SAX Parser configuration management
+ - JDK-8270646, CVE-2022-21299: Improved scanning of XML entities
+ - JDK-8270952, CVE-2022-21277: Improve TIFF file handling
+ - JDK-8271962: Better TrueType font loading
+ - JDK-8271968: Better canonical naming
+ - JDK-8271987: Manifest improved manifest entries
+ - JDK-8272014, CVE-2022-21305: Better array indexing
+ - JDK-8272026, CVE-2022-21340: Verify Jar Verification
+ - JDK-8272236, CVE-2022-21341: Improve serial forms for transport
+ - JDK-8272272: Enhance jcmd communication
+ - JDK-8272462: Enhance image handling
+ - JDK-8273290: Enhance sound handling
+ - JDK-8273756, CVE-2022-21360: Enhance BMP image support
+ - JDK-8273838, CVE-2022-21365: Enhanced BMP processing
+ - JDK-8274096, CVE-2022-21366: Improve decoding of image files
* Other changes
- - JDK-4919790: Errors in alert ssl message does not reflect the actual certificate status
- - JDK-4949105: Access Bridge lacks html tags parsing
- - JDK-7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
- - JDK-7143743: Potential memory leak with zip provider
- - JDK-8005819: Support cross-realm MSSFU
- - JDK-8042383: [TEST_BUG] Test javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java fails with shortcuts on menus do not work
- - JDK-8068184: Fix for JDK-8032832 caused a deadlock
- - JDK-8145845: [AOT] NullPointerException in compiler/whitebox/GetCodeHeapEntriesTest.java
- - JDK-8152988: [AOT] Update test batch definitions to include aot-ed java.base module mode into hs-comp testing
- - JDK-8160926: FLAGS_COMPILER_CHECK_ARGUMENTS doesn't handle cross-compilation
- - JDK-8163083: SocketListeningConnector does not allow invocations with port 0
- - JDK-8163251: Hard coded loop limit prevents reading of smart card data greater than 8k
- - JDK-8167276: jvmci/compilerToVM/MaterializeVirtualObjectTest.java fails with -XX:-EliminateAllocations
- - JDK-8169718: nsk/jdb/locals/locals002: ERROR: Cannot find boolVar with expected value: false
- - JDK-8176556: java/awt/dnd/ImageTransferTest/ImageTransferTest.java fails for JFIF
- - JDK-8178798: Two compiler/aot/verification/vmflags tests fail by timeout with UseAVX=3
- - JDK-8183107: PKCS11 regression regarding checkKeySize
- - JDK-8185005: Improve performance of ThreadMXBean.getThreadInfo(long ids[], int maxDepth)
- - JDK-8189633: Missing -Xcheck:jni checking for DeleteWeakGlobalRef
- - JDK-8189861: Refactor CacheFind
- - JDK-8193042: NativeLookup::lookup_critical_entry() should only load shared library once
- - JDK-8193596: java/net/DatagramPacket/ReuseBuf.java failed due to timeout
- - JDK-8194944: Regression automated test 'open/test/jdk/javax/swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java' fails
- - JDK-8196467: javax/swing/JInternalFrame/Test6325652.java fails
- - JDK-8196969: JTreg Failure: serviceability/sa/ClhsdbJstack.java causes NPE
- - JDK-8198321: javax/swing/JEditorPane/5076514/bug5076514.java fails
- - JDK-8198398: Test javax/swing/JColorChooser/Test6199676.java fails in mach5
- - JDK-8199072: Test javax/swing/GroupLayout/6613904/bug6613904.java is unstable
- - JDK-8200432: javadoc fails with ClassCastException on {@link byte[]}
- - JDK-8201349: build broken when configured with --with-zlib=bundled on gcc 7.3
- - JDK-8201355: Avoid native memory allocation in sun.security.mscapi.PRNG.generateSeed
- - JDK-8201513: nsk/jvmti/IterateThroughHeap/filter-* are broken
- - JDK-8203364: Some serviceability/sa/ tests intermittently fail with java.io.IOException: LingeredApp terminated with non-zero exit code 3
- - JDK-8203687: javax/net/ssl/compatibility/Compatibility.java supports TLS 1.3
- - JDK-8203904: javax/swing/JSplitPane/4816114/bug4816114.java: The divider location is wrong
- - JDK-8203911: Test runtime/modules/getModuleJNI/GetModule fails with -Xcheck:jni
- - JDK-8204525: [TESTBUG] runtime/NMT/MallocStressTest.java ran out of java heap
- - JDK-8204529: gc/TestAllocateHeapAtMultiple.java fail with Agent 7 timed out
- - JDK-8204551: Event descriptions are truncated in logs
- - JDK-8206963: [AOT] bug with multiple class loaders
- - JDK-8207367: 10 vmTestbase/nsk/jdi tests timed out when running with jtreg
- - JDK-8207832: serviceability/sa/ClhsdbCDSCore.java failed with "Couldn't find core file location"
- - JDK-8207938: At step6,Click Add button,case failed automatically.
- - JDK-8208157: requires.VMProps throws NPE for missing properties in "release" file
- - JDK-8208379: compiler/jvmci/events/JvmciNotifyInstallEventTest.java failed with "Got unexpected event count after 2nd install attempt: expected 9 to equal 2"
- - JDK-8208658: Make CDS archived heap regions usable even if compressed oop encoding has changed
- - JDK-8208715: Conversion of milliseconds to nanoseconds in UNIXProcess contains bug
- - JDK-8209361: [AOT] Unexpected number of references for JVMTI_HEAP_REFERENCE_CONSTANT_POOL [111-->111]: 0 (expected at least 1)
- - JDK-8209385: CDS runtime classpath checking is too strict when only classes from the system modules are archived
- - JDK-8209389: SIGSEGV in WalkOopAndArchiveClosure::do_oop_work.
- - JDK-8209418: Synchronize test/jdk/sanity/client/lib/jemmy with code-tools/jemmy/v2
- - JDK-8209494: Create a test for SwingSet InternalFrameDemo
- - JDK-8209499: Create test for SwingSet EditorPaneDemo
- - JDK-8209574: [AOT] breakpoint events are generated in different threads does not meet expected count
- - JDK-8209686: cleanup arguments to PhaseIdealLoop() constructor
- - JDK-8209789: Synchronize test/jdk/sanity/client/lib/jemmy with code-tools/jemmy/v2
- - JDK-8209802: Garbage collectors should register JFR types themselves to avoid build errors.
- - JDK-8209807: improve handling exception in requires.VMProps
- - JDK-8209817: stack is executable when building with Clang on Linux
- - JDK-8209824: Improve the code coverage for ThreadLocal
- - JDK-8209826: Undefined reference to os::write after JDK-8209657 (filemap.hpp cleanup)
- - JDK-8209850: Allow NamedThreads to use GlobalCounter critical sections
- - JDK-8209976: Improve iteration over non-JavaThreads
- - JDK-8209993: Create a test for SwingSet3 ToolTipDemo
- - JDK-8210024: JFR calls virtual is_Java_thread from ~Thread()
- - JDK-8210052: Enable testing for all the available look and feels in SwingSet3 demo tests
- - JDK-8210055: Enable different look and feel tests in SwingSet3 demo tests
- - JDK-8210057: Enable different look and feels in SwingSet3 demo test InternalFrameDemoTest
- - JDK-8210058: Algorithmic Italic font leans opposite angle in Printing
- - JDK-8210220: [AOT] jdwp test cases are failing with error # ERROR: TEST FAILED: Cought IOException while receiving event packet
- - JDK-8210289: ArchivedKlassSubGraphInfoRecord is incomplete
- - JDK-8210459: Add support for generating compile_commands.json
- - JDK-8210476: sun/security/mscapi/PrngSlow.java fails with Still too slow
- - JDK-8210512: [Testbug] vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002.java fails with unexpected size of ClassLoaderReference.referringObjects
- - JDK-8210523: runtime/appcds/cacheObject/DifferentHeapSizes.java crash
- - JDK-8210632: Add key exchange algorithm to javax/net/ssl/TLSCommon/CipherSuite.java
- - JDK-8210699: Problem list tests which times out in Xcomp mode
- - JDK-8210793: [JVMCI] AllocateCompileIdTest.java failed to find DiagnosticCommand.class
- - JDK-8210910: Create test for FileChooserDemo
- - JDK-8210994: Create test for SwingSet3 FrameDemo
- - JDK-8211139: Increase timeout value in all tests under jdk/sanity/client/SwingSet/src
- - JDK-8211160: Handle different look and feels in JInternalFrameOperator
- - JDK-8211211: vmTestbase/metaspace/stressDictionary/StressDictionary.java timeout
- - JDK-8211322: Reduce the timeout of tooltip in SwingSet2DemoTest
- - JDK-8211443: Enable different look and feels in SwingSet3 demo test SplitPaneDemoTest
- - JDK-8211703: JInternalFrame : java.lang.AssertionError: cannot find the internal frame
- - JDK-8211781: re-building fails after changing Graal sources
- - JDK-8212897: Some improvements in the EditorPaneDemotest
- - JDK-8212903: [TestBug] Tests test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK2.sh and DemandGTK3.sh fail on Ubuntu 18.04 LTS
- - JDK-8213009: Refactoring existing SunMSCAPI classes
- - JDK-8213010: Supporting keys created with certmgr.exe
- - JDK-8213168: Enable different look and feel tests in SwingSet3 demo test FileChooserDemoTest
- - JDK-8213348: jdk.internal.vm.compiler.management service providers missing in module descriptor
- - JDK-8213906: Update arm devkits with libXrandr headers
- - JDK-8213908: AssertionError in DeferredAttr at setOverloadKind
- - JDK-8214124: [TESTBUG] Bugs in runtime/NMT/MallocStressTest.java
- - JDK-8214344: C2: assert(con.basic_type() != T_ILLEGAL) failed: elembt=byte; loadbt=void; unsigned=0
- - JDK-8214345: infinite recursion while checking super class
- - JDK-8214471: Enable different look and feel tests in SwingSet3 demo test ToolTipDemoTest
- - JDK-8214534: Setting of THIS_FILE in the build is broken
- - JDK-8214557: Filter out VM flags which don't affect AOT code generation
- - JDK-8214578: [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings
- - JDK-8214840: runtime/NMT/MallocStressTest.java timed out
- - JDK-8214850: Rename vm_operations.?pp files to vmOperations.?pp files
- - JDK-8214904: Test8004741.java failed due to "Too few ThreadDeath hits; expected at least 6 but saw only 5"
- - JDK-8215322: add @file support to jaotc
- - JDK-8215355: Object monitor deadlock with no threads holding the monitor (using jemalloc 5.1)
- - JDK-8215396: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT
- - JDK-8216180: [AOT] compiler/intrinsics/bigInteger/TestMulAdd.java crashed with AOT enabled
- - JDK-8216353: Use utility APIs introduced in org/netbeans/jemmy/util/LookAndFeel class in client sanity test cases
- - JDK-8216354: Syntax error in toolchain_windows.m4
- - JDK-8216472: (se) Stack overflow during selection operation leads to crash (win)
- - JDK-8216535: tools/jimage/JImageExtractTest.java timed out
- - JDK-8217235: Create automated test for SwingSet ColorChooserDemoTest
- - JDK-8217297: Add support for multiple look and feel for SwingSet SliderDemoTest
- - JDK-8217338: [Containers] Improve systemd slice memory limit support
- - JDK-8217613: [AOT] TEST_OPTS_AOT_MODULES doesn't work on mac
- - JDK-8217634: RunTest documentation and usability update
- - JDK-8217717: ZGC: Broken oop map in C1 load barrier stub
- - JDK-8217728: Speed up incremental rerun of "make hotspot"
- - JDK-8218268: Javac treats Manifest Class-Path entries as Paths instead of URLs
- - JDK-8218662: Allow 204 responses with Content-Length:0
- - JDK-8218882: NET_Writev is declared, NET_WriteV is defined
- - JDK-8218889: Improperly use of the Optional API
- - JDK-8219205: JFR file without license header
- - JDK-8219597: (bf) Heap buffer state changes could provoke unexpected exceptions
- - JDK-8219723: javax/net/ssl/compatibility/Compatibility.java failed on some SNI cases
- - JDK-8220348: [ntintel] asserts about copying unaligned array
- - JDK-8220451: jdi/EventQueue/remove/remove004 failed due to "ERROR: thread2 is not alive"
- - JDK-8220456: jdi/EventQueue/remove_l/remove_l004 failed due to "TIMEOUT while waiting for event"
- - JDK-8220479: java/nio/channels/Selector/SelectWithConsumer.java failed at testTwoChannels()
- - JDK-8220613: java/util/Arrays/TimSortStackSize2.java times out with fastdebug build
- - JDK-8220688: [TESTBUG] runtime/NMT/MallocStressTest.java timed out
- - JDK-8220786: Create new switch to redirect error reporting output to stdout or stderr
- - JDK-8221270: Duplicated synchronized keywords in SSLSocketImpl
- - JDK-8221312: test/jdk/sanity/client/SwingSet/src/ColorChooserDemoTest.java failed
- - JDK-8221851: Use of THIS_FILE in hotspot invalidates precompiled header on Linux/GCC
- - JDK-8221885: Add intermittent test in the JavaSound to the ProblemList
- - JDK-8222264: Windows incremental build is broken with JDK-8217728
- - JDK-8222391: javax/net/ssl/compatibility/Compatibility.java should be more flexible
- - JDK-8222448: java/lang/reflect/PublicMethods/PublicMethodsTest.java times out
- - JDK-8222519: ButtonDemoScreenshotTest fails randomly with "still state to be reached"
- - JDK-8222741: jdi/EventQueue/remove/remove004 fails due to VMDisconnectedException
- - JDK-8223003: SunMSCAPI keys are not cleaned up
- - JDK-8223063: Support CNG RSA keys
- - JDK-8223158: Docked MacBook cannot start any Java Swing applications
- - JDK-8223260: NamingManager should cache InitialContextFactory
- - JDK-8223464: Improve version string for Oracle CI builds
- - JDK-8223558: Java does not render Myanmar script correctly
- - JDK-8223627: jdk-13+20 bundle name contains null instead of ea
- - JDK-8223638: Replace wildcard address with loopback or local host in tests - part 6
- - JDK-8223678: Add Visual Studio Code workspace generation support (for native code)
- - JDK-8223727: com/sun/jndi/ldap/privconn/RunTest.java failed due to hang in LdapRequest.getReplyBer
- - JDK-8223769: Assert triggers with -XX:+StressReflectiveCode
- - JDK-8224187: Refactor arraycopy_prologue to allow ZGC read barriers on arraycopy
- - JDK-8224475: JTextPane does not show images in HTML rendering
- - JDK-8224673: Adjust permission for delayed starting of debugging
- - JDK-8224705: Tests that need to be problem-listed or have printer resources
- - JDK-8224778: test/jdk/demo/jfc/J2Ddemo/J2DdemoTest.java cannot find J2Ddemo.jar
- - JDK-8224821: java/awt/Focus/NoAutotransferToDisabledCompTest/NoAutotransferToDisabledCompTest.java fails linux-x64
- - JDK-8224830: test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.java fails on linux-x64
- - JDK-8224851: AArch64: fix warnings and errors with Clang and GCC 8.3
- - JDK-8224905: java/lang/ProcessBuilder/Basic.java#id1 failed with stream closed
- - JDK-8225007: java/awt/print/PrinterJob/LandscapeStackOverflow.java may hang
- - JDK-8225105: java/awt/Focus/ShowFrameCheckForegroundTest/ShowFrameCheckForegroundTest.java fails in Windows 10
- - JDK-8225117: java/math/BigInteger/SymmetricRangeTests.java fails with ParseException
- - JDK-8225128: Add exception for expiring DocuSign root to VerifyCACerts test
- - JDK-8225130: Add exception for expiring Comodo roots to VerifyCACerts test
- - JDK-8225144: [macos] In Aqua L&F backspace key does not delete when Shift is pressed
- - JDK-8225180: SignedObject with invalid Key not throwing the InvalidKeyException in Windows
- - JDK-8225182: JNI exception pending in DestroyXIMCallback of awt_InputMethod.c:1327
- - JDK-8225199: [Graal] compiler/jvmci/compilerToVM/IsMatureVsReprofileTest.java fails with -XX:CompileThresholdScaling=0.1
- - JDK-8225305: ProblemList java/lang/invoke/VarHandles tests
- - JDK-8225350: compiler/jvmci/compilerToVM/IsCompilableTest.java timed out
- - JDK-8225430: Replace wildcard address with loopback or local host in tests - part 14
- - JDK-8225435: Upgrade IANA Language Subtag Registry to the latest for JDK14
- - JDK-8225487: giflib legal file is missing attribution for openbsd-reallocarray.c
- - JDK-8225567: Wrong file headers with 8202414 fix changeset
- - JDK-8225684: [AOT] vmTestbase/vm/oom/production/AlwaysOOMProduction tests fail with AOTed java.base
- - JDK-8225766: Curve in certificate should not affect signature scheme when using TLSv1.3
- - JDK-8225797: OldObjectSample event creates unexpected amount of checkpoint data
- - JDK-8226381: ProblemList java/lang/reflect/PublicMethods/PublicMethodsTest.java
- - JDK-8226406: JVM fails to detect mismatched or corrupt CDS archive
- - JDK-8226608: Hide the onjcmd option from the help output
- - JDK-8226892: ActionListeners on JRadioButtons don't get notified when selection is changed with arrow keys
- - JDK-8227112: exclude compiler/intrinsics/sha/sanity tests from AOT runs
- - JDK-8227324: Upgrade to freetype 2.10.1
- - JDK-8227528: TestAbortVMOnSafepointTimeout.java failed due to "RuntimeException: 'Safepoint sync time longer than' missing from stdout/stderr"
- - JDK-8227645: Some tests in serviceability/sa run with fixed -Xmx values and risk running out of memory
- - JDK-8227646: [TESTBUG] appcds/SharedArchiveConsistency timed out
- - JDK-8227662: freetype seeks to index at the end of the font data
- - JDK-8228479: Correct the format of ColorChooserDemoTest
- - JDK-8228613: java.security.Provider#getServices order is no longer deterministic
- - JDK-8228969: 2019-09-28 public suffix list update
- - JDK-8229236: CriticalJNINatives: dll handling should be done in native thread state
- - JDK-8229345: Memory leak due to vtable stubs not being shared on SPARC
- - JDK-8229888: (zipfs) Updating an existing zip file does not preserve original permissions
- - JDK-8229994: assert(false) failed: Bad graph detected in get_early_ctrl_for_expensive
- - JDK-8230004: jdk/internal/jimage/JImageOpenTest.java runs no test
- - JDK-8230235: Rendering HTML with empty img attribute and documentBaseKey cause Exception
- - JDK-8230390: Problemlist SA tests with AOT
- - JDK-8230400: Missing constant pool entry for a method in stacktrace
- - JDK-8230459: Test failed to resume JVMCI CompilerThread
- - JDK-8230480: check malloc/calloc results in java.desktop
- - JDK-8230597: Update GIFlib library to the 5.2.1
- - JDK-8230611: infinite loop in LogOutputList::wait_until_no_readers()
- - JDK-8230624: [TESTBUG] Problemlist JFR compiler/TestCodeSweeper.java
- - JDK-8230677: Should disable Escape Analysis if JVMTI capability can_get_owned_monitor_info was taken
- - JDK-8230926: [macosx] Two apostrophes are entered instead of one with "U.S. International - PC" layout
- - JDK-8231025: Incorrect method tag offset for big endian platform
- - JDK-8231081: TestMetadataRetention fails due to missing symbol id
- - JDK-8231387: java.security.Provider.getService returns random result due to race condition with mutating methods in the same class
- - JDK-8231430: C2: Memory stomp in max_array_length() for T_ILLEGAL type
- - JDK-8231445: check ZALLOC return values in awt coding
- - JDK-8231507: Update Apache Santuario (XML Signature) to version 2.1.4
- - JDK-8231584: Deadlock with ClassLoader.findLibrary and System.loadLibrary call
- - JDK-8231753: use more Posix functionality in aix os::print_os_info
- - JDK-8231810: javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java fails intermittently with "java.lang.Exception: Unexpected EOF"
- - JDK-8232003: (fs) Files.write can leak file descriptor in the exception case
- - JDK-8232056: GetOwnedMonitorInfoWithEATest.java fails with ZGC: Heap too small
- - JDK-8232060: add some initializations using sigemptyset in os_aix.cpp
- - JDK-8232154: Update Mesa 3-D Headers to version 19.2.1
- - JDK-8232167: Visual Studio install found through --with-tools-dir value is discarded
- - JDK-8232170: FSInfo#getJarClassPath throws an exception not declared in its throws clause
- - JDK-8232200: [macos 10.15] Windows in fullscreen tests jumps around the screen
- - JDK-8232207: Linux os::available_memory re-reads cgroup configuration on every invocation
- - JDK-8232224: [TESTBUG] problemlist JFR TestLargeRootSet.java
- - JDK-8232370: Refactor some com.sun.jdi tests to enable IDE integration
- - JDK-8232433: [macos 10.15] java/awt/Window/LocationAtScreenCorner/LocationAtScreenCorner.java may fail
- - JDK-8232571: Add missing SIGINFO signal
- - JDK-8232692: [TESTBUG] compiler/aot/fingerprint/SelfChangedCDS.java fails when cds is disabled
- - JDK-8232713: Update BCEL version to 6.3.1 in license file
- - JDK-8232806: Introduce a system property to disable eager lambda initialization
- - JDK-8232834: RunTest sometimes fails to produce valid exitcode.txt
- - JDK-8232880: Update test documentation with additional settings for client UI tooltip tests
- - JDK-8232950: SUNPKCS11 Provider incorrectly check key length for PSS Signatures.
- - JDK-8233018: Add a new test to verify that DatagramSocket is not interruptible
- - JDK-8233019: java.lang.Class.isPrimitive() (C1) returns wrong result if Klass* is aligned to 32bit
- - JDK-8233032: assert(in_bb(n)) failed: must be
- - JDK-8233078: fix minimal VM build on Linux ppc64(le)
- - JDK-8233328: fix minimal VM build on Linux s390x
- - JDK-8233383: Various minor fixes
- - JDK-8233466: aarch64: remove unnecessary load of mdo when profiling return and parameters type
- - JDK-8233491: Crash in AdapterHandlerLibrary::get_adapter with CDS due to code cache exhaustion
- - JDK-8233529: loopTransform.cpp:2984: Error: assert(p_f->Opcode() == Op_IfFalse) failed
- - JDK-8233548: Update CUP to v0.11b
- - JDK-8233649: Update ProblemList.txt to exclude failing headful tests on macos
- - JDK-8233656: assert(d->is_CFG() && n->is_CFG()) failed: must have CFG nodes
- - JDK-8233657: Intermittent NPE in Component.validate()
- - JDK-8234288: Turkey Time Zone returns incorrect time zone name
- - JDK-8234323: NULL-check return value of SurfaceData_InitOps on macosx
- - JDK-8234339: replace JLI_StrTok in java_md_solinux.c
- - JDK-8234340: Bump update version for OpenJDK: jdk-11.0.7
- - JDK-8234350: assert(mode == ControlAroundStripMined && (use == sfpt || !use->is_reachable_from_root())) failed: missed a node
- - JDK-8234386: [macos] NPE was thrown at expanding Choice from maximized frame
- - JDK-8234397: add OS uptime information to os::print_os_info output
- - JDK-8234423: Modifying ArrayList.subList().subList() resets modCount of subList
- - JDK-8234466: Class loading deadlock involving X509Factory#commitEvent()
- - JDK-8234501: remove obsolete NET_ReadV
- - JDK-8234525: enable link-time section-gc for linux s390x to remove unused code
- - JDK-8234610: MaxVectorSize set wrongly when UseAVX=3 is specified after JDK-8221092
- - JDK-8234617: C1: Incorrect result of field load due to missing narrowing conversion
- - JDK-8234723: javax/net/ssl/TLS tests support TLSv1.3
- - JDK-8234724: javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java supports TLSv1.3
- - JDK-8234741: enhance os::get_core_path on macOS
- - JDK-8234769: Duplicate attribution in freetype.md
- - JDK-8234786: Fix for JDK-8214578 breaks OS X 10.12 compatibility
- - JDK-8234809: set relro in linker flags when building with gcc
- - JDK-8234824: java/nio/channels/SocketChannel/AdaptSocket.java fails on Windows 10
- - JDK-8235243: handle VS2017 15.9 and VS2019 in abstract_vm_version
- - JDK-8235288: AVX 512 instructions inadvertently used on Xeon for small vector width operations
- - JDK-8235325: build failure on Linux after 8235243
- - JDK-8235383: C1 compilation fails with -XX:+PrintIRDuringConstruction -XX:+Verbose
- - JDK-8235489: handle return values of sscanf calls in hotspot
- - JDK-8235509: Backport for JDK-8209657 Refactor filemap.hpp to simplify integration with Serviceability Agent.
- - JDK-8235510: java.util.zip.CRC32 performance drop after 8200067
- - JDK-8235563: [TESTBUG] appcds/CommandLineFlagComboNegative.java does not handle archive mapping failure
- - JDK-8235637: jhsdb jmap from OpenJDK 11.0.5 doesn't work if prelink is enabled
- - JDK-8235671: enhance print_rlimit_info in os_posix
- - JDK-8235744: PIT: test/jdk/javax/swing/text/html/TestJLabelWithHTMLText.java times out in linux-x64
- - JDK-8235904: Infinite loop when rendering huge lines
- - JDK-8235998: [c2] Memory leaks during tracing after '8224193: stringStream should not use Resource Area'.
- - JDK-8236039: JSSE Client does not accept status_request extension in CertificateRequest messages for TLS 1.3
- - JDK-8236140: assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it
- - JDK-8236179: C1 register allocation error with T_ADDRESS
- - JDK-8236488: Support for configure option --with-native-debug-symbols=internal is impossible on Windows
- - JDK-8236500: Windows ucrt.dll should be looked up in versioned WINSDK subdirectory
- - JDK-8236709: struct SwitchRange in HS violates C++ One Definition Rule
- - JDK-8236848: [JDK 11u] make run-test-tier1 fails after backport of JDK-8232834
- - JDK-8236873: Worker has a deadlock bug
- - JDK-8237217: Incorrect G1StringDedupEntry type used in StringDedupTable destructor
- - JDK-8237368: Problem with NullPointerException in RMI TCPEndpoint.read
- - JDK-8237375: SimpleThresholdPolicy misses CounterDecay timestamp initialization
- - JDK-8237508: Simplify JarFile.isInitializing
- - JDK-8237540: Missing files in backport of JDK-8210910
- - JDK-8237541: Missing files in backport of JDK-8236528
- - JDK-8237600: Test SunJSSEFIPSInit fails on Ubuntu
- - JDK-8237819: s390x - remove unused pd_zero_to_words_large
- - JDK-8237869: exclude jtreg test security/infra/java/security/cert/CertPathValidator/certification/LuxTrustCA.java because of instabilities
- - JDK-8237879: make 4.3 breaks build
- - JDK-8237945: CTW: C2 compilation fails with assert(just_allocated_object(alloc_ctl) == ptr) failed: most recent allo
- - JDK-8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary
- - JDK-8238247: CTW runner should sweep nmethods more aggressively
- - JDK-8238366: CTW runner closes standard output on exit
- - JDK-8238438: SuperWord::co_locate_pack picks memory state of first instead of last load
- - JDK-8238502: sunmscapi.dll causing EXCEPTION_ACCESS_VIOLATION
- - JDK-8238534: Deep sign macOS bundles before bundle archive is being created
- - JDK-8238591: CTW: Split applications/ctw/modules/jdk_localedata.java
- - JDK-8238596: AVX enabled by default for Skylake even when unsupported
- - JDK-8238811: C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges
- - JDK-8239005: [TESTBUG] test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java: exeinvoke.c: must initialize static state before calling do_overflow()
- - JDK-8239466: Loss of precision in counter decay calculation in 11u backport of JDK-8237375
- - JDK-8239856: [ntintel] asserts about copying unaligned array element
- - JDK-8240724: [test] jdk11 downport of 8224475 misses binary file test/jdk/javax/swing/JTextPane/arrow.png
- - JDK-8241296: Segfault in JNIHandleBlock::oops_do()
+ - JDK-4819544: SwingSet2 JTable Demo throws NullPointerException
+ - JDK-8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing
+ - JDK-8140241: (fc) Data transfer from FileChannel to itself causes hang in case of overlap
+ - JDK-8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently
+ - JDK-8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream
+ - JDK-8214761: Bug in parallel Kahan summation implementation
+ - JDK-8223923: C2: Missing interference with mismatched unsafe accesses
+ - JDK-8233020: (fs) UnixFileSystemProvider should use StaticProperty.userDir().
+ - JDK-8238649: Call new Win32 API SetThreadDescription in os::set_native_thread_name
+ - JDK-8244675: assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines()))
+ - JDK-8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled
+ - JDK-8261579: AArch64: Support for weaker memory ordering in Atomic
+ - JDK-8262031: Create implementation for NSAccessibilityNavigableStaticText protocol
+ - JDK-8262095: NPE in Flow$FlowAnalyzer.visitApply: Cannot invoke getThrownTypes because tree.meth.type is null
+ - JDK-8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert
+ - JDK-8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream
+ - JDK-8263375: Support stack watermarks in Zero VM
+ - JDK-8263773: Reenable German localization for builds at Oracle
+ - JDK-8264286: Create implementation for NSAccessibilityColumn protocol peer
+ - JDK-8264287: Create implementation for NSAccessibilityComboBox protocol peer
+ - JDK-8264291: Create implementation for NSAccessibilityCell protocol peer
+ - JDK-8264292: Create implementation for NSAccessibilityList protocol peer
+ - JDK-8264293: Create implementation for NSAccessibilityMenu protocol peer
+ - JDK-8264294: Create implementation for NSAccessibilityMenuBar protocol peer
+ - JDK-8264295: Create implementation for NSAccessibilityMenuItem protocol peer
+ - JDK-8264296: Create implementation for NSAccessibilityPopUpButton protocol peer
+ - JDK-8264297: Create implementation for NSAccessibilityProgressIndicator protocol peer
+ - JDK-8264298: Create implementation for NSAccessibilityRow protocol peer
+ - JDK-8264303: Create implementation for NSAccessibilityTabGroup protocol peer
+ - JDK-8266239: Some duplicated javac command-line options have repeated effect
+ - JDK-8266510: Nimbus JTree default tree cell renderer does not use selected text color
+ - JDK-8266988: compiler/jvmci/compilerToVM/IsMatureTest.java fails with Unexpected isMature state for multiple times invoked method: expected false to equal true
+ - JDK-8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl
+ - JDK-8267385: Create NSAccessibilityElement implementation for JavaComponentAccessibility
+ - JDK-8267387: Create implementation for NSAccessibilityOutline protocol
+ - JDK-8267388: Create implementation for NSAccessibilityTable protocol
+ - JDK-8268284: javax/swing/JComponent/7154030/bug7154030.java fails with "Exception: Failed to hide opaque button"
+ - JDK-8268294: Reusing HttpClient in a WebSocket.Listener hangs.
+ - JDK-8268361: Fix the infinite loop in next_line
+ - JDK-8268457: XML Transformer outputs Unicode supplementary character incorrectly to HTML
+ - JDK-8268464: Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests
+ - JDK-8268626: Remove native pre-jdk9 support for jtreg failure handler
+ - JDK-8268860: Windows-Aarch64 build is failing in GitHub actions
+ - JDK-8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
+ - JDK-8268885: duplicate checkcast when destination type is not first type of intersection type
+ - JDK-8268893: jcmd to trim the glibc heap
+ - JDK-8268894: forged ASTs can provoke an AIOOBE at com.sun.tools.javac.jvm.ClassWriter::writePosition
+ - JDK-8268927: Windows: link error: unresolved external symbol "int __cdecl convert_to_unicode(char const *,wchar_t * *)"
+ - JDK-8269031: linux x86_64 check for binutils 2.25 or higher after 8265783
+ - JDK-8269113: Javac throws when compiling switch (null)
+ - JDK-8269216: Useless initialization in com/sun/crypto/provider/PBES2Parameters.java
+ - JDK-8269269: [macos11] SystemIconTest fails with ClassCastException
+ - JDK-8269280: (bf) Replace StringBuffer in *Buffer.toString()
+ - JDK-8269481: SctpMultiChannel never releases own file descriptor
+ - JDK-8269637: javax/swing/JFileChooser/FileSystemView/SystemIconTest.java fails on windows
+ - JDK-8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles
+ - JDK-8269687: pauth_aarch64.hpp include name is incorrect
+ - JDK-8269850: Most JDK releases report macOS version 12 as 10.16 instead of 12.0
+ - JDK-8269924: Shenandoah: Introduce weak/strong marking asserts
+ - JDK-8269951: [macos] Focus not painted in JButton when setBorderPainted(false) is invoked
+ - JDK-8270110: Shenandoah: Add test for JDK-8269661
+ - JDK-8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS
+ - JDK-8270171: Shenandoah: Cleanup TestStringDedup and TestStringDedupStress tests
+ - JDK-8270290: NTLM authentication fails if HEAD request is used
+ - JDK-8270317: Large Allocation in CipherSuite
+ - JDK-8270320: JDK-8270110 committed invalid copyright headers
+ - JDK-8270517: Add Zero support for LoongArch
+ - JDK-8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS
+ - JDK-8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
+ - JDK-8270893: IndexOutOfBoundsException while reading large TIFF file
+ - JDK-8270901: Typo PHASE_CPP in CompilerPhaseType
+ - JDK-8270946: X509CertImpl.getFingerprint should not return the empty String
+ - JDK-8271071: accessibility of a table on macOS lacks cell navigation
+ - JDK-8271121: ZGC: stack overflow (segv) when -Xlog:gc+start=debug
+ - JDK-8271142: package help is not displayed for missing X11/extensions/Xrandr.h
+ - JDK-8271170: Add unit test for what jpackage app launcher puts in the environment
+ - JDK-8271215: Fix data races in G1PeriodicGCTask
+ - JDK-8271254: javac generates unreachable code when using empty semicolon statement
+ - JDK-8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected"
+ - JDK-8271308: (fc) FileChannel.transferTo() transfers no more than Integer.MAX_VALUE bytes in one call
+ - JDK-8271315: Redo: Nimbus JTree renderer properties persist across L&F changes
+ - JDK-8271323: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -XX:TieredStopAtLevel=1
+ - JDK-8271340: Crash PhaseIdealLoop::clone_outer_loop
+ - JDK-8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java
+ - JDK-8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity
+ - JDK-8271463: Updating RE Configs for Upcoming CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
+ - JDK-8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling
+ - JDK-8271560: sun/security/ssl/DHKeyExchange/LegacyDHEKeyExchange.java still fails due to "An established connection was aborted by the software in your host machine"
+ - JDK-8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions
+ - JDK-8271600: C2: CheckCastPP which should closely follow Allocate is sunk of a loop
+ - JDK-8271605: Update JMH devkit to 1.32
+ - JDK-8271718: Crash when during color transformation the color profile is replaced
+ - JDK-8271722: [TESTBUG] gc/g1/TestMixedGCLiveThreshold.java can fail if G1 Full GC uses >1 workers
+ - JDK-8271855: [TESTBUG] Wrong weakCompareAndSet assumption in UnsafeIntrinsicsTest
+ - JDK-8271862: C2 intrinsic for Reference.refersTo() is often not used
+ - JDK-8271868: Warn user when using mac-sign option with unsigned app-image.
+ - JDK-8271895: UnProblemList javax/swing/JComponent/7154030/bug7154030.java in JDK18
+ - JDK-8271954: C2: assert(false) failed: Bad graph detected in build_loop_late
+ - JDK-8272047: java/nio/channels/FileChannel/Transfer2GPlus.java failed with Unexpected transfer size: 2147418112
+ - JDK-8272095: ProblemList java/nio/channels/FileChannel/Transfer2GPlus.java on linux-aarch64
+ - JDK-8272114: Unused _last_state in osThread_windows
+ - JDK-8272170: Missing memory barrier when checking active state for regions
+ - JDK-8272305: several hotspot runtime/modules don't check exit codes
+ - JDK-8272318: Improve performance of HeapDumpAllTest
+ - JDK-8272328: java.library.path is not set properly by Windows jpackage app launcher
+ - JDK-8272335: runtime/cds/appcds/MoveJDKTest.java doesn't check exit codes
+ - JDK-8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions
+ - JDK-8272345: macos doesn't check `os::set_boot_path()` result
+ - JDK-8272369: java/io/File/GetXSpace.java failed with "RuntimeException: java.nio.file.NoSuchFileException: /run/user/0"
+ - JDK-8272391: Undeleted debug information
+ - JDK-8272413: Incorrect num of element count calculation for vector cast
+ - JDK-8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong
+ - JDK-8272562: C2: assert(false) failed: Bad graph detected in build_loop_late
+ - JDK-8272570: C2: crash in PhaseCFG::global_code_motion
+ - JDK-8272574: C2: assert(false) failed: Bad graph detected in build_loop_late
+ - JDK-8272639: jpackaged applications using microphone on mac
+ - JDK-8272703: StressSeed should be set via FLAG_SET_ERGO
+ - JDK-8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit
+ - JDK-8272783: Epsilon: Refactor tests to improve performance
+ - JDK-8272836: Limit run time for java/lang/invoke/LFCaching tests
+ - JDK-8272838: Move CriticalJNI tests out of tier1
+ - JDK-8272846: Move some runtime/Metaspace/elastic/ tests out of tier1
+ - JDK-8272850: Drop zapping values in the Zap* option descriptions
+ - JDK-8272854: split runtime/CommandLine/PrintTouchedMethods.java test
+ - JDK-8272856: DoubleFlagWithIntegerValue uses G1GC-only flag
+ - JDK-8272859: Javadoc external links should only have feature version number in URL
+ - JDK-8272914: Create hotspot:tier2 and hotspot:tier3 test groups
+ - JDK-8272970: Parallelize runtime/InvocationTests/
+ - JDK-8272973: Incorrect compile command used by TestIllegalArrayCopyBeforeInfiniteLoop
+ - JDK-8273021: C2: Improve Add and Xor ideal optimizations
+ - JDK-8273026: Slow LoginContext.login() on multi threading application
+ - JDK-8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7
+ - JDK-8273165: GraphKit::combine_exception_states fails with "matching stack sizes" assert
+ - JDK-8273176: handle latest VS2019 in abstract_vm_version
+ - JDK-8273229: Update OS detection code to recognize Windows Server 2022
+ - JDK-8273234: extended 'for' with expression of type tvar causes the compiler to crash
+ - JDK-8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit
+ - JDK-8273278: Support XSLT on GraalVM Native Image--deterministic bytecode generation in XSLT
+ - JDK-8273308: PatternMatchTest.java fails on CI
+ - JDK-8273314: Add tier4 test groups
+ - JDK-8273315: Parallelize and increase timeouts for java/foreign/TestMatrix.java test
+ - JDK-8273318: Some containers/docker/TestJFREvents.java configs are running out of memory
+ - JDK-8273333: Zero should warn about unimplemented -XX:+LogTouchedMethods
+ - JDK-8273335: compiler/blackhole tests should not run with interpreter-only VMs
+ - JDK-8273342: Null pointer dereference in classFileParser.cpp:2817
+ - JDK-8273359: CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size
+ - JDK-8273361: InfoOptsTest is failing in tier1
+ - JDK-8273373: Zero: Cannot invoke JVM in primordial threads on Zero
+ - JDK-8273375: Remove redundant 'new String' calls after concatenation in java.desktop
+ - JDK-8273376: Zero: Disable vtable/itableStub gtests
+ - JDK-8273378: Shenandoah: Remove the remaining uses of os::is_MP
+ - JDK-8273408: java.lang.AssertionError: typeSig ERROR on generated class property of record
+ - JDK-8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1}
+ - JDK-8273440: Zero: Disable runtime/Unsafe/InternalErrorTest.java
+ - JDK-8273450: Fix the copyright header of SVML files
+ - JDK-8273451: Remove unreachable return in mutexLocker::wait
+ - JDK-8273483: Zero: Clear pending JNI exception check in native method handler
+ - JDK-8273486: Zero: Handle DiagnoseSyncOnValueBasedClasses VM option
+ - JDK-8273487: Zero: Handle "zero" variant in runtime tests
+ - JDK-8273489: Zero: Handle UseHeavyMonitors on all monitorenter paths
+ - JDK-8273498: compiler/c2/Test7179138_1.java timed out
+ - JDK-8273505: runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl crashed with SIGSEGV in MetaspaceShared::link_shared_classes
+ - JDK-8273514: java/util/DoubleStreamSums/CompensatedSums.java failure
+ - JDK-8273575: memory leak in appendBootClassPath(), paths must be deallocated
+ - JDK-8273592: Backout JDK-8271868
+ - JDK-8273593: [REDO] Warn user when using mac-sign option with unsigned app-image.
+ - JDK-8273595: tools/jpackage tests do not work on apt-based Linux distros like Debian
+ - JDK-8273606: Zero: SPARC64 build fails with si_band type mismatch
+ - JDK-8273614: Shenandoah: intermittent timeout with ConcurrentGCBreakpoint tests
+ - JDK-8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F
+ - JDK-8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher
+ - JDK-8273678: TableAccessibility and TableRowAccessibility miss autorelease
+ - JDK-8273695: Safepoint deadlock on VMOperation_lock
+ - JDK-8273790: Potential cyclic dependencies between Gregorian and CalendarSystem
+ - JDK-8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly
+ - JDK-8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java
+ - JDK-8273808: Cleanup AddFontsToX11FontPath
+ - JDK-8273826: Correct Manifest file name and NPE checks
+ - JDK-8273887: [macos] java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java timed out
+ - JDK-8273894: ConcurrentModificationException raised every time ReferralsCache drops referral
+ - JDK-8273902: Memory leak in OopStorage due to bug in OopHandle::release()
+ - JDK-8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add()
+ - JDK-8273935: (zipfs) Files.getFileAttributeView() throws UOE instead of returning null when view not supported
+ - JDK-8273958: gtest/MetaspaceGtests executes unnecessary tests in debug builds
+ - JDK-8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character
+ - JDK-8273965: some testlibrary_tests/ir_framework tests fail when c1 disabled
+ - JDK-8273968: JCK javax_xml tests fail in CI
+ - JDK-8274056: JavaAccessibilityUtilities leaks JNI objects
+ - JDK-8274074: SIGFPE with C2 compiled code with -XX:+StressGCM
+ - JDK-8274083: Update testing docs to mention tiered testing
+ - JDK-8274087: Windows DLL path not set correctly.
+ - JDK-8274145: C2: condition incorrectly made redundant with dominating main loop exit condition
+ - JDK-8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC
+ - JDK-8274215: Remove globalsignr2ca root from 17.0.2
+ - JDK-8274242: Implement fast-path for ASCII-compatible CharsetEncoders on x86
+ - JDK-8274265: Suspicious string concatenation in logTestUtils.inline.hpp
+ - JDK-8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated
+ - JDK-8274325: C4819 warning at vm_version_x86.cpp on Windows after JDK-8234160
+ - JDK-8274326: [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m
+ - JDK-8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern
+ - JDK-8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"
+ - JDK-8274347: Passing a *nested* switch expression as a parameter causes an NPE during compile
+ - JDK-8274349: ForkJoinPool.commonPool() does not work with 1 CPU
+ - JDK-8274381: missing CAccessibility definitions in JNI code
+ - JDK-8274383: JNI call of getAccessibleSelection on a wrong thread
+ - JDK-8274401: C2: GraphKit::load_array_element bypasses Access API
+ - JDK-8274406: RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough"
+ - JDK-8274407: (tz) Update Timezone Data to 2021c
+ - JDK-8274435: EXCEPTION_ACCESS_VIOLATION in BFSClosure::closure_impl
+ - JDK-8274467: TestZoneInfo310.java fails with tzdata2021b
+ - JDK-8274468: TimeZoneTest.java fails with tzdata2021b
+ - JDK-8274501: c2i entry barriers read int as long on AArch64
+ - JDK-8274521: jdk/jfr/event/gc/detailed/TestGCLockerEvent.java fails when other GC is selected
+ - JDK-8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah
+ - JDK-8274523: java/lang/management/MemoryMXBean/MemoryTest.java test should handle Shenandoah
+ - JDK-8274550: c2i entry barriers read int as long on PPC
+ - JDK-8274560: JFR: Add test for OldObjectSample event when using Shenandoah
+ - JDK-8274606: Fix jaxp/javax/xml/jaxp/unittest/transform/SurrogateTest.java test
+ - JDK-8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287
+ - JDK-8274716: JDWP Spec: the description for the Dispose command confuses suspend with resume.
+ - JDK-8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily
+ - JDK-8274770: [PPC64] resolve_jobject needs a generic implementation to support load barriers
+ - JDK-8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform
+ - JDK-8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST
+ - JDK-8274840: Update OS detection code to recognize Windows 11
+ - JDK-8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior
+ - JDK-8274851: [ppc64] Port zgc to linux on ppc64le
+ - JDK-8274942: AssertionError at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155)
+ - JDK-8275008: gtest build failure due to stringop-overflow warning with gcc11
+ - JDK-8275049: [ZGC] missing null check in ZNMethod::log_register
+ - JDK-8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag
+ - JDK-8275071: [macos] A11y cursor gets stuck when combobox is closed
+ - JDK-8275104: IR framework does not handle client VM builds correctly
+ - JDK-8275110: Correct RE Configs for CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
+ - JDK-8275131: Exceptions after a touchpad gesture on macOS
+ - JDK-8275141: recover corrupted line endings for the version-numbers.conf
+ - JDK-8275145: file.encoding system property has an incorrect value on Windows
+ - JDK-8275226: Shenandoah: Relax memory constraint for worker claiming tasks/ranges
+ - JDK-8275302: unexpected compiler error: cast, intersection types and sealed
+ - JDK-8275426: PretouchTask num_chunks calculation can overflow
+ - JDK-8275604: Zero: Reformat opclabels_data
+ - JDK-8275666: serviceability/jvmti/GetObjectSizeClass.java shouldn't have vm.flagless
+ - JDK-8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem
+ - JDK-8275720: CommonComponentAccessibility.createWithParent isWrapped causes mem leak
+ - JDK-8275766: (tz) Update Timezone Data to 2021e
+ - JDK-8275809: crash in [CommonComponentAccessibility getCAccessible:withEnv:]
+ - JDK-8275811: Incorrect instance to dispose
+ - JDK-8275819: [TableRowAccessibility accessibilityChildren] method is ineffective
+ - JDK-8275849: TestZoneInfo310.java fails with tzdata2021e
+ - JDK-8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings
+ - JDK-8275872: Sync J2DBench run and analyze Makefile targets with build.xml
+ - JDK-8276025: Hotspot's libsvml.so may conflict with user dependency
+ - JDK-8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance
+ - JDK-8276076: Updating RE Configs for BUILD REQUEST 17.0.2+3
+ - JDK-8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly
+ - JDK-8276112: Inconsistent scalar replacement debug info at safepoints
+ - JDK-8276122: Change openjdk project in jcheck to jdk-updates
+ - JDK-8276130: Fix Github Actions of JDK17u to account for update version scheme
+ - JDK-8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test
+ - JDK-8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32
+ - JDK-8276201: Shenandoah: Race results degenerated GC to enter wrong entry point
+ - JDK-8276205: Shenandoah: CodeCache_lock should always be held for initializing code cache iteration
+ - JDK-8276306: jdk/jshell/CustomInputToolBuilder.java fails intermittently on storage acquisition
+ - JDK-8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766
+ - JDK-8276550: Use SHA256 hash in build.tools.depend.Depend
+ - JDK-8276572: Fake libsyslookup.so library causes tooling issues
+ - JDK-8276774: Cookie stored in CookieHandler not sent if user headers contain cookie
+ - JDK-8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah
+ - JDK-8276805: java/awt/print/PrinterJob/CheckPrivilege.java fails due to disabled SecurityManager
+ - JDK-8276845: (fs) java/nio/file/spi/SetDefaultProvider.java fails on x86_32
+ - JDK-8276846: JDK-8273416 is incomplete for UseSSE=1
+ - JDK-8276854: Windows GHA builds fail due to broken Cygwin
+ - JDK-8276864: Update boot JDKs to 17.0.1 in GHA
+ - JDK-8276905: Use appropriate macosx_version_minimum value while compiling metal shaders
+ - JDK-8276927: [ppc64] Port shenandoahgc to linux on ppc64le
+ - JDK-8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes
+ - JDK-8277093: Vector should throw ClassNotFoundException for a missing class of an element
+ - JDK-8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points
+ - JDK-8277195: missing CAccessibility definition in [CommonComponentAccessibility accessibilityHitTest]
+ - JDK-8277212: GC accidentally cleans valid megamorphic vtable inline caches
+ - JDK-8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE
+ - JDK-8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint
+ - JDK-8277981: String Deduplication table is never cleaned up due to bad dead_factor_for_cleanup
Notes on individual issues:
===========================
-security-libs/javax.xml.crypto:
+core-libs/java.io:serialization:
-JDK-8239467: Apache Santuario Library Updated to Version 2.1.4
-==============================================================
-The Apache Santuario library has been upgraded to version 2.1.4. As a
-result, a new system property
-`com.sun.org.apache.xml.internal.security.parser.pool-size` has been
-introduced.
+JDK-8277157: Vector should throw ClassNotFoundException for a missing class of an element
+=========================================================================================
+`java.util.Vector` is updated to correctly report
+`ClassNotFoundException that occurs during deserialization using
+`java.io.ObjectInputStream.GetField.get(name, object)` when the class
+of an element of the Vector is not found. Without this fix, a
+`StreamCorruptedException` is thrown that does not provide information
+about the missing class.
-This new system property sets the pool size of the internal
-`DocumentBuilder` cache used when processing XML Signatures. The
-function is equivalent to the
-`org.apache.xml.security.parser.pool-size` system property used in
-Apache Santuario and has the same default value of 20.
+security-libs/java.security:
+
+JDK-8272535: Removed Google's GlobalSign Root Certificate
+=========================================================
+The following root certificate from Google has been removed from the
+`cacerts` keystore:
+
+Alias Name: globalsignr2ca [jdk]
+Distinguished Name: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2
+
+core-libs/java.io:
+
+JDK-8275343: file.encoding System Property Has an Incorrect Value on Windows
+============================================================================
+The initialization of the `file.encoding` system property on non macOS
+platforms has been reverted to align with the behavior on or before
+JDK 11. This has been an issue especially on Windows where the system
+and user's locales are not the same.
+
+hotspot/gc:
+
+JDK-8277533: ZGC: Fixed long Process Non-Strong References times
+================================================================
+A bug has been fixed that could cause long "Concurrent Process
+Non-Strong References" times with ZGC. The bug blocked the GC from
+making significant progress, and caused both latency and throughput
+issues for the Java application.
+
+The long times could be seen in the GC logs when running with `-Xlog:gc*` e.g.
+
+[17606.140s][info][gc,phases ] GC(719) Concurrent Process Non-Strong References 25781.928ms
+
+core-libs/java.time:
+
+JDK-8274857: Update Timezone Data to 2021c
+===========================================
+IANA Time Zone Database, on which JDK's Date/Time libraries are based,
+has been updated to version 2021c
+(https://mm.icann.org/pipermail/tz-announce/2021-October/000067.html). Note
+that with this update, some of the time zone rules prior to the year
+1970 have been modified according to the changes which were introduced
+with 2021b. For more detail, refer to the announcement of 2021b
+(https://mm.icann.org/pipermail/tz-announce/2021-September/000066.html)
+
+New in release OpenJDK 17.0.1 (2021-10-19):
+===========================================
+Live versions of these release notes can be found at:
+ * https://builds.shipilev.net/backports-monitor/release-notes-17.0.1.txt
+
+* Security fixes
+ - JDK-8263314: Enhance XML Dsig modes
+ - JDK-8265167, CVE-2021-35556: Richer Text Editors
+ - JDK-8265574: Improve handling of sheets
+ - JDK-8265580, CVE-2021-35559: Enhanced style for RTF kit
+ - JDK-8265776: Improve Stream handling for SSL
+ - JDK-8266097, CVE-2021-35561: Better hashing support
+ - JDK-8266103: Better specified spec values
+ - JDK-8266109: More Resilient Classloading
+ - JDK-8266115: More Manifest Jar Loading
+ - JDK-8266137, CVE-2021-35564: Improve Keystore integrity
+ - JDK-8266689, CVE-2021-35567: More Constrained Delegation
+ - JDK-8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic
+ - JDK-8267712: Better LDAP reference processing
+ - JDK-8267729, CVE-2021-35578: Improve TLS client handshaking
+ - JDK-8267735, CVE-2021-35586: Better BMP support
+ - JDK-8268193: Improve requests of certificates
+ - JDK-8268199: Correct certificate requests
+ - JDK-8268205: Enhance DTLS client handshake
+ - JDK-8268500: Better specified ParameterSpecs
+ - JDK-8268506: More Manifest Digests
+ - JDK-8269618, CVE-2021-35603: Better session identification
+ - JDK-8269624: Enhance method selection support
+ - JDK-8270398: Enhance canonicalization
+ - JDK-8270404: Better canonicalization
+* Other changes
+ - JDK-8225082: Remove IdenTrust certificate that is expiring in September 2021
+ - JDK-8243543: jtreg test security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java fails
+ - JDK-8248899: security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked
+ - JDK-8261088: Repeatable annotations without @Target cannot have containers that target module declarations
+ - JDK-8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print"
+ - JDK-8263531: Remove unused buffer int
+ - JDK-8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java
+ - JDK-8267625: AARCH64: typo in LIR_Assembler::emit_profile_type
+ - JDK-8267666: Add option to jcmd GC.heap_dump to use existing file
+ - JDK-8268019: C2: assert(no_dead_loop) failed: dead loop detected
+ - JDK-8268261: C2: assert(n != __null) failed: Bad immediate dominator info.
+ - JDK-8268427: Improve AlgorithmConstraints:checkAlgorithm performance
+ - JDK-8268963: [IR Framework] Some default regexes matching on PrintOptoAssembly in IRNode.java do not work on all platforms
+ - JDK-8269297: Bump version numbers for JDK 17.0.1
+ - JDK-8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient
+ - JDK-8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events
+ - JDK-8269763: The JEditorPane is blank after JDK-8265167
+ - JDK-8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers
+ - JDK-8269882: stack-use-after-scope in NewObjectA
+ - JDK-8269897: Shenandoah: Resolve UNKNOWN access strength, where possible
+ - JDK-8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status
+ - JDK-8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags
+ - JDK-8270094: Shenandoah: Provide human-readable labels for test configurations
+ - JDK-8270096: Shenandoah: Optimize gc/shenandoah/TestRefprocSanity.java for interpreter mode
+ - JDK-8270098: ZGC: ZBarrierSetC2::clone_at_expansion fails with "Guard against surprises" assert
+ - JDK-8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup
+ - JDK-8270280: security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA.java OCSP response error
+ - JDK-8270344: Session resumption errors
+ - JDK-8271203: C2: assert(iff->Opcode() == Op_If || iff->Opcode() == Op_CountedLoopEnd || iff->Opcode() == Op_RangeCheck) failed: Check this code when new subtype is added
+ - JDK-8271276: C2: Wrong JVM state used for receiver null check
+ - JDK-8271335: Updating RE Configs for BUILD REQUEST 17.0.1+4
+ - JDK-8271589: fatal error with variable shift count integer rotate operation.
+ - JDK-8271723: Unproblemlist runtime/InvocationTests/invokevirtualTests.java
+ - JDK-8271730: Client authentication using RSASSA-PSS fails after correct certificate requests
+ - JDK-8271925: ZGC: Arraycopy stub passes invalid oop to load barrier
+ - JDK-8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon
+ - JDK-8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj
+ - JDK-8272326: java/util/Random/RandomTestMoments.java had two Gaussian fails
+ - JDK-8272332: --with-harfbuzz=system doesn't add -lharfbuzz after JDK-8255790
+ - JDK-8272472: StackGuardPages test doesn't build with glibc 2.34
+ - JDK-8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182
+ - JDK-8272602: [macos] not all KEY_PRESSED events sent when control modifier is used
+ - JDK-8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848
+ - JDK-8272708: [Test]: Cleanup: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled
+ - JDK-8272806: [macOS] "Apple AWT Internal Exception" when input method is changed
+ - JDK-8273358: macOS Monterey does not have the font Times needed by Serif
+
+Notes on individual issues:
+===========================
+
+security-libs/java.security:
+
+JDK-8271434: Removed IdenTrust Root Certificate
+===============================================
+The following root certificate from IdenTrust has been removed from
+the `cacerts` keystore:
+
+Alias Name: identrustdstx3 [jdk]
+Distinguished Name: CN=DST Root CA X3, O=Digital Signature Trust Co.
+
+New in release OpenJDK 17.0.0 (2021-09-14):
+===========================================
+The full list of changes in the interim releases from 11u to 17u can be found at:
+ * https://builds.shipilev.net/backports-monitor/release-notes-12.txt
+ * https://builds.shipilev.net/backports-monitor/release-notes-13.txt
+ * https://builds.shipilev.net/backports-monitor/release-notes-14.txt
+ * https://builds.shipilev.net/backports-monitor/release-notes-15.txt
+ * https://builds.shipilev.net/backports-monitor/release-notes-16.txt
+ * https://builds.shipilev.net/backports-monitor/release-notes-17.txt
+
+Major changes are listed below. Some changes may have been backported
+to earlier releases following their first appearance in OpenJDK 12
+through to 17.
+
+NEW FEATURES
+============
+
+Language Features
+=================
+
+Switch Expressions
+==================
+https://openjdk.java.net/jeps/325
+https://openjdk.java.net/jeps/354
+https://openjdk.java.net/jeps/361
+
+Extend the `switch` statement so that it can be used as either a
+statement or an expression, and that both forms can use either a
+"traditional" or "simplified" scoping and control flow behavior. Both
+forms can use either traditional `case ... :` labels (with fall
+through) or new `case ... ->` labels (with no fall through), with a
+further new statement for yielding a value from a `switch`
+expression. These changes will simplify everyday coding, and also
+prepare the way for the use of pattern matching in `switch`.
+
+This was a preview feature (http://openjdk.java.net/jeps/12) in
+OpenJDK 12 & 13 and became final in OpenJDK 14.
+
+Text Blocks
+===========
+https://openjdk.java.net/jeps/355
+https://openjdk.java.net/jeps/368
+https://openjdk.java.net/jeps/378
+
+Add text blocks to the Java language. A text block is a multi-line
+string literal that avoids the need for most escape sequences,
+automatically formats the string in a predictable way, and gives the
+developer control over format when desired.
+
+This was a preview feature (http://openjdk.java.net/jeps/12) in
+OpenJDK 13 & 14 and became final in OpenJDK 15.
+
+Pattern Matching for instanceof
+===============================
+https://openjdk.java.net/jeps/305
+https://openjdk.java.net/jeps/375
+https://openjdk.java.net/jeps/394
+http://cr.openjdk.java.net/~briangoetz/amber/pattern-match.html
+
+Enhance the Java programming language with pattern matching for the
+`instanceof` operator. Pattern matching allows common logic in a
+program, namely the conditional extraction of components from objects,
+to be expressed more concisely and safely.
+
+This was a preview feature (http://openjdk.java.net/jeps/12) in
+OpenJDK 14 & 15 and became final in OpenJDK 16.
+
+Records
+=======
+https://openjdk.java.net/jeps/359
+https://openjdk.java.net/jeps/384
+https://openjdk.java.net/jeps/395
+
+Enhance the Java programming language with records. Records provide a
+compact syntax for declaring classes which are transparent holders for
+shallowly immutable data.
+
+This was a preview feature (http://openjdk.java.net/jeps/12) in
+OpenJDK 14 & 15 and became final in OpenJDK 16.
+
+Sealed Classes
+==============
+https://openjdk.java.net/jeps/360
+https://openjdk.java.net/jeps/397
+https://openjdk.java.net/jeps/409
+https://cr.openjdk.java.net/~briangoetz/amber/datum.html
+
+Enhance the Java programming language with sealed classes and
+interfaces. Sealed classes and interfaces restrict which other classes
+or interfaces may extend or implement them.
+
+This was a preview feature (http://openjdk.java.net/jeps/12) in
+OpenJDK 15 & 16 and became final in OpenJDK 17.
+
+Restore Always-Strict Floating-Point Semantics
+==============================================
+https://openjdk.java.net/jeps/306
+
+Make floating-point operations consistently strict, rather than have
+both strict floating-point semantics (`strictfp`) and subtly different
+default floating-point semantics. This will restore the original
+floating-point semantics to the language and VM, matching the
+semantics before the introduction of strict and default floating-point
+modes in Java SE 1.2.
+
+Pattern Matching for switch
+===========================
+https://openjdk.java.net/jeps/406
+
+Enhance the Java programming language with pattern matching for
+`switch` expressions and statements, along with extensions to the
+language of patterns. Extending pattern matching to `switch` allows an
+expression to be tested against a number of patterns, each with a
+specific action, so that complex data-oriented queries can be
+expressed concisely and safely.
+
+This is a preview feature (http://openjdk.java.net/jeps/12) in OpenJDK
+17.
+
+Library Features
+================
+
+JVM Constants API
+=================
+https://openjdk.java.net/jeps/334
+
+Introduce an API to model nominal descriptions of key class-file and
+run-time artifacts, in particular constants that are loadable from the
+constant pool.
+
+Reimplement the Legacy Socket API
+=================================
+https://openjdk.java.net/jeps/353
+
+Replace the underlying implementation used by the `java.net.Socket`
+and `java.net.ServerSocket` APIs with a simpler and more modern
+implementation that is easy to maintain and debug. The new
+implementation will be easy to adapt to work with user-mode threads,
+a.k.a. fibers, currently being explored in Project Loom
+(https://openjdk.java.net/projects/loom).
+
+JFR Event Streaming
+===================
+https://openjdk.java.net/jeps/349
+
+Expose JDK Flight Recorder data for continuous monitoring.
+
+Non-Volatile Mapped Byte Buffers
+================================
+https://openjdk.java.net/jeps/352
+
+Add new JDK-specific file mapping modes so that the `FileChannel` API
+can be used to create `MappedByteBuffer` instances that refer to
+non-volatile memory.
+
+Helpful NullPointerExceptions
+=============================
+https://openjdk.java.net/jeps/358
+
+Improve the usability of `NullPointerException`s generated by the JVM
+by describing precisely which variable was `null`.
+
+Foreign-Memory Access API
+=========================
+https://openjdk.java.net/jeps/370
+https://openjdk.java.net/jeps/383
+https://openjdk.java.net/jeps/393
+
+Introduce an API to allow Java programs to safely and efficiently
+access foreign memory outside of the Java heap.
+
+This was a incubation feature (https://openjdk.java.net/jeps/11) in
+OpenJDK 14, 15 & 16, now superseded by the Foreign Function & Memory
+API in OpenJDK 17 (see below).
+
+Edwards-Curve Digital Signature Algorithm (EdDSA)
+=================================================
+https://openjdk.java.net/jeps/339
+
+Implement cryptographic signatures using the Edwards-Curve Digital
+Signature Algorithm (EdDSA) as described by RFC 8032
+(https://tools.ietf.org/html/rfc8032).
+
+Hidden Classes
+==============
+https://openjdk.java.net/jeps/371
+
+Introduce hidden classes, which are classes that cannot be used
+directly by the bytecode of other classes. Hidden classes are intended
+for use by frameworks that generate classes at run time and use them
+indirectly, via reflection. A hidden class may be defined as a member
+of an access control nest (https://openjdk.java.net/jeps/181), and may
+be unloaded independently of other classes.
+
+Reimplement the Legacy DatagramSocket API
+=========================================
+https://openjdk.java.net/jeps/373
+
+Replace the underlying implementations of the
+`java.net.DatagramSocket` and `java.net.MulticastSocket` APIs with
+simpler and more modern implementations that are easy to maintain and
+debug. The new implementations will be easy to adapt to work with
+virtual threads, currently being explored in Project Loom
+(https://openjdk.java.net/projects/loom). This is a follow-on to JEP
+353 (see above), which already reimplemented the legacy Socket API.
+
+Vector API
+==========
+https://openjdk.java.net/jeps/338
+https://openjdk.java.net/jeps/414
+
+Provide an initial iteration of an incubator module,
+`jdk.incubator.vector`, to express vector computations that reliably
+compile at runtime to optimal vector hardware instructions on
+supported CPU architectures and thus achieve superior performance to
+equivalent scalar computations.
+
+This is an incubation feature (https://openjdk.java.net/jeps/11)
+introduced in OpenJDK 16.
+
+Unix-Domain Socket Channels
+===========================
+https://openjdk.java.net/jeps/380
+
+Add Unix-domain (`AF_UNIX`) socket support to the socket channel and
+server-socket channel APIs in the `java.nio.channels` package. Extend
+the inherited channel mechanism to support Unix-domain socket channels
+and server socket channels.
+
+Foreign Linker API (Incubator)
+==============================
+https://openjdk.java.net/jeps/389
+
+Introduce an API that offers statically-typed, pure-Java access to
+native code. This API, together with the Foreign-Memory API (see
+above), will considerably simplify the otherwise error-prone process
+of binding to a native library.
+
+This was an incubation feature (https://openjdk.java.net/jeps/11)
+introduced in OpenJDK 16, now superseded by the Foreign Function &
+Memory API in OpenJDK 17 (see below).
+
+Strongly Encapsulate JDK Internals by Default
+=============================================
+https://openjdk.java.net/jeps/396
+https://openjdk.java.net/jeps/403
+
+Strongly encapsulate all internal elements of the JDK by default,
+except for critical internal APIs such as `sun.misc.Unsafe`. It will
+no longer be possible to relax the strong encapsulation of internal
+elements via a single command-line option, as was possible in OpenJDK
+9 through 16.
+
+Enhanced Pseudo-Random Number Generators
+========================================
+https://openjdk.java.net/jeps/356
+
+Provide new interface types and implementations for pseudo-random
+number generators (PRNGs), including jumpable PRNGs and an additional
+class of splittable PRNG algorithms (LXM).
+
+Foreign Function & Memory API
+=============================
+https://openjdk.java.net/jeps/412
+
+Introduce an API by which Java programs can interoperate with code and
+data outside of the Java runtime. By efficiently invoking foreign
+functions (i.e., code outside the JVM), and by safely accessing
+foreign memory (i.e., memory not managed by the JVM), the API enables
+Java programs to call native libraries and process native data without
+the brittleness and danger of JNI.
+
+This API is an incubation feature (https://openjdk.java.net/jeps/11)
+introduced in OpenJDK 17, and is an evolution of the Foreign Memory
+Access API (OpenJDK 14 through 16) and Foreign Linker API (OpenJDK
+16) (see above).
+
+Context-Specific Deserialization Filters
+========================================
+https://openjdk.java.net/jeps/415
+
+Allow applications to configure context-specific and
+dynamically-selected deserialization filters via a JVM-wide filter
+factory that is invoked to select a filter for each individual
+deserialization operation.
+
+Tools
+=====
+
+Packaging Tool
+==============
+https://openjdk.java.net/jeps/343
+https://openjdk.java.net/jeps/392
+
+Provide the `jpackage` tool, for packaging self-contained Java
+applications.
+
+JVM Features
+============
+
+Shenandoah: A Low-Pause-Time Garbage Collector
+==============================================
+https://openjdk.java.net/jeps/189
+https://openjdk.java.net/jeps/379
+
+Add a new garbage collection (GC) algorithm named Shenandoah which
+reduces GC pause times by doing evacuation work concurrently with the
+running Java threads. Pause times with Shenandoah are independent of
+heap size, meaning you will have the same consistent pause times
+whether your heap is 200 MB or 200 GB.
+
+Shenandoah has been provided in Red Hat builds of OpenJDK 8 since
+8u131 in April 2017 and in all 11u builds.
+
+Upstream, it was introduced in OpenJDK 12 as an experimental feature
+and became a production feature in OpenJDK 15. It was backported to
+OpenJDK 11 with the 11.0.9 release in October 2020.
+
+Abortable Mixed Collections for G1
+==================================
+https://openjdk.java.net/jeps/344
+
+Make G1 mixed collections abortable if they might exceed the pause
+target.
+
+Promptly Return Unused Committed Memory from G1
+===============================================
+https://openjdk.java.net/jeps/346
+
+Enhance the G1 garbage collector to automatically return Java heap
+memory to the operating system when idle.
+
+Dynamic CDS Archives
+====================
+https://openjdk.java.net/jeps/310
+https://openjdk.java.net/jeps/350
+
+Extend application class-data sharing to allow the dynamic archiving
+of classes at the end of Java application execution. The archived
+classes will include all loaded application classes and library
+classes that are not present in the default, base-layer CDS archive.
+
+ZGC: Uncommit Unused Memory (Experimental)
+==========================================
+https://openjdk.java.net/jeps/351
+
+Enhance ZGC to return unused heap memory to the operating system.
+
+NUMA-Aware Memory Allocation for G1
+===================================
+https://openjdk.java.net/jeps/345
+
+Improve G1 performance on large machines by implementing NUMA-aware
+memory allocation.
+
+ZGC on macOS (Experimental)
+===========================
+https://openjdk.java.net/jeps/364
+
+Port the ZGC garbage collector to macOS.
+
+ZGC on Windows (Experimental)
+=============================
+https://openjdk.java.net/jeps/365
+
+Port the ZGC garbage collector to Windows.
+
+ZGC: A Scalable Low-Latency Garbage Collector (Production)
+==========================================================
+https://openjdk.java.net/jeps/377
+
+Change the Z Garbage Collector from an experimental feature into a
+product feature.
+
+ZGC: Concurrent Thread-Stack Processing
+=======================================
+https://openjdk.java.net/jeps/376
+
+Move ZGC thread-stack processing from safepoints to a concurrent
+phase.
+
+Elastic Metaspace
+=================
+https://openjdk.java.net/jeps/387
+
+Return unused HotSpot class-metadata (i.e., metaspace) memory to the
+operating system more promptly, reduce metaspace footprint, and
+simplify the metaspace code in order to reduce maintenance costs.
+
+Ports
+=====
+
+Alpine Linux Port
+=================
+https://openjdk.java.net/jeps/386
+
+Port the JDK to Alpine Linux, and to other Linux distributions that
+use musl as their primary C library, on both the x64 and AArch64
+architectures,
+
+Windows/AArch64 Port
+====================
+https://openjdk.java.net/jeps/388
+
+Port the JDK to Windows/AArch64.
+
+New macOS Rendering Pipeline
+============================
+https://openjdk.java.net/jeps/382
+
+Implement a Java 2D internal rendering pipeline for macOS using the
+Apple Metal API as alternative to the existing pipeline, which uses
+the deprecated Apple OpenGL API.
+
+macOS/AArch64 Port
+==================
+https://openjdk.java.net/jeps/391
+
+Port the JDK to macOS/AArch64.
+
+DEPRECATIONS
+============
+
+Deprecate the ParallelScavenge + SerialOld GC Combination
+=========================================================
+https://openjdk.java.net/jeps/366
+
+Deprecate the combination of the Parallel Scavenge and Serial Old
+garbage collection algorithms.
+
+Deprecate and Disable Biased Locking
+====================================
+https://openjdk.java.net/jeps/374
+
+Disable biased locking by default, and deprecate all related
+command-line options.
+
+Warnings for Value-Based Classes
+================================
+https://openjdk.java.net/jeps/390
+
+Designate the primitive wrapper classes as value-based and deprecate
+their constructors for removal, prompting new deprecation
+warnings. Provide warnings about improper attempts to synchronize on
+instances of any value-based classes in the Java Platform.
+
+Deprecate the Applet API for Removal
+====================================
+https://openjdk.java.net/jeps/398
+
+Deprecate the Applet API for removal. It is essentially irrelevant
+since all web-browser vendors have either removed support for Java
+browser plug-ins or announced plans to do so.
+
+Deprecate the Security Manager for Removal
+==========================================
+https://openjdk.java.net/jeps/411
+
+Deprecate the Security Manager for removal in a future release. The
+Security Manager dates from Java 1.0. It has not been the primary
+means of securing client-side Java code for many years, and it has
+rarely been used to secure server-side code. To move Java forward, we
+intend to deprecate the Security Manager for removal in concert with
+the legacy Applet API (see above). .
+
+REMOVALS
+========
+
+Remove the Concurrent Mark Sweep (CMS) Garbage Collector
+========================================================
+https://openjdk.java.net/jeps/363
+
+Remove the Concurrent Mark Sweep (CMS) garbage collector.
+
+Remove the Pack200 Tools and API
+================================
+https://openjdk.java.net/jeps/336
+https://openjdk.java.net/jeps/367
+
+Remove the `pack200` and `unpack200` tools, and the `Pack200` API in
+the `java.util.jar` package. These tools and API were deprecated for
+removal in OpenJDK 11 with the express intent to remove them in a
+future release.
+
+Remove the Nashorn JavaScript Engine
+====================================
+https://openjdk.java.net/jeps/372
+
+Remove the Nashorn JavaScript script engine and APIs, and the `jjs`
+tool. The engine, the APIs, and the tool were deprecated for removal
+in OpenJDK 11 with the express intent to remove them in a future
+release.
+
+Remove the Solaris and SPARC Ports
+==================================
+https://openjdk.java.net/jeps/362
+https://openjdk.java.net/jeps/381
+
+Remove the source code and build support for the Solaris/SPARC,
+Solaris/x64, and Linux/SPARC ports. These ports were deprecated for
+removal in OpenJDK 14 (JEP 362) and removed in OpenJDK 15 (JEP 381).
+
+Remove RMI Activation
+=====================
+https://openjdk.java.net/jeps/385
+https://openjdk.java.net/jeps/407
+https://docs.oracle.com/en/java/javase/14/docs/specs/rmi/activation.html
+
+Remove the Remote Method Invocation (RMI) Activation mechanism, while
+preserving the rest of RMI. RMI Activation is an obsolete part of RMI
+that has been optional since OpenJDK 8 and was deprecated in OpenJDK
+15.
+
+Remove the Experimental AOT and JIT Compiler
+============================================
+https://openjdk.java.net/jeps/410
+
+Remove the experimental Java-based ahead-of-time (AOT) and
+just-in-time (JIT) compiler. This compiler has seen little use since
+its introduction and the effort required to maintain it is
+significant. Retain the experimental Java-level JVM compiler
+interface (JVMCI) so that developers can continue to use
+externally-built versions of the compiler for JIT compilation.
diff --git a/TestCryptoLevel.java b/TestCryptoLevel.java
deleted file mode 100644
index b32b7ae..0000000
--- a/TestCryptoLevel.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/* TestCryptoLevel -- Ensure unlimited crypto policy is in use.
- Copyright (C) 2012 Red Hat, Inc.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as
-published by the Free Software Foundation, either version 3 of the
-License, or (at your option) any later version.
-
-This program 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 Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with this program. If not, see .
-*/
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
-import java.security.Permission;
-import java.security.PermissionCollection;
-
-public class TestCryptoLevel
-{
- public static void main(String[] args)
- throws NoSuchFieldException, ClassNotFoundException,
- IllegalAccessException, InvocationTargetException
- {
- Class> cls = null;
- Method def = null, exempt = null;
-
- try
- {
- cls = Class.forName("javax.crypto.JceSecurity");
- }
- catch (ClassNotFoundException ex)
- {
- System.err.println("Running a non-Sun JDK.");
- System.exit(0);
- }
- try
- {
- def = cls.getDeclaredMethod("getDefaultPolicy");
- exempt = cls.getDeclaredMethod("getExemptPolicy");
- }
- catch (NoSuchMethodException ex)
- {
- System.err.println("Running IcedTea with the original crypto patch.");
- System.exit(0);
- }
- def.setAccessible(true);
- exempt.setAccessible(true);
- PermissionCollection defPerms = (PermissionCollection) def.invoke(null);
- PermissionCollection exemptPerms = (PermissionCollection) exempt.invoke(null);
- Class> apCls = Class.forName("javax.crypto.CryptoAllPermission");
- Field apField = apCls.getDeclaredField("INSTANCE");
- apField.setAccessible(true);
- Permission allPerms = (Permission) apField.get(null);
- if (defPerms.implies(allPerms) && (exemptPerms == null || exemptPerms.implies(allPerms)))
- {
- System.err.println("Running with the unlimited policy.");
- System.exit(0);
- }
- else
- {
- System.err.println("WARNING: Running with a restricted crypto policy.");
- System.exit(-1);
- }
- }
-}
diff --git a/TestSecurityProperties.java b/TestSecurityProperties.java
deleted file mode 100644
index 06a0b07..0000000
--- a/TestSecurityProperties.java
+++ /dev/null
@@ -1,43 +0,0 @@
-import java.io.File;
-import java.io.FileInputStream;
-import java.security.Security;
-import java.util.Properties;
-
-public class TestSecurityProperties {
- // JDK 11
- private static final String JDK_PROPS_FILE_JDK_11 = System.getProperty("java.home") + "/conf/security/java.security";
- // JDK 8
- private static final String JDK_PROPS_FILE_JDK_8 = System.getProperty("java.home") + "/lib/security/java.security";
-
- public static void main(String[] args) {
- Properties jdkProps = new Properties();
- loadProperties(jdkProps);
- for (Object key: jdkProps.keySet()) {
- String sKey = (String)key;
- String securityVal = Security.getProperty(sKey);
- String jdkSecVal = jdkProps.getProperty(sKey);
- if (!securityVal.equals(jdkSecVal)) {
- String msg = "Expected value '" + jdkSecVal + "' for key '" +
- sKey + "'" + " but got value '" + securityVal + "'";
- throw new RuntimeException("Test failed! " + msg);
- } else {
- System.out.println("DEBUG: " + sKey + " = " + jdkSecVal + " as expected.");
- }
- }
- System.out.println("TestSecurityProperties PASSED!");
- }
-
- private static void loadProperties(Properties props) {
- String javaVersion = System.getProperty("java.version");
- System.out.println("Debug: Java version is " + javaVersion);
- String propsFile = JDK_PROPS_FILE_JDK_11;
- if (javaVersion.startsWith("1.8.0")) {
- propsFile = JDK_PROPS_FILE_JDK_8;
- }
- try (FileInputStream fin = new FileInputStream(new File(propsFile))) {
- props.load(fin);
- } catch (Exception e) {
- throw new RuntimeException("Test failed!", e);
- }
- }
-}
diff --git a/TestTranslations.java b/TestTranslations.java
new file mode 100644
index 0000000..dbea417
--- /dev/null
+++ b/TestTranslations.java
@@ -0,0 +1,140 @@
+/* TestTranslations -- Ensure translations are available for new timezones
+ Copyright (C) 2022 Red Hat, Inc.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+This program 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 Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+*/
+
+import java.text.DateFormatSymbols;
+
+import java.time.ZoneId;
+import java.time.format.TextStyle;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Locale;
+import java.util.Objects;
+import java.util.TimeZone;
+
+public class TestTranslations {
+
+ private static Map KYIV;
+
+ static {
+ Map map = new HashMap();
+ map.put(Locale.US, new String[] { "Eastern European Standard Time", "GMT+02:00", "EET",
+ "Eastern European Summer Time", "GMT+03:00", "EEST",
+ "Eastern European Time", "GMT+02:00", "EET"});
+ map.put(Locale.FRANCE, new String[] { "heure normale d\u2019Europe de l\u2019Est", "UTC+02:00", "EET",
+ "heure d\u2019\u00e9t\u00e9 d\u2019Europe de l\u2019Est", "UTC+03:00", "EEST",
+ "heure d\u2019Europe de l\u2019Est", "UTC+02:00", "EET"});
+ map.put(Locale.GERMANY, new String[] { "Osteurop\u00e4ische Normalzeit", "OEZ", "OEZ",
+ "Osteurop\u00e4ische Sommerzeit", "OESZ", "OESZ",
+ "Osteurop\u00e4ische Zeit", "OEZ", "OEZ"});
+ KYIV = Collections.unmodifiableMap(map);
+ }
+
+
+ public static void main(String[] args) {
+ if (args.length < 1) {
+ System.err.println("Test must be started with the name of the locale provider.");
+ System.exit(1);
+ }
+
+ String localeProvider = args[0];
+ System.out.println("Checking sanity of full zone string set...");
+ boolean invalid = Arrays.stream(Locale.getAvailableLocales())
+ .peek(l -> System.out.println("Locale: " + l))
+ .map(l -> DateFormatSymbols.getInstance(l).getZoneStrings())
+ .flatMap(zs -> Arrays.stream(zs))
+ .flatMap(names -> Arrays.stream(names))
+ .filter(name -> Objects.isNull(name) || name.isEmpty())
+ .findAny()
+ .isPresent();
+ if (invalid) {
+ System.err.println("Zone string for a locale returned null or empty string");
+ System.exit(2);
+ }
+
+ for (Locale l : KYIV.keySet()) {
+ String[] expected = KYIV.get(l);
+ for (String id : new String[] { "Europe/Kiev", "Europe/Kyiv", "Europe/Uzhgorod", "Europe/Zaporozhye" }) {
+ String expectedShortStd = null;
+ String expectedShortDST = null;
+ String expectedShortGen = null;
+
+ System.out.printf("Checking locale %s for %s...\n", l, id);
+
+ if ("JRE".equals(localeProvider)) {
+ expectedShortStd = expected[2];
+ expectedShortDST = expected[5];
+ expectedShortGen = expected[8];
+ } else if ("CLDR".equals(localeProvider)) {
+ expectedShortStd = expected[1];
+ expectedShortDST = expected[4];
+ expectedShortGen = expected[7];
+ } else {
+ System.err.printf("Invalid locale provider %s\n", localeProvider);
+ System.exit(3);
+ }
+ System.out.printf("Locale Provider is %s, using short values %s, %s and %s\n",
+ localeProvider, expectedShortStd, expectedShortDST, expectedShortGen);
+
+ String longStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.LONG, l);
+ String shortStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.SHORT, l);
+ String longDST = TimeZone.getTimeZone(id).getDisplayName(true, TimeZone.LONG, l);
+ String shortDST = TimeZone.getTimeZone(id).getDisplayName(true, TimeZone.SHORT, l);
+ String longGen = ZoneId.of(id).getDisplayName(TextStyle.FULL, l);
+ String shortGen = ZoneId.of(id).getDisplayName(TextStyle.SHORT, l);
+
+ if (!expected[0].equals(longStd)) {
+ System.err.printf("Long standard display name for %s in %s was %s, expected %s\n",
+ id, l, longStd, expected[0]);
+ System.exit(4);
+ }
+
+ if (!expectedShortStd.equals(shortStd)) {
+ System.err.printf("Short standard display name for %s in %s was %s, expected %s\n",
+ id, l, shortStd, expectedShortStd);
+ System.exit(5);
+ }
+
+ if (!expected[3].equals(longDST)) {
+ System.err.printf("Long DST display name for %s in %s was %s, expected %s\n",
+ id, l, longDST, expected[3]);
+ System.exit(6);
+ }
+
+ if (!expectedShortDST.equals(shortDST)) {
+ System.err.printf("Short DST display name for %s in %s was %s, expected %s\n",
+ id, l, shortDST, expectedShortDST);
+ System.exit(7);
+ }
+
+ if (!expected[6].equals(longGen)) {
+ System.err.printf("Long standard display name for %s in %s was %s, expected %s\n",
+ id, l, longGen, expected[6]);
+ System.exit(8);
+ }
+
+ if (!expectedShortGen.equals(shortGen)) {
+ System.err.printf("Short generic display name for %s in %s was %s, expected %s\n",
+ id, l, shortGen, expectedShortGen);
+ System.exit(9);
+ }
+ }
+ }
+ }
+}
diff --git a/clang_stack.patch b/clang_stack.patch
deleted file mode 100644
index 3021e44..0000000
--- a/clang_stack.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN openjdk/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp openjdk-diff/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp
---- openjdk/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp 2020-06-10 19:44:52.000000000 +0000
-+++ openjdk-diff/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp 2020-07-12 21:26:42.912877532 +0000
-@@ -825,7 +825,7 @@
-
- #ifndef PRODUCT
- void os::verify_stack_alignment() {
--#ifdef AMD64
-+#if defined(AMD64) && ! defined(__clang__)
- assert(((intptr_t)os::current_stack_pointer() & (StackAlignmentInBytes-1)) == 0, "incorrect stack alignment");
- #endif
- }
diff --git a/generate_source_tarball.sh b/generate_source_tarball.sh
deleted file mode 100755
index d8c729b..0000000
--- a/generate_source_tarball.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# Generates the 'source tarball' for JDK projects.
-#
-# Example:
-# When used from local repo set REPO_ROOT pointing to file:// with your repo
-# If your local repo follows upstream forests conventions, it may be enough to set OPENJDK_URL
-# If you want to use a local copy of patch PRTBC01, set the path to it in the PRTBC01 variable
-#
-# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
-# PROJECT_NAME=jdk
-# REPO_NAME=jdk
-# VERSION=tip
-# or to eg prepare systemtap:
-# icedtea7's jstack and other tapsets
-# VERSION=6327cf1cea9e
-# REPO_NAME=icedtea7-2.6
-# PROJECT_NAME=release
-# OPENJDK_URL=http://icedtea.classpath.org/hg/
-# TO_COMPRESS="*/tapset"
-#
-# They are used to create correct name and are used in construction of sources url (unless REPO_ROOT is set)
-
-# This script creates a single source tarball out of the repository
-# based on the given tag and removes code not allowed in fedora/rhel. For
-# consistency, the source tarball will always contain 'openjdk' as the top
-# level folder, name is created, based on parameter
-#
-
-if [ ! "x$PRTBC01" = "x" ] ; then
- if [ ! -f "$PRTBC01" ] ; then
- echo "You have specified PRTBC01 as $PRTBC01 but it does not exist. Exiting"
- exit 1
- fi
-fi
-
-set -e
-
-OPENJDK_URL_DEFAULT=http://hg.openjdk.java.net
-COMPRESSION_DEFAULT=xz
-
-if [ "x$1" = "xhelp" ] ; then
- echo -e "Behaviour may be specified by setting the following variables:\n"
- echo "VERSION - the version of the specified OpenJDK project"
- echo "PROJECT_NAME -- the name of the OpenJDK project being archived (optional; only needed by defaults)"
- echo "REPO_NAME - the name of the OpenJDK repository (optional; only needed by defaults)"
- echo "OPENJDK_URL - the URL to retrieve code from (optional; defaults to ${OPENJDK_URL_DEFAULT})"
- echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
- echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
- echo "REPO_ROOT - the location of the Mercurial repository to archive (optional; defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME)"
- echo "TO_COMPRESS - what part of clone to pack (default is openjdk)"
- echo "PRTBC01 - the path to the PRTBC01 patch to apply (optional; downloaded if unavailable)"
- exit 1;
-fi
-
-
-if [ "x$VERSION" = "x" ] ; then
- echo "No VERSION specified"
- exit -2
-fi
-echo "Version: ${VERSION}"
-
-# REPO_NAME is only needed when we default on REPO_ROOT and FILE_NAME_ROOT
-if [ "x$FILE_NAME_ROOT" = "x" -o "x$REPO_ROOT" = "x" ] ; then
- if [ "x$PROJECT_NAME" = "x" ] ; then
- echo "No PROJECT_NAME specified"
- exit -1
- fi
- echo "Project name: ${PROJECT_NAME}"
- if [ "x$REPO_NAME" = "x" ] ; then
- echo "No REPO_NAME specified"
- exit -3
- fi
- echo "Repository name: ${REPO_NAME}"
-fi
-
-if [ "x$OPENJDK_URL" = "x" ] ; then
- OPENJDK_URL=${OPENJDK_URL_DEFAULT}
- echo "No OpenJDK URL specified; defaulting to ${OPENJDK_URL}"
-else
- echo "OpenJDK URL: ${OPENJDK_URL}"
-fi
-
-if [ "x$COMPRESSION" = "x" ] ; then
- # rhel 5 needs tar.gz
- COMPRESSION=${COMPRESSION_DEFAULT}
-fi
-echo "Creating a tar.${COMPRESSION} archive"
-
-if [ "x$FILE_NAME_ROOT" = "x" ] ; then
- FILE_NAME_ROOT=${PROJECT_NAME}-${REPO_NAME}-${VERSION}
- echo "No file name root specified; default to ${FILE_NAME_ROOT}"
-fi
-if [ "x$REPO_ROOT" = "x" ] ; then
- REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}"
- echo "No repository root specified; default to ${REPO_ROOT}"
-fi;
-if [ "x$TO_COMPRESS" = "x" ] ; then
- TO_COMPRESS="openjdk"
- echo "No to be compressed targets specified, ; default to ${TO_COMPRESS}"
-fi;
-
-echo -e "Settings:"
-echo -e "\tVERSION: ${VERSION}"
-echo -e "\tPROJECT_NAME: ${PROJECT_NAME}"
-echo -e "\tREPO_NAME: ${REPO_NAME}"
-echo -e "\tOPENJDK_URL: ${OPENJDK_URL}"
-echo -e "\tCOMPRESSION: ${COMPRESSION}"
-echo -e "\tFILE_NAME_ROOT: ${FILE_NAME_ROOT}"
-echo -e "\tREPO_ROOT: ${REPO_ROOT}"
-echo -e "\tTO_COMPRESS: ${TO_COMPRESS}"
-echo -e "\tPRTBC01: ${PRTBC01}"
-
-if [ -d ${FILE_NAME_ROOT} ] ; then
- echo "exists exists exists exists exists exists exists "
- echo "reusing reusing reusing reusing reusing reusing "
- echo ${FILE_NAME_ROOT}
-else
- mkdir "${FILE_NAME_ROOT}"
- pushd "${FILE_NAME_ROOT}"
- echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
- hg clone ${REPO_ROOT} openjdk -r ${VERSION}
- popd
-fi
-pushd "${FILE_NAME_ROOT}"
-# UnderlineTaglet.java has a BSD license with a field-of-use restriction, making it non-Free
- if [ -d openjdk/test ] ; then
- echo "Removing langtools test case with non-Free license"
- rm -vf openjdk/test/langtools/tools/javadoc/api/basic/taglets/UnderlineTaglet.java
- fi
- if [ -d openjdk/src ]; then
- pushd openjdk
- echo "Removing EC source code we don't build"
- CRYPTO_PATH=src/jdk.crypto.ec/share/native/libsunec/impl
- rm -vf ${CRYPTO_PATH}/ec2.h
- rm -vf ${CRYPTO_PATH}/ec2_163.c
- rm -vf ${CRYPTO_PATH}/ec2_193.c
- rm -vf ${CRYPTO_PATH}/ec2_233.c
- rm -vf ${CRYPTO_PATH}/ec2_aff.c
- rm -vf ${CRYPTO_PATH}/ec2_mont.c
- rm -vf ${CRYPTO_PATH}/ecp_192.c
- rm -vf ${CRYPTO_PATH}/ecp_224.c
-
- echo "Syncing EC list with NSS"
- if [ "x$PRTBC01" = "x" ] ; then
- # get prTBC01.patch (from http://icedtea.classpath.org/hg/icedtea11) from most correct tag
- # Do not push it or publish it (see http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3751)
- echo "PRTBC01 not found. Downloading..."
- wget http://icedtea.classpath.org/hg/icedtea11/raw-file/tip/patches/prtbc01-4curve.patch
- echo "Applying ${PWD}/prTBC01.patch"
- patch -Np1 < prtbc01.patch
- rm prtbc01.patch
- else
- echo "Applying ${PRTBC01}"
- patch -Np1 < $PRTBC01
- fi;
- find . -name '*.orig' -exec rm -vf '{}' ';'
- popd
- fi
-
- echo "Compressing remaining forest"
- if [ "X$COMPRESSION" = "Xxz" ] ; then
- SWITCH=cJf
- else
- SWITCH=czf
- fi
- TARBALL_NAME=${FILE_NAME_ROOT}-4curve-clean.tar.${COMPRESSION}
- tar --exclude-vcs -$SWITCH ${TARBALL_NAME} $TO_COMPRESS
- mv ${TARBALL_NAME} ..
-popd
-echo "Done. You may want to remove the uncompressed version - $FILE_NAME_ROOT."
-
-
diff --git a/java-11-openjdk.spec.orig b/java-11-openjdk.spec.orig
deleted file mode 100644
index 8df2956..0000000
--- a/java-11-openjdk.spec.orig
+++ /dev/null
@@ -1,2051 +0,0 @@
-# RPM conditionals so as to be able to dynamically produce
-# slowdebug/release builds. See:
-# http://rpm.org/user_doc/conditional_builds.html
-#
-# Examples:
-#
-# Produce release *and* slowdebug builds on x86_64 (default):
-# $ rpmbuild -ba java-1.8.0-openjdk.spec
-#
-# Produce only release builds (no slowdebug builds) on x86_64:
-# $ rpmbuild -ba java-1.8.0-openjdk.spec --without slowdebug
-#
-# Only produce a release build on x86_64:
-# $ fedpkg mockbuild --without slowdebug
-#
-# Only produce a debug build on x86_64:
-# $ fedpkg local --without release
-#
-# Enable slowdebug builds by default on relevant arches.
-%ifarch %{arm64}
-%bcond_with slowdebug
-%else
-%bcond_without slowdebug
-%endif
-
-# Enable release builds by default on relevant arches.
-%bcond_without release
-
-# Workaround for stripping of debug symbols from static libraries
-%define __brp_strip_static_archive %{nil}
-
-#in rosa linux there is no tzdb.dat file
-#in the timezone package we will
-#use the standard one from java (temporarily)
-%bcond_with timezonejava
-
-%bcond_without clang
-%bcond_with bootstrap
-
-# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
-# This fixes detailed NMT and other tools which need minimal debug info.
-# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
-%global _find_debuginfo_opts -g
-
-# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
-# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
-# see the difference between global and define:
-# See https://github.com/rpm-software-management/rpm/issues/127 to comments at "pmatilai commented on Aug 18, 2017"
-# (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192)
-%global debug_suffix_unquoted -slowdebug
-# quoted one for shell operations
-%global debug_suffix "%{debug_suffix_unquoted}"
-%global normal_suffix ""
-
-# if you want only debug build but providing java build only normal build but set normalbuild_parameter
-%global debug_warning This package has full debug on. Install only in need and remove asap.
-%global debug_on with full debug on
-%global for_debug for packages with debug on
-
-%if %{with release}
-%global include_normal_build 1
-%else
-%global include_normal_build 0
-%endif
-
-%if %{include_normal_build}
-%global build_loop1 %{normal_suffix}
-%else
-%global build_loop1 %{nil}
-%endif
-
-# We have hardcoded list of files, which is appearing in alternatives, and in files
-# in alternatives those are slaves and master, very often triplicated by man pages
-# in files all masters and slaves are ghosted
-# the ghosts are here to allow installation via query like `dnf install /usr/bin/java`
-# you can list those files, with appropriate sections: cat *.spec | grep -e --install -e --slave -e post_
-# TODO - fix those hardcoded lists via single list
-# those files ,must *NOT* be ghosted for *slowdebug* packages
-# FIXME - if you are moving jshell or jlink or simialr, always modify all three sections
-# you can check via headless and devels:
-# rpm -ql --noghost java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm | grep bin
-# == rpm -ql java-11-openjdk-headless-slowdebug-11.0.1.13-8.fc29.x86_64.rpm | grep bin
-# != rpm -ql java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm | grep bin
-# similarly for other %%{_jvmdir}/{jre,java} and %%{_javadocdir}/{java,java-zip}
-%define is_release_build() %( if [ "%{?1}" == "%{debug_suffix_unquoted}" ]; then echo "0" ; else echo "1"; fi )
-
-# while JDK is a techpreview(is_system_jdk=0), some provides are turned off. Once jdk stops to be an techpreview, move it to 1
-# as sytem JDK, we mean any JDK which can run whole system java stack without issues (like bytecode issues, module issues, dependencies...)
-%global is_system_jdk 0
-
-%global aarch64 aarch64 arm64 armv8
-# we need to distinguish between big and little endian PPC64
-%global ppc64le ppc64le
-%global ppc64be ppc64 ppc64p7
-%global multilib_arches %{power64} sparc64 x86_64
-%global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm} s390x
-%global aot_arches x86_64 %{aarch64}
-
-# By default, we build a debug build during main build on JIT architectures
-%if %{with slowdebug}
-%ifarch %{jit_arches}
-%ifnarch %{arm}
-%global include_debug_build 1
-%else
-%global include_debug_build 0
-%endif
-%else
-%global include_debug_build 0
-%endif
-%else
-%global include_debug_build 0
-%endif
-
-# On x86_64 and AArch64, we use the Shenandoah HotSpot
-%ifarch x86_64 %{aarch64}
-%global use_shenandoah_hotspot 1
-%else
-%global use_shenandoah_hotspot 0
-%endif
-
-%if %{include_debug_build}
-%global build_loop2 %{debug_suffix}
-%else
-%global build_loop2 %{nil}
-%endif
-
-# if you disable both builds, then the build fails
-%global build_loop %{build_loop1} %{build_loop2}
-# note: that order: normal_suffix debug_suffix, in case of both enabled
-# is expected in one single case at the end of the build
-%global rev_build_loop %{build_loop2} %{build_loop1}
-
-# http://openjdk.java.net/groups/build/doc/building.html
-#if %{without bootstrap}
-#global release_targets bootcycle-images static-libs-image docs-zip
-#else
-# XXX there are problems with building bootcycle-images, turn them off for now, not really needed
-%global release_targets images docs-zip static-libs-image
-#endif
-# No docs nor bootcycle for debug builds
-%global debug_targets images static-libs-image
-
-
-# Filter out flags from the optflags macro that cause problems with the OpenJDK build
-# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
-# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
-# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
-# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
-%ifarch %{ix86}
-%global optflags %optflags -fno-PIC
-%endif
-%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
-%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
-
-# As discussed with bero@, optflags are duplicated in ldflags for e.g. LTO, but it consuses OpenJDK build scripts
-#%%global ourldflags %{__global_ldflags}
-%global ourldflags -Wl,-z,relro -Wl,--as-needed -Wl,-z,now
-
-# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path
-# the initialization must be here. Later the pkg-config have buggy behavior
-# looks like openjdk RPM specific bug
-# Always set this so the nss.cfg file is not broken
-%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
-
-# In some cases, the arch used by the JDK does
-# not match _arch.
-# Also, in some cases, the machine name used by SystemTap
-# does not match that given by _build_cpu
-%ifarch x86_64
-%global archinstall amd64
-%endif
-%ifarch ppc
-%global archinstall ppc
-%endif
-%ifarch %{ppc64be}
-%global archinstall ppc64
-%endif
-%ifarch %{ppc64le}
-%global archinstall ppc64le
-%endif
-%ifarch %{ix86}
-%global archinstall i686
-%endif
-%ifarch ia64
-%global archinstall ia64
-%endif
-%ifarch s390
-%global archinstall s390
-%endif
-%ifarch s390x
-%global archinstall s390x
-%endif
-%ifarch %{arm}
-%global archinstall arm
-%endif
-%ifarch %{aarch64}
-%global archinstall aarch64
-%endif
-# 32 bit sparc, optimized for v9
-%ifarch sparcv9
-%global archinstall sparc
-%endif
-# 64 bit sparc
-%ifarch sparc64
-%global archinstall sparcv9
-%endif
-%ifnarch %{jit_arches}
-%global archinstall %{_arch}
-%endif
-
-
-
-%ifarch %{jit_arches}
-%global with_systemtap 1
-%else
-%global with_systemtap 0
-%endif
-
-# New Version-String scheme-style defines
-# If you bump majorver, you must bump also vendor_version_string
-%global majorver 11
-# Used via new version scheme. JDK 11 was
-# GA'ed in September 2018 => 18.9
-%global vendor_version_string 18.9
-%global securityver 8
-# buildjdkver is usually same as %%{majorver},
-# but in time of bootstrap of next jdk, it is majorver-1,
-# and this it is better to change it here, on single place
-%global buildjdkver %{majorver}
-# Add LTS designator for RHEL builds
-%if 0%{?rhel}
- %global lts_designator "LTS"
- %global lts_designator_zip -%{lts_designator}
-%else
- %global lts_designator ""
- %global lts_designator_zip ""
-%endif
-
-# Define IcedTea version used for SystemTap tapsets and desktop file
-%global icedteaver 3.15.0
-
-# Standard JPackage naming and versioning defines
-%global origin openjdk
-%global origin_nice OpenJDK
-%global top_level_dir_name %{origin}
-%global minorver 0
-%global buildver 6
-%global rpmrelease 1
-#%%global tagsuffix ""
-# priority must be 8 digits in total; untill openjdk 1.8 we were using 18..... so when moving to 11 we had to add another digit
-%if %is_system_jdk
-%global priority %( printf '%02d%02d%02d%02d' %{majorver} %{minorver} %{securityver} %{buildver} )
-%else
-# for techpreview, using 1, so slowdebugs can have 0
-%global priority %( printf '%08d' 1 )
-%endif
-%global newjavaver %{majorver}.%{minorver}.%{securityver}
-
-%global javaver %{majorver}
-
-# Define milestone (EA for pre-releases, GA for releases)
-# Release will be (where N is usually a number starting at 1):
-# - 0.N%%{?extraver}%%{?dist} for EA releases,
-# - N%%{?extraver}{?dist} for GA releases
-%global is_ga 0
-%if %{is_ga}
-%global ea_designator ""
-%global ea_designator_zip ""
-%global extraver %{nil}
-%global eaprefix %{nil}
-%else
-%global ea_designator ea
-%global ea_designator_zip -%{ea_designator}
-%global extraver .%{ea_designator}
-%global eaprefix 0.
-%endif
-
-# Define what url should JVM offer in case of a crash report
-# order may be important, epel may have rhel declared
-%if 0%{?epel}
-%global bugs https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{name}&version=epel%{epel}
-%else
-%if 0%{?fedora}
-# Does not work for rawhide, keeps the version field empty
-%global bugs https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
-%else
-%if 0%{?rhel}
-%global bugs https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{rhel}&component=%{name}
-%else
-%global bugs https://bugzilla.redhat.com/enter_bug.cgi
-%endif
-%endif
-%endif
-
-# parametrized macros are order-sensitive
-%global compatiblename java-%{majorver}-%{origin}
-%global fullversion %{compatiblename}-%{version}-%{release}
-# images directories from upstream build
-%global jdkimage jdk
-%global static_libs_image static-libs
-# output dir stub
-%define buildoutputdir() %{expand:openjdk/build%{?1}}
-# we can copy the javadoc to not arched dir, or make it not noarch
-%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
-# main id and dir of this jdk
-%define uniquesuffix() %{expand:%{fullversion}.%{_arch}%{?1}}
-
-#################################################################
-# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
-# https://bugzilla.redhat.com/show_bug.cgi?id=1590796#c14
-# https://bugzilla.redhat.com/show_bug.cgi?id=1655938
-%global _privatelibs libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjimage[.]so.*|libjsound[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsunec[.]so.*|libunpack[.]so.*|libzip[.]so.*
-%global _publiclibs libjawt[.]so.*|libjava[.]so.*|libjvm[.]so.*|libverify[.]so.*|libjsig[.]so.*
-%if %is_system_jdk
-%global __provides_exclude ^(%{_privatelibs})$
-%global __requires_exclude ^(%{_privatelibs})$
-# Never generate lib-style provides/requires for slowdebug packages
-%global __provides_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
-%global __requires_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
-%else
-# Don't generate provides/requires for JDK provided shared libraries at all.
-%global __provides_exclude ^(%{_privatelibs}|%{_publiclibs})$
-%global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})$
-%endif
-
-
-%global etcjavasubdir %{_sysconfdir}/java/java-%{javaver}-%{origin}
-%define etcjavadir() %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}
-# Standard JPackage directories and symbolic links.
-%define sdkdir() %{expand:%{uniquesuffix -- %{?1}}}
-%define jrelnk() %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}}
-
-%define sdkbindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
-%define jrebindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
-
-%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
-
-%if %{with_systemtap}
-# Where to install systemtap tapset (links)
-# We would like these to be in a package specific sub-dir,
-# but currently systemtap doesn't support that, so we have to
-# use the root tapset dir for now. To distinguish between 64
-# and 32 bit architectures we place the tapsets under the arch
-# specific dir (note that systemtap will only pickup the tapset
-# for the primary arch for now). Systemtap uses the machine name
-# aka build_cpu as architecture specific directory name.
-%global tapsetroot /usr/share/systemtap
-%global tapsetdirttapset %{tapsetroot}/tapset/
-%global tapsetdir %{tapsetdirttapset}/%{_build_cpu}
-%endif
-
-# not-duplicated scriptlets for normal/debug packages
-%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
-
-
-%define post_script() %{expand:
-update-desktop-database %{_datadir}/applications &> /dev/null || :
-/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-exit 0
-}
-
-
-%define post_headless() %{expand:
-%ifarch %{jit_arches}
-# MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
-%ifnarch %{ppc64le}
-# see https://bugzilla.redhat.com/show_bug.cgi?id=513605
-%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
-%endif
-%endif
-
-PRIORITY=%{priority}
-if [ "%{?1}" == %{debug_suffix} ]; then
- let PRIORITY=PRIORITY-1
-fi
-
-ext=%{_extension}
-alternatives \\
- --install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY --family %{name}.%{_arch} \\
- --slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\
- --slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\
- --slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\
- --slave %{_bindir}/pack200 pack200 %{jrebindir -- %{?1}}/pack200 \\
- --slave %{_bindir}/rmid rmid %{jrebindir -- %{?1}}/rmid \\
- --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\
- --slave %{_bindir}/unpack200 unpack200 %{jrebindir -- %{?1}}/unpack200 \\
- --slave %{_mandir}/man1/java.1$ext java.1$ext \\
- %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \\
- %{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
- %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \\
- %{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \\
- %{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
- %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
- %{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1$ext
-
-for X in %{origin} %{javaver} ; do
- alternatives --install %{_jvmdir}/jre-"$X" jre_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
-done
-
-update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY --family %{name}.%{_arch}
-
-
-update-desktop-database %{_datadir}/applications &> /dev/null || :
-/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-
-# see pretrans where this file is declared
-# also see that pretrans is only for non-debug
-if [ ! "%{?1}" == %{debug_suffix} ]; then
- if [ -f %{_libexecdir}/copy_jdk_configs_fixFiles.sh ] ; then
- sh %{_libexecdir}/copy_jdk_configs_fixFiles.sh %{rpm_state_dir}/%{name}.%{_arch} %{_jvmdir}/%{sdkdir -- %{?1}}
- fi
-fi
-
-exit 0
-}
-
-%define postun_script() %{expand:
-update-desktop-database %{_datadir}/applications &> /dev/null || :
-if [ $1 -eq 0 ] ; then
- /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
- %{update_desktop_icons}
-fi
-exit 0
-}
-
-
-%define postun_headless() %{expand:
- alternatives --remove java %{jrebindir -- %{?1}}/java
- alternatives --remove jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
- alternatives --remove jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
- alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}}
-}
-
-%define posttrans_script() %{expand:
-%{update_desktop_icons}
-}
-
-%define post_devel() %{expand:
-
-PRIORITY=%{priority}
-if [ "%{?1}" == %{debug_suffix} ]; then
- let PRIORITY=PRIORITY-1
-fi
-
-ext=.gz
-alternatives \\
- --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac $PRIORITY --family %{name}.%{_arch} \\
- --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
-%ifarch %{aot_arches}
- --slave %{_bindir}/jaotc jaotc %{sdkbindir -- %{?1}}/jaotc \\
-%endif
- --slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
- --slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
-%ifarch %{jit_arches}
-%ifnarch s390x
- --slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
-%endif
-%endif
- --slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
- --slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
- --slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \\
- --slave %{_bindir}/javap javap %{sdkbindir -- %{?1}}/javap \\
- --slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \\
- --slave %{_bindir}/jconsole jconsole %{sdkbindir -- %{?1}}/jconsole \\
- --slave %{_bindir}/jdb jdb %{sdkbindir -- %{?1}}/jdb \\
- --slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \\
- --slave %{_bindir}/jdeprscan jdeprscan %{sdkbindir -- %{?1}}/jdeprscan \\
- --slave %{_bindir}/jfr jfr %{sdkbindir -- %{?1}}/jfr \\
- --slave %{_bindir}/jimage jimage %{sdkbindir -- %{?1}}/jimage \\
- --slave %{_bindir}/jinfo jinfo %{sdkbindir -- %{?1}}/jinfo \\
- --slave %{_bindir}/jmap jmap %{sdkbindir -- %{?1}}/jmap \\
- --slave %{_bindir}/jps jps %{sdkbindir -- %{?1}}/jps \\
- --slave %{_bindir}/jrunscript jrunscript %{sdkbindir -- %{?1}}/jrunscript \\
- --slave %{_bindir}/jshell jshell %{sdkbindir -- %{?1}}/jshell \\
- --slave %{_bindir}/jstack jstack %{sdkbindir -- %{?1}}/jstack \\
- --slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\
- --slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\
- --slave %{_bindir}/rmic rmic %{sdkbindir -- %{?1}}/rmic \\
- --slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\
- --slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
- %{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\
- %{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/javac.1$ext javac.1$ext \\
- %{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\
- %{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
- %{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
- %{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
- %{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
- %{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\
- %{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\
- %{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\
- %{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
- %{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
- %{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
- %{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\
- %{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
- %{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
- %{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
- %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext \\
-
-for X in %{origin} %{javaver} ; do
- alternatives \\
- --install %{_jvmdir}/java-"$X" java_sdk_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
-done
-
-update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
-
-update-desktop-database %{_datadir}/applications &> /dev/null || :
-/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-
-exit 0
-}
-
-%define postun_devel() %{expand:
- alternatives --remove javac %{sdkbindir -- %{?1}}/javac
- alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
- alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
- alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
-
-update-desktop-database %{_datadir}/applications &> /dev/null || :
-
-if [ $1 -eq 0 ] ; then
- /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
- %{update_desktop_icons}
-fi
-exit 0
-}
-
-%define posttrans_devel() %{expand:
-%{update_desktop_icons}
-}
-
-%define post_javadoc() %{expand:
-
-PRIORITY=%{priority}
-if [ "%{?1}" == %{debug_suffix} ]; then
- let PRIORITY=PRIORITY-1
-fi
-
-alternatives \\
- --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api \\
- $PRIORITY --family %{name}
-exit 0
-}
-
-%define postun_javadoc() %{expand:
- alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api
-exit 0
-}
-
-%define post_javadoc_zip() %{expand:
-
-PRIORITY=%{priority}
-if [ "%{?1}" == %{debug_suffix} ]; then
- let PRIORITY=PRIORITY-1
-fi
-
-alternatives \\
- --install %{_javadocdir}/java-zip javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip \\
- $PRIORITY --family %{name}
-exit 0
-}
-
-%define postun_javadoc_zip() %{expand:
- alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
-exit 0
-}
-
-%define files_jre() %{expand:
-%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}-%{origin}.png
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsplashscreen.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_xawt.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjawt.so
-}
-
-
-%define files_jre_headless() %{expand:
-%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
-%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/NEWS
-%dir %{_sysconfdir}/.java/.systemPrefs
-%dir %{_sysconfdir}/.java
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}
-%{_jvmdir}/%{sdkdir -- %{?1}}/release
-%{_jvmdir}/%{jrelnk -- %{?1}}
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/java
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jjs
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/pack200
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmid
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/unpack200
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib
-%ifarch %{jit_arches}
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/classlist
-%endif
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jexec
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jspawnhelper
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jrt-fs.jar
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/modules
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfont.properties.ja
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfontj2d.properties
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/tzdb.dat
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jli
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jli/libjli.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jvm.cfg
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libattach.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libextnet.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsig.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_headless.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libdt_socket.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfontmanager.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libinstrument.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pkcs11.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjaas.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjava.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjavajpeg.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjdwp.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjimage.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsound.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/liblcms.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_agent.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_ext.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmlib_image.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnet.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
-# Zero and S390x don't have SA
-%ifarch %{jit_arches}
-%ifnarch s390x
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
-%endif
-%endif
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libunpack.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libverify.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libzip.so
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
-%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1*
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
-%ifarch %{jit_arches}
-%ifnarch %{power64}
-%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
-%endif
-%endif
-%dir %{etcjavasubdir}
-%dir %{etcjavadir -- %{?1}}
-%dir %{etcjavadir -- %{?1}}/lib
-%dir %{etcjavadir -- %{?1}}/lib/security
-%{etcjavadir -- %{?1}}/lib/security/cacerts
-%dir %{etcjavadir -- %{?1}}/conf
-%dir %{etcjavadir -- %{?1}}/conf/management
-%dir %{etcjavadir -- %{?1}}/conf/security
-%dir %{etcjavadir -- %{?1}}/conf/security/policy
-%dir %{etcjavadir -- %{?1}}/conf/security/policy/limited
-%dir %{etcjavadir -- %{?1}}/conf/security/policy/unlimited
-%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/default.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blacklisted.certs
-%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/public_suffix_list.dat
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/exempt_local.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_local.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_US_export.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_local.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_US_export.policy
- %{etcjavadir -- %{?1}}/conf/security/policy/README.txt
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.security
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/logging.properties
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.cfg
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/jmxremote.access
-# this is conifg template, thus not config-noreplace
-%config %{etcjavadir -- %{?1}}/conf/management/jmxremote.password.template
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/management.properties
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/net.properties
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/sound.properties
-%{_jvmdir}/%{sdkdir -- %{?1}}/conf
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/security
-%if %is_system_jdk
-%if %{is_release_build -- %{?1}}
-%ghost %{_bindir}/java
-%ghost %{_jvmdir}/jre
-# https://bugzilla.redhat.com/show_bug.cgi?id=1312019
-%ghost %{_bindir}/jjs
-%ghost %{_bindir}/keytool
-%ghost %{_bindir}/pack200
-%ghost %{_bindir}/rmid
-%ghost %{_bindir}/rmiregistry
-%ghost %{_bindir}/unpack200
-%ghost %{_jvmdir}/jre-%{origin}
-%ghost %{_jvmdir}/jre-%{javaver}
-%ghost %{_jvmdir}/jre-%{javaver}-%{origin}
-%endif
-%endif
-}
-
-%define files_devel() %{expand:
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jar
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jarsigner
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javac
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javap
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
-# Zero and S390x don't have SA
-%ifarch %{jit_arches}
-%ifnarch s390x
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
-%endif
-%endif
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmod
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jps
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jrunscript
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jshell
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstack
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstat
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstatd
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmic
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/serialver
-%ifarch %{aot_arches}
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jaotc
-%endif
-%{_jvmdir}/%{sdkdir -- %{?1}}/include
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym
-%if %{with_systemtap}
-%{_jvmdir}/%{sdkdir -- %{?1}}/tapset
-%endif
-%{_datadir}/applications/*jconsole%{?1}.desktop
-%{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1*
-%if %{with_systemtap}
-# /usr/share/systemtap belongs to systemtap
-#dir %{tapsetroot}
-#dir %{tapsetdirttapset}
-#dir %{tapsetdir}
-%{tapsetdir}/*%{_arch}%{?1}.stp
-%endif
-%if %is_system_jdk
-%if %{is_release_build -- %{?1}}
-%ghost %{_bindir}/javac
-%ghost %{_jvmdir}/java
-%ghost %{_bindir}/jaotc
-%ghost %{_bindir}/jlink
-%ghost %{_bindir}/jmod
-%ghost %{_bindir}/jhsdb
-%ghost %{_bindir}/jar
-%ghost %{_bindir}/jarsigner
-%ghost %{_bindir}/javadoc
-%ghost %{_bindir}/javap
-%ghost %{_bindir}/jcmd
-%ghost %{_bindir}/jconsole
-%ghost %{_bindir}/jdb
-%ghost %{_bindir}/jdeps
-%ghost %{_bindir}/jdeprscan
-%ghost %{_bindir}/jimage
-%ghost %{_bindir}/jinfo
-%ghost %{_bindir}/jmap
-%ghost %{_bindir}/jps
-%ghost %{_bindir}/jrunscript
-%ghost %{_bindir}/jshell
-%ghost %{_bindir}/jstack
-%ghost %{_bindir}/jstat
-%ghost %{_bindir}/jstatd
-%ghost %{_bindir}/rmic
-%ghost %{_bindir}/serialver
-%ghost %{_jvmdir}/java-%{origin}
-%ghost %{_jvmdir}/java-%{javaver}
-%ghost %{_jvmdir}/java-%{javaver}-%{origin}
-%endif
-%endif
-}
-
-%define files_jmods() %{expand:
-%{_jvmdir}/%{sdkdir -- %{?1}}/jmods
-}
-
-%define files_demo() %{expand:
-%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
-%{_jvmdir}/%{sdkdir -- %{?1}}/demo
-%{_jvmdir}/%{sdkdir -- %{?1}}/sample
-}
-
-%define files_src() %{expand:
-%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/src.zip
-}
-
-%define files_static_libs() %{expand:
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pkcs11.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjava.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjli.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnet.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjimage.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjaas.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfdlibm.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsig.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libextnet.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libverify.a
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libzip.a
-}
-
-%define files_javadoc() %{expand:
-%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}
-%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/legal
-%if %is_system_jdk
-%if %{is_release_build -- %{?1}}
-%ghost %{_javadocdir}/java
-%endif
-%endif
-}
-
-%define files_javadoc_zip() %{expand:
-%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
-%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/legal
-%if %is_system_jdk
-%if %{is_release_build -- %{?1}}
-%ghost %{_javadocdir}/java-zip
-%endif
-%endif
-}
-
-# not-duplicated requires/provides/obsoletes for normal/debug packages
-%define java_rpo() %{expand:
-Requires: fontconfig%{?_isa}
-Requires: xorg-x11-fonts-Type1
-# Require libXcomposite explicitly since it's only dynamically loaded
-# at runtime. Fixes screenshot issues. See JDK-8150954.
-Requires: libXcomposite%{?_isa}
-# Requires rest of java
-Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-# for java-X-openjdk package's desktop binding
-Recommends: gtk3%{?_isa}
-
-Provides: java-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-
-# Standard JPackage base provides
-Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_headless_rpo() %{expand:
-# Require /etc/pki/java/cacerts
-Requires: ca-certificates
-# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
-Requires: javapackages-filesystem
-%if %{with timezonejava}
-# Require zone-info data provided by tzdata-java sub-package
-# 2020a required as of JDK-8243541 in 11.0.8+4
-Requires: tzdata-java >= 2020a
-%endif
-# for support of kernel stream control
-# libsctp.so.1 is being `dlopen`ed on demand
-Requires: lksctp-tools%{?_isa}
-# tool to copy jdk's configs - should be Recommends only, but then only dnf/yum enforce it,
-# not rpm transaction and so no configs are persisted when pure rpm -u is run. It may be
-# considered as regression
-Requires: copy-jdk-configs >= 4.0
-OrderWithRequires: copy-jdk-configs
-# for printing support
-Requires: cups-libs
-# Post requires alternatives to install tool alternatives
-Requires(post): %{_sbindir}/alternatives
-# Postun requires alternatives to uninstall tool alternatives
-Requires(postun): %{_sbindir}/alternatives
-# for optional support of kernel stream control, card reader and printing bindings
-Suggests: lksctp-tools%{?_isa}, pcsc-lite-devel%{?_isa}
-
-# Standard JPackage base provides
-Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-headless%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_devel_rpo() %{expand:
-# Requires base package
-Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-# Post requires alternatives to install tool alternatives
-Requires(post): %{_sbindir}/alternatives
-# Postun requires alternatives to uninstall tool alternatives
-Requires(postun): %{_sbindir}/alternatives
-
-# Standard JPackage devel provides
-Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-devel-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-devel%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-sdk%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_static_libs_rpo() %{expand:
-Requires: %{name}-devel%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-}
-
-%define java_jmods_rpo() %{expand:
-# Requires devel package
-# as jmods are bytecode, they should be OK without any _isa
-Requires: %{name}-devel%{?1} = %{epoch}:%{version}-%{release}
-OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}
-
-Provides: java-%{javaver}-jmods%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-jmods%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-jmods%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_demo_rpo() %{expand:
-Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-
-Provides: java-%{javaver}-demo%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-demo%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_javadoc_rpo() %{expand:
-OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-# Post requires alternatives to install javadoc alternative
-Requires(post): %{_sbindir}/alternatives
-# Postun requires alternatives to uninstall javadoc alternative
-Requires(postun): %{_sbindir}/alternatives
-
-# Standard JPackage javadoc provides
-Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-javadoc%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_src_rpo() %{expand:
-Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-
-# Standard JPackage sources provides
-Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-# Prevent brp-java-repack-jars from being run
-%global __jar_repack 0
-
-Name: java-%{javaver}-%{origin}
-Version: %{newjavaver}.%{buildver}
-Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
-# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
-# and this change was brought into RHEL-4. java-1.5.0-ibm packages
-# also included the epoch in their virtual provides. This created a
-# situation where in-the-wild java-1.5.0-ibm packages provided "java =
-# 1:1.5.0". In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
-# interpreted as 0:1.6.0. So the "java >= 1.6.0" requirement would be
-# satisfied by the 1:1.5.0 packages. Thus we need to set the epoch in
-# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
-# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
-
-Epoch: 1
-Summary: %{origin_nice} Runtime Environment %{majorver}
-Group: Development/Java
-
-# HotSpot code is licensed under GPLv2
-# JDK library code is licensed under GPLv2 with the Classpath exception
-# The Apache license is used in code taken from Apache projects (primarily xalan & xerces)
-# DOM levels 2 & 3 and the XML digital signature schemas are licensed under the W3C Software License
-# The JSR166 concurrency code is in the public domain
-# The BSD and MIT licenses are used for a number of third-party libraries (see ADDITIONAL_LICENSE_INFO)
-# The OpenJDK source tree includes:
-# - JPEG library (IJG), zlib & libpng (zlib), giflib (MIT), harfbuzz (ISC),
-# - freetype (FTL), jline (BSD) and LCMS (MIT)
-# - jquery (MIT), jdk.crypto.cryptoki PKCS 11 wrapper (RSA)
-# - public_suffix_list.dat from publicsuffix.org (MPLv2.0)
-# The test code includes copies of NSS under the Mozilla Public License v2.0
-# The PCSClite headers are under a BSD with advertising license
-# The elliptic curve cryptography (ECC) source code is licensed under the LGPLv2.1 or any later version
-License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib and ISC and FTL and RSA
-URL: http://openjdk.java.net/
-
-
-# to regenerate source0 (jdk) run update_package.sh
-# update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives
-Source0: shenandoah-jdk%{majorver}-shenandoah-jdk-%{newjavaver}+%{buildver}%{?tagsuffix:-%{tagsuffix}}-4curve.tar.xz
-
-# Use 'icedtea_sync.sh' to update the following
-# They are based on code contained in the IcedTea project (3.x).
-# Systemtap tapsets. Zipped up to keep it small.
-Source8: tapsets-icedtea-%{icedteaver}.tar.xz
-
-# Desktop files. Adapted from IcedTea
-Source9: jconsole.desktop.in
-
-# Release notes
-Source10: NEWS
-
-# nss configuration file
-Source11: nss.cfg.in
-
-# Removed libraries that we link instead
-Source12: remove-intree-libraries.sh
-
-# Ensure we aren't using the limited crypto policy
-Source13: TestCryptoLevel.java
-
-# Ensure ECDSA is working
-Source14: TestECDSA.java
-
-# Verify system crypto (policy) can be disabled via a property
-Source15: TestSecurityProperties.java
-
-# ROSA-specific
-Source300: %{name}.rpmlintrc
-
-# Binary JDK for buolding with_bootstrap
-# Only Liberica JDK provides binaries for x86_32
-# Gentoo uses https://github.com/AdoptOpenJDK/openjdk11-upstream-binaries/releases, there is no x86_32 there
-# Using https://libericajdk.ru/pages/downloads/#/java-11-lts -> "Standard JDK"
-# x86_32
-Source301: https://download.bell-sw.com/java/11.0.10+9/bellsoft-jdk11.0.10+9-linux-i586.tar.gz
-# x86_64
-Source302: https://download.bell-sw.com/java/11.0.10+9/bellsoft-jdk11.0.10+9-linux-amd64.tar.gz
-# aarch64
-Source303: https://download.bell-sw.com/java/11.0.10+9/bellsoft-jdk11.0.10+9-linux-aarch64.tar.gz
-
-%ifarch %{ix86}
-%define bootstrap_jdk_source_num 301
-%endif
-%ifarch %{x86_64}
-%define bootstrap_jdk_source_num 302
-%endif
-%ifarch aarch64
-%define bootstrap_jdk_source_num 303
-%endif
-
-
-############################################
-#
-# RPM/distribution specific patches
-#
-############################################
-
-# NSS via SunPKCS11 Provider (disabled comment
-# due to memory leak).
-Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
-
-# Ignore AWTError when assistive technologies are loaded
-Patch1: rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
-# Restrict access to java-atk-wrapper classes
-Patch2: rh1648644-java_access_bridge_privileged_security.patch
-
-#############################################
-#
-# Shenandoah specific patches
-#
-#############################################
-
-# Currently empty
-
-#############################################
-#
-# OpenJDK specific patches
-#
-#############################################
-
-Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch
-# PR3694, RH1340845: Add security.useSystemPropertiesFile option to java.security to use system crypto policy
-Patch4: pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch
-# RH1566890: CVE-2018-3639
-Patch6: rh1566890-CVE_2018_3639-speculative_store_bypass.patch
-# PR3695: Allow use of system crypto policy to be disabled by the user
-Patch7: pr3695-toggle_system_crypto_policy.patch
-# S390 ambiguous log2_intptr call
-Patch8: s390-8214206_fix.patch
-
-#############################################
-#
-# Patches appearing in 11.0.8
-#
-# This section includes patches which are present
-# in the listed OpenJDK 11u release and should be
-# able to be removed once that release is out
-# and used by this RPM.
-#############################################
-
-#############################################
-#
-# Patches appearing in 11.0.9
-#
-# This section includes patches which are present
-# in the listed OpenJDK 11u release and should be
-# able to be removed once that release is out
-# and used by this RPM.
-#############################################
-# JDK-8247874: Replacement in VersionProps.java.template not working when --with-vendor-bug-url contains '&'
-Patch9: jdk8247874-fix_ampersand_in_vm_bug_url.patch
-Patch10: clang_stack.patch
-#############################################
-#
-# JDK 9+ only patches
-#
-#############################################
-%if %{with clang}
-BuildRequires: clang
-%endif
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: binutils
-BuildRequires: cups-devel
-BuildRequires: elfutils
-BuildRequires: elfutils-devel
-BuildRequires: fontconfig
-BuildRequires: freetype2-devel
-BuildRequires: gcc
-BuildRequires: gcc-c++
-BuildRequires: gdb
-BuildRequires: giflib-devel
-BuildRequires: jpeg-devel
-BuildRequires: libxslt-devel
-BuildRequires: nss-devel
-BuildRequires: openssl
-BuildRequires: pkgconfig
-BuildRequires: pkgconfig(alsa)
-BuildRequires: pkgconfig(gtk+-2.0)
-BuildRequires: pkgconfig(lcms2)
-BuildRequires: pkgconfig(libpng)
-BuildRequires: pkgconfig(x11)
-BuildRequires: pkgconfig(xi)
-BuildRequires: pkgconfig(xinerama)
-BuildRequires: pkgconfig(xproto)
-BuildRequires: pkgconfig(xt)
-BuildRequires: pkgconfig(xtst)
-BuildRequires: unzip
-BuildRequires: xsltproc
-BuildRequires: zip
-BuildRequires: nss-softokn-freebl-devel
-BuildRequires: javapackages-filesystem
-%if ! %{with bootstrap}
-BuildRequires: java-%{buildjdkver}-openjdk-devel
-%endif
-# Zero-assembler build requirement
-%ifnarch %{jit_arches}
-BuildRequires: pkgconfig(libffi)
-%endif
-%if %{with timezonejava}
-# 2020a required as of JDK-8243541 in 11.0.8+4
-BuildRequires: tzdata-java >= 2020a
-%endif
-BuildRequires: gcc
-
-%if %{with_systemtap}
-BuildRequires: systemtap-devel
-%endif
-
-# this is always built, also during debug-only build
-# when it is built in debug-only this package is just placeholder
-%{java_rpo %{nil}}
-
-%description
-The %{origin_nice} runtime environment.
-
-%if %{include_debug_build}
-%package slowdebug
-Summary: %{origin_nice} Runtime Environment %{majorver} %{debug_on}
-Group: Development/Java
-
-%{java_rpo -- %{debug_suffix_unquoted}}
-%description slowdebug
-The %{origin_nice} runtime environment.
-%{debug_warning}
-%endif
-
-%if %{include_normal_build}
-%package headless
-Summary: %{origin_nice} Headless Runtime Environment %{majorver}
-Group: Development/Java
-
-%{java_headless_rpo %{nil}}
-
-%description headless
-The %{origin_nice} runtime environment %{majorver} without audio and video support.
-%endif
-
-%if %{include_debug_build}
-%package headless-slowdebug
-Summary: %{origin_nice} Runtime Environment %{debug_on}
-
-%{java_headless_rpo -- %{debug_suffix_unquoted}}
-
-%description headless-slowdebug
-The %{origin_nice} runtime environment %{majorver} without audio and video support.
-%{debug_warning}
-%endif
-
-%if %{include_normal_build}
-%package devel
-Summary: %{origin_nice} Development Environment %{majorver}
-Group: Development/Java
-
-%{java_devel_rpo %{nil}}
-
-%description devel
-The %{origin_nice} development tools %{majorver}.
-%endif
-
-%if %{include_debug_build}
-%package devel-slowdebug
-Summary: %{origin_nice} Development Environment %{majorver} %{debug_on}
-Group: Development/Java
-
-%{java_devel_rpo -- %{debug_suffix_unquoted}}
-
-%description devel-slowdebug
-The %{origin_nice} development tools %{majorver}.
-%{debug_warning}
-%endif
-
-%if %{include_normal_build}
-%package static-libs
-Summary: %{origin_nice} libraries for static linking %{majorver}
-Group: Development/Java
-
-%{java_static_libs_rpo %{nil}}
-
-%description static-libs
-The %{origin_nice} libraries for static linking %{majorver}.
-%endif
-
-%if %{include_debug_build}
-%package static-libs-slowdebug
-Summary: %{origin_nice} libraries for static linking %{majorver} %{debug_on}
-Group: Development/Java
-
-%{java_static_libs_rpo -- %{debug_suffix_unquoted}}
-
-%description static-libs-slowdebug
-The %{origin_nice} libraries for static linking %{majorver}.
-%{debug_warning}
-%endif
-
-%if %{include_normal_build}
-%package jmods
-Summary: JMods for %{origin_nice} %{majorver}
-Group: Development/Java
-
-%{java_jmods_rpo %{nil}}
-
-%description jmods
-The JMods for %{origin_nice}.
-%endif
-
-%if %{include_debug_build}
-%package jmods-slowdebug
-Summary: JMods for %{origin_nice} %{majorver} %{debug_on}
-Group: Development/Java
-
-%{java_jmods_rpo -- %{debug_suffix_unquoted}}
-
-%description jmods-slowdebug
-The JMods for %{origin_nice} %{majorver}.
-%{debug_warning}
-%endif
-
-%if %{include_normal_build}
-%package demo
-Summary: %{origin_nice} Demos %{majorver}
-Group: Development/Java
-
-%{java_demo_rpo %{nil}}
-
-%description demo
-The %{origin_nice} demos %{majorver}.
-%endif
-
-%if %{include_debug_build}
-%package demo-slowdebug
-Summary: %{origin_nice} Demos %{majorver} %{debug_on}
-Group: Development/Java
-
-%{java_demo_rpo -- %{debug_suffix_unquoted}}
-
-%description demo-slowdebug
-The %{origin_nice} demos %{majorver}.
-%{debug_warning}
-%endif
-
-%if %{include_normal_build}
-%package src
-Summary: %{origin_nice} Source Bundle %{majorver}
-Group: Development/Java
-
-%{java_src_rpo %{nil}}
-
-%description src
-The java-%{origin}-src sub-package contains the complete %{origin_nice} %{majorver}
-class library source code for use by IDE indexers and debuggers.
-%endif
-
-%if %{include_debug_build}
-%package src-slowdebug
-Summary: %{origin_nice} Source Bundle %{majorver} %{for_debug}
-Group: Development/Java
-
-%{java_src_rpo -- %{debug_suffix_unquoted}}
-
-%description src-slowdebug
-The java-%{origin}-src-slowdebug sub-package contains the complete %{origin_nice} %{majorver}
- class library source code for use by IDE indexers and debuggers. Debugging %{for_debug}.
-%endif
-
-%if %{include_normal_build}
-%package javadoc
-Summary: %{origin_nice} %{majorver} API documentation
-Group: Development/Java
-Requires: javapackages-filesystem
-Obsoletes: javadoc-slowdebug < 1:11.0.3.7-4
-
-%{java_javadoc_rpo %{nil}}
-
-%description javadoc
-The %{origin_nice} %{majorver} API documentation.
-%endif
-
-%if %{include_normal_build}
-%package javadoc-zip
-Summary: %{origin_nice} %{majorver} API documentation compressed in a single archive
-Group: Development/Java
-Requires: javapackages-filesystem
-Obsoletes: javadoc-zip-slowdebug < 1:11.0.3.7-4
-
-%{java_javadoc_rpo %{nil}}
-
-%description javadoc-zip
-The %{origin_nice} %{majorver} API documentation compressed in a single archive.
-%endif
-
-%prep
-if [ %{include_normal_build} -eq 0 -o %{include_normal_build} -eq 1 ] ; then
- echo "include_normal_build is %{include_normal_build}"
-else
- echo "include_normal_build is %{include_normal_build}, thats invalid. Use 1 for yes or 0 for no"
- exit 11
-fi
-if [ %{include_debug_build} -eq 0 -o %{include_debug_build} -eq 1 ] ; then
- echo "include_debug_build is %{include_debug_build}"
-else
- echo "include_debug_build is %{include_debug_build}, thats invalid. Use 1 for yes or 0 for no"
- exit 12
-fi
-if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 ] ; then
- echo "You have disabled both include_debug_build and include_normal_build. That is a no go."
- exit 13
-fi
-%setup -q -c -n %{uniquesuffix ""} -T -a 0 %{?with_bootstrap:-b %{bootstrap_jdk_source_num}}
-# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
-prioritylength=`expr length %{priority}`
-if [ $prioritylength -ne 8 ] ; then
- echo "priority must be 8 digits in total, violated"
- exit 14
-fi
-
-# OpenJDK patches
-
-# Remove libraries that are linked
-sh %{SOURCE12}
-pushd %{top_level_dir_name}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-popd # openjdk
-
-%patch1000
-
-# Extract systemtap tapsets
-%if %{with_systemtap}
-tar --strip-components=1 -x -I xz -f %{SOURCE8}
-%if %{include_debug_build}
-cp -r tapset tapset%{debug_suffix}
-%endif
-
-
-for suffix in %{build_loop} ; do
- for file in "tapset"$suffix/*.in; do
- OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"`
- sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1
-# TODO find out which architectures other than i686 have a client vm
-%ifarch %{ix86}
- sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.1 > $OUTPUT_FILE
-%else
- sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.1 > $OUTPUT_FILE
-%endif
- sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
- sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
- sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
- done
-done
-# systemtap tapsets ends
-%endif
-
-# Prepare desktop files
-# The _X_ syntax indicates variables that are replaced by make upstream
-# The @X@ syntax indicates variables that are replaced by configure upstream
-for suffix in %{build_loop} ; do
-for file in %{SOURCE9}; do
- FILE=`basename $file | sed -e s:\.in$::g`
- EXT="${FILE##*.}"
- NAME="${FILE%.*}"
- OUTPUT_FILE=$NAME$suffix.$EXT
- sed -e "s:_SDKBINDIR_:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE
- sed -i -e "s:@target_cpu@:%{_arch}:g" $OUTPUT_FILE
- sed -i -e "s:@OPENJDK_VER@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE
- sed -i -e "s:@JAVA_VER@:%{javaver}:g" $OUTPUT_FILE
- sed -i -e "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE
-done
-done
-
-# Setup nss.cfg
-sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
-
-
-%build
-%if %{with clang}
-export CC="clang"
-export CXX="clang++"
-%endif
-# How many CPU's do we have?
-export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
-export NUM_PROC=${NUM_PROC:-1}
-%if 0%{?_smp_ncpus_max}
-# Honor %%_smp_ncpus_max
-[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
-%endif
-
-%ifarch s390x sparc64 alpha %{power64} %{aarch64}
-export ARCH_DATA_MODEL=64
-%endif
-%ifarch alpha
-export CFLAGS="$CFLAGS -mieee"
-%endif
-
-# We use ourcppflags because the OpenJDK build seems to
-# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
-# Explicitly set -fcommon as GCC 10+ defaults to -fno-common
-EXTRA_CFLAGS="%ourcppflags -Wno-error -fcommon"
-EXTRA_CPP_FLAGS="%ourcppflags -fcommon"
-
-%ifarch %{power64} ppc
-# fix rpmlint warnings
-EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
-%endif
-# Fixes annocheck warnings in assembler files due to missing build notes
-%if 0
-EXTRA_ASFLAGS="${EXTRA_CFLAGS} -Wa,--generate-missing-build-notes=yes"
-%endif
-EXTRA_ASFLAGS="${EXTRA_CFLAGS} -Wa"
-export EXTRA_CFLAGS EXTRA_ASFLAGS
-
-for suffix in %{build_loop} ; do
-if [ "x$suffix" = "x" ] ; then
- debugbuild=release
-else
- # change --something to something
- debugbuild=`echo $suffix | sed "s/-//g"`
-fi
-
-# Variable used in hs_err hook on build failures
-top_dir_abs_path=$(pwd)/%{top_level_dir_name}
-
-mkdir -p %{buildoutputdir -- $suffix}
-pushd %{buildoutputdir -- $suffix}
-
-bash ../configure \
-%ifnarch %{jit_arches}
- --with-jvm-variants=zero \
-%endif
-%ifarch %{ppc64le}
- --with-jobs=1 \
-%endif
- --with-version-build=%{buildver} \
- --with-version-pre="%{ea_designator}" \
- --with-version-opt=%{lts_designator} \
- --with-vendor-version-string="%{vendor_version_string}" \
- --with-vendor-name="Red Hat, Inc." \
- --with-vendor-url="https://www.redhat.com/" \
- --with-vendor-bug-url="%{bugs}" \
- --with-vendor-vm-bug-url="%{bugs}" \
-%if ! %{with bootstrap}
- --with-boot-jdk=/usr/lib/jvm/java-%{buildjdkver}-openjdk \
-%else
- --with-boot-jdk="%{_builddir}/jdk-11.0.10" \
-%endif
- --with-debug-level=$debugbuild \
- --with-native-debug-symbols=internal \
- --enable-unlimited-crypto \
- --with-zlib=system \
- --with-libjpeg=system \
- --with-giflib=system \
- --with-libpng=system \
- --with-lcms=system \
- --with-stdc++lib=dynamic \
- --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
- --with-extra-cflags="$EXTRA_CFLAGS" \
- --with-extra-asflags="$EXTRA_ASFLAGS" \
- --with-extra-ldflags="%{ourldflags}" \
- --with-num-cores="$NUM_PROC" \
- --disable-javac-server \
-%ifarch x86_64
- --with-jvm-features=zgc \
-%endif
- --disable-warnings-as-errors \
-%if %{with clang}
- --with-toolchain-type="clang" \
-%endif
- --
-
-# Debug builds don't need same targets as release for
-# build speed-up
-maketargets="%{release_targets}"
-if echo $debugbuild | grep -q "debug" ; then
- maketargets="%{debug_targets}"
-fi
-make \
- JAVAC_FLAGS=-g \
- LOG=trace \
- WARNINGS_ARE_ERRORS="-Wno-error" \
- CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
- $maketargets || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false )
-
-# the build (erroneously) removes read permissions from some jars
-# this is a regression in OpenJDK 7 (our compiler):
-# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
-find images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
-
-# Build screws up permissions on binaries
-# https://bugs.openjdk.java.net/browse/JDK-8173610
-find images/%{jdkimage} -iname '*.so' -exec chmod +x {} \;
-find images/%{jdkimage}/bin/ -exec chmod +x {} \;
-
-popd >& /dev/null
-
-# Install nss.cfg right away as we will be using the JRE above
-export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}
-
-# Install nss.cfg right away as we will be using the JRE above
-install -m 644 nss.cfg $JAVA_HOME/conf/security/
-
-%if %{with timezonejava}
-# Use system-wide tzdata
-rm $JAVA_HOME/lib/tzdb.dat
-ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/lib/tzdb.dat
-%endif
-
-# build cycles
-done
-
-%check
-
-# We test debug first as it will give better diagnostics on a crash
-for suffix in %{rev_build_loop} ; do
-
-export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}
-
-#check Shenandoah is enabled
-%if %{use_shenandoah_hotspot}
-$JAVA_HOME//bin/java -XX:+UseShenandoahGC -version
-%endif
-
-# Check unlimited policy has been used
-$JAVA_HOME/bin/javac -d . %{SOURCE13}
-$JAVA_HOME/bin/java --add-opens java.base/javax.crypto=ALL-UNNAMED TestCryptoLevel
-
-# Check ECC is working
-$JAVA_HOME/bin/javac -d . %{SOURCE14}
-$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
-
-# Check system crypto (policy) can be disabled
-$JAVA_HOME/bin/javac -d . %{SOURCE15}
-$JAVA_HOME/bin/java -Djava.security.disableSystemPropertiesFile=true $(echo $(basename %{SOURCE15})|sed "s|\.java||")
-
-# Check debug symbols in static libraries (smoke test)
-export STATIC_LIBS_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{static_libs_image}
-readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
-readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c
-
-# Check debug symbols are present and can identify code
-find "$JAVA_HOME" -iname '*.so' -print0 | while read -d $'\0' lib
-do
- if [ -f "$lib" ] ; then
- echo "Testing $lib for debug symbols"
- # All these tests rely on RPM failing the build if the exit code of any set
- # of piped commands is non-zero.
-
- # Test for .debug_* sections in the shared object. This is the main test
- # Stripped objects will not contain these
- eu-readelf -S "$lib" | grep "] .debug_"
- test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
-
- # Test FILE symbols. These will most likely be removed by anything that
- # manipulates symbol tables because it's generally useless. So a nice test
- # that nothing has messed with symbols
- old_IFS="$IFS"
- IFS=$'\n'
- for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
- do
- # We expect to see .cpp files, except for architectures like aarch64 and
- # s390 where we expect .o and .oS files
- echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|oS))?$"
- done
- IFS="$old_IFS"
-
- # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
- if [ "`basename $lib`" = "libjvm.so" ]; then
- eu-readelf -s "$lib" | \
- grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$"
- fi
-
- # Test that there are no .gnu_debuglink sections pointing to another
- # debuginfo file. There shouldn't be any debuginfo files, so the link makes
- # no sense either
- eu-readelf -S "$lib" | grep 'gnu'
- if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
- echo "bad .gnu_debuglink section."
- eu-readelf -x .gnu_debuglink "$lib"
- false
- fi
- fi
-done
-
-# Make sure gdb can do a backtrace based on line numbers on libjvm.so
-# javaCalls.cpp:58 should map to:
-# http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/share/vm/runtime/javaCalls.cpp#l58
-# Using line number 1 might cause build problems. See:
-# https://bugzilla.redhat.com/show_bug.cgi?id=1539664
-# https://bugzilla.redhat.com/show_bug.cgi?id=1538767
-gdb -q "$JAVA_HOME/bin/java" <
--- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
--- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre
--- if copy-jdk-configs is in transaction, it installs in pretrans to temp
--- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in transaction and so is
--- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends
--- whether copy-jdk-configs is installed or not. If so, then configs are copied
--- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
-local posix = require "posix"
-
-if (os.getenv("debug") == "true") then
- debug = true;
- print("cjc: in spec debug is on")
-else
- debug = false;
-end
-
-SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua"
-SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua"
-
-local stat1 = posix.stat(SOURCE1, "type");
-local stat2 = posix.stat(SOURCE2, "type");
-
- if (stat1 ~= nil) then
- if (debug) then
- print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
- end;
- package.path = package.path .. ";" .. SOURCE1
-else
- if (stat2 ~= nil) then
- if (debug) then
- print(SOURCE2 .." exists - copy-jdk-configs already installed and NOT in transaction. Using.")
- end;
- package.path = package.path .. ";" .. SOURCE2
- else
- if (debug) then
- print(SOURCE1 .." does NOT exists")
- print(SOURCE2 .." does NOT exists")
- print("No config files will be copied")
- end
- return
- end
-end
-arg = nil ; -- it is better to null the arg up, no meter if they exists or not, and use cjc as module in unified way, instead of relaying on "main" method during require "copy_jdk_configs.lua"
-cjc = require "copy_jdk_configs.lua"
-args = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"}
-cjc.mainProgram(args)
-
-%post
-%{post_script %{nil}}
-
-%post headless
-%{post_headless %{nil}}
-
-%postun
-%{postun_script %{nil}}
-
-%postun headless
-%{postun_headless %{nil}}
-
-%posttrans
-%{posttrans_script %{nil}}
-
-%post devel
-%{post_devel %{nil}}
-
-%postun devel
-%{postun_devel %{nil}}
-
-%posttrans devel
-%{posttrans_devel %{nil}}
-
-%post javadoc
-%{post_javadoc %{nil}}
-
-%postun javadoc
-%{postun_javadoc %{nil}}
-
-%post javadoc-zip
-%{post_javadoc_zip %{nil}}
-
-%postun javadoc-zip
-%{postun_javadoc_zip %{nil}}
-%endif
-
-%if %{include_debug_build}
-%post slowdebug
-%{post_script -- %{debug_suffix_unquoted}}
-
-%post headless-slowdebug
-%{post_headless -- %{debug_suffix_unquoted}}
-
-%postun slowdebug
-%{postun_script -- %{debug_suffix_unquoted}}
-
-%postun headless-slowdebug
-%{postun_headless -- %{debug_suffix_unquoted}}
-
-%posttrans slowdebug
-%{posttrans_script -- %{debug_suffix_unquoted}}
-
-%post devel-slowdebug
-%{post_devel -- %{debug_suffix_unquoted}}
-
-%postun devel-slowdebug
-%{postun_devel -- %{debug_suffix_unquoted}}
-
-%posttrans devel-slowdebug
-%{posttrans_devel -- %{debug_suffix_unquoted}}
-%endif
-
-%if %{include_normal_build}
-%files
-# main package builds always
-%{files_jre %{nil}}
-%else
-%files
-# placeholder
-%endif
-
-
-%if %{include_normal_build}
-%files headless
-# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
-# all config/noreplace files (and more) have to be declared in pretrans. See pretrans
-%{files_jre_headless %{nil}}
-
-%files devel
-%{files_devel %{nil}}
-
-%files static-libs
-%{files_static_libs %{nil}}
-
-%files jmods
-%{files_jmods %{nil}}
-
-%files demo
-%{files_demo %{nil}}
-
-%files src
-%{files_src %{nil}}
-
-%files javadoc
-%{files_javadoc %{nil}}
-
-# this puts huge file to /usr/share
-# unluckily ti is really a documentation file
-# and unluckily it really is architecture-dependent, as eg. aot and grail are now x86_64 only
-# same for debug variant
-%files javadoc-zip
-%{files_javadoc_zip %{nil}}
-%endif
-
-%if %{include_debug_build}
-%files slowdebug
-%{files_jre -- %{debug_suffix_unquoted}}
-
-%files headless-slowdebug
-%{files_jre_headless -- %{debug_suffix_unquoted}}
-
-%files devel-slowdebug
-%{files_devel -- %{debug_suffix_unquoted}}
-
-%files static-libs-slowdebug
-%{files_static_libs -- %{debug_suffix_unquoted}}
-
-%files jmods-slowdebug
-%{files_jmods -- %{debug_suffix_unquoted}}
-
-%files demo-slowdebug
-%{files_demo -- %{debug_suffix_unquoted}}
-
-%files src-slowdebug
-%{files_src -- %{debug_suffix_unquoted}}
-%endif
diff --git a/java-11-openjdk.rpmlintrc b/java-17-openjdk.rpmlintrc
similarity index 100%
rename from java-11-openjdk.rpmlintrc
rename to java-17-openjdk.rpmlintrc
diff --git a/java-11-openjdk.spec b/java-17-openjdk.spec
similarity index 68%
rename from java-11-openjdk.spec
rename to java-17-openjdk.spec
index 228ee52..d466f24 100644
--- a/java-11-openjdk.spec
+++ b/java-17-openjdk.spec
@@ -5,37 +5,29 @@
# Examples:
#
# Produce release, fastdebug *and* slowdebug builds on x86_64 (default):
-# $ rpmbuild -ba java-11-openjdk.spec
+# $ rpmbuild -ba java-17-openjdk.spec
#
-# Produce only release builds (no slowdebug builds) on x86_64:
-# $ rpmbuild -ba java-11-openjdk.spec --without slowdebug --without fastdebug
+# Produce only release builds (no debug builds) on x86_64:
+# $ rpmbuild -ba java-17-openjdk.spec --without slowdebug --without fastdebug
#
# Only produce a release build on x86_64:
# $ fedpkg mockbuild --without slowdebug --without fastdebug
-#
-# Only produce a debug build on x86_64:
-# $ fedpkg local --without release
-#
# Enable fastdebug builds by default on relevant arches.
-%ifarch %{ix86}
-%bcond_with fastdebug
-%else
%bcond_without fastdebug
-%endif
-
# Enable slowdebug builds by default on relevant arches.
-%ifarch %{ix86}
-%bcond_with slowdebug
-%else
%bcond_without slowdebug
-%endif
-
# Enable release builds by default on relevant arches.
%bcond_without release
-
# Enable static library builds by default.
-%bcond_with staticlibs
+%bcond_without staticlibs
+# Build a fresh libjvm.so for use in a copy of the bootstrap JDK
+%bcond_without fresh_libjvm
+# Build with system libraries
+%bcond_with system_libs
+
+%bcond_without bootstrap
+%define _duplicate_files_terminate_build 0
# Workaround for stripping of debug symbols from static libraries
%if %{with staticlibs}
@@ -45,22 +37,32 @@
%global include_staticlibs 0
%endif
-#in rosa linux there is no tzdb.dat file
-#in the timezone package we will
-#use the standard one from java (temporarily)
-%bcond_with timezonejava
+# Define whether to use the bootstrap JDK directly or with a fresh libjvm.so
+%if %{with fresh_libjvm}
+%global build_hotspot_first 1
+%else
+%global build_hotspot_first 0
+%endif
-%bcond_without clang
-%bcond_with bootstrap
-
-# avoid odd diff with spec from Fedora
-%define fedora 36
+%if %{with system_libs}
+%global system_libs 1
+%global link_type system
+%global freetype_lib %{nil}
+%else
+%global system_libs 0
+%global link_type bundled
+%global freetype_lib |libfreetype[.]so.*
+%endif
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
# This fixes detailed NMT and other tools which need minimal debug info.
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
%global _find_debuginfo_opts -g
+# With LTO flags enabled, debuginfo checks fail for some reason. Disable
+# LTO for a passing build. This really needs to be looked at.
+%define _lto_cflags %{nil}
+
# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
# see the difference between global and define:
@@ -114,9 +116,6 @@
# while JDK is a techpreview(is_system_jdk=0), some provides are turned off. Once jdk stops to be an techpreview, move it to 1
# as sytem JDK, we mean any JDK which can run whole system java stack without issues (like bytecode issues, module issues, dependencies...)
%global is_system_jdk 1
-# XXX ROSA-specific: commit 6dab1797 accidently put is_system_jdk=1 instead of 0,
-# now leaving java 11 with this, but exclude devel provides to restore java 1.8 as default JDK and leave java 11 as default JRE
-%global devel_provides 0
%global aarch64 aarch64 arm64 armv8
# we need to distinguish between big and little endian PPC64
@@ -129,7 +128,9 @@
# Set of architectures for which we build fastdebug builds
%global fastdebug_arches x86_64 ppc64le aarch64
# Set of architectures with a Just-In-Time (JIT) compiler
-%global jit_arches %{debug_arches} %{arm}
+%global jit_arches %{arm} %{aarch64} %{ix86} %{power64} s390x sparcv9 sparc64 x86_64
+# Set of architectures which use the Zero assembler port (!jit_arches)
+%global zero_arches ppc s390
# Set of architectures which run a full bootstrap cycle
%global bootstrap_arches %{jit_arches}
# Set of architectures which support SystemTap tapsets
@@ -139,15 +140,21 @@
# Set of architectures which support the serviceability agent
%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
# Set of architectures which support class data sharing
-# As of JDK-8005165 in OpenJDK 10, class sharing is not arch-specific
-# However, it does segfault on the Zero assembler port, so currently JIT only
-%global share_arches %{jit_arches}
+# See https://bugzilla.redhat.com/show_bug.cgi?id=513605
+# MetaspaceShared::generate_vtable_methods is not implemented for the PPC JIT
+%global share_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{arm} s390x
# Set of architectures for which we build the Shenandoah garbage collector
%global shenandoah_arches x86_64 %{aarch64}
# Set of architectures for which we build the Z garbage collector
%global zgc_arches x86_64
+# Set of architectures for which alt-java has SSB mitigation
+%global ssbd_arches x86_64
+# Set of architectures for which java has short vector math library (libsvml.so)
+%global svml_arches x86_64
+# Set of architectures where we verify backtraces with gdb
+%global gdb_arches %{jit_arches} %{zero_arches}
-# By default, we build a slowdebug build during main build on JIT architectures
+# By default, we build a debug build during main build on JIT architectures
%if %{with slowdebug}
%ifarch %{debug_arches}
%global include_debug_build 1
@@ -161,19 +168,8 @@
# On certain architectures, we compile the Shenandoah GC
%ifarch %{shenandoah_arches}
%global use_shenandoah_hotspot 1
-%global shenandoah_feature shenandoahgc
%else
%global use_shenandoah_hotspot 0
-%global shenandoah_feature -shenandoahgc
-%endif
-
-# On certain architectures, we compile the ZGC
-%ifarch %{zgc_arches}
-%global use_zgc_hotspot 1
-%global zgc_feature zgc
-%else
-%global use_zgc_hotspot 0
-%global zgc_feature -zgc
%endif
# By default, we build a fastdebug build during main build only on fastdebug architectures
@@ -199,7 +195,7 @@
%global fastdebug_build %{nil}
%endif
-# If you disable both builds, then the build fails
+# If you disable all builds, then the build fails
# Build and test slowdebug first as it provides the best diagnostics
%global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
@@ -209,6 +205,16 @@
%global staticlibs_loop %{nil}
%endif
+%if 0%{?flatpak}
+%global bootstrap_build false
+%else
+%ifarch %{bootstrap_arches}
+%global bootstrap_build true
+%else
+%global bootstrap_build false
+%endif
+%endif
+
%if %{include_staticlibs}
# Extra target for producing the static-libraries. Separate from
# other targets since this target is configured to use in-tree
@@ -219,35 +225,32 @@
%global static_libs_target %{nil}
%endif
-# http://openjdk.java.net/groups/build/doc/building.html
+# RPM JDK builds keep the debug symbols internal, to be later stripped by RPM
+%global debug_symbols internal
+
# unlike portables,the rpms have to use static_libs_target very dynamically
-#if %{without bootstrap}
-#global release_targets bootcycle-images docs-zip
-#else
-# XXX there are problems with building bootcycle-images, turn them off for now, not really needed
+%global bootstrap_targets images
%global release_targets images docs-zip
-#endif
# No docs nor bootcycle for debug builds
%global debug_targets images
+# Target to use to just build HotSpot
+%global hotspot_target hotspot
-# Disable LTO as this causes build failures at the moment.
-# See RHBZ#1861401
-%define _lto_cflags %{nil}
+# JDK to use for bootstrapping
+%if ! %{with bootstrap}
+%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk
+%else
+%global bootjdk %{_builddir}/jdk-*
+%endif
-# Filter out flags from the macro that cause problems with the OpenJDK build
+# Filter out flags from the optflags macro that cause problems with the OpenJDK build
# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
-%ifarch %{ix86}
-%global optflags %optflags -fno-PIC -mstackrealign
-%endif
-%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
+%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||') -g
%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
-
-# As discussed with bero@, optflags are duplicated in ldflags for e.g. LTO, but it consuses OpenJDK build scripts
-#%%global ourldflags %{__global_ldflags}
-%global ourldflags -Wl,-z,relro -Wl,--as-needed -Wl,-z,now
+%global ourldflags -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -g
# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path
# the initialization must be here. Later the pkg-config have buggy behavior
@@ -322,32 +325,22 @@
%endif
# New Version-String scheme-style defines
-%global featurever 11
+%global featurever 17
%global interimver 0
-%global updatever 12
+%global updatever 6
%global patchver 0
-# If you bump featurever, you must bump also vendor_version_string
-# Used via new version scheme. JDK 11 was
-# GA'ed in September 2018 => 18.9
-%global vendor_version_string 18.9
# buildjdkver is usually same as %%{featurever},
# but in time of bootstrap of next jdk, it is featurever-1,
# and this it is better to change it here, on single place
%global buildjdkver %{featurever}
-# Add LTS designator for RHEL builds
-%if 0%{?rhel}
- %global lts_designator "LTS"
- %global lts_designator_zip -%{lts_designator}
-%else
- %global lts_designator ""
- %global lts_designator_zip ""
-%endif
+ %global lts_designator ""
+ %global lts_designator_zip ""
# Define vendor information used by OpenJDK
%global oj_vendor ROSA Linux
%global oj_vendor_url https://www.rosalinux.ru/
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi
-
+%global oj_vendor_version (ROSA_Linux-%{version}-%{release})
# Define IcedTea version used for SystemTap tapsets and desktop file
%global icedteaver 6.0.0pre00-c848b93a8598
@@ -356,9 +349,8 @@
%global origin_nice OpenJDK
%global top_level_dir_name %{origin}
%global top_level_dir_name_backup %{top_level_dir_name}-backup
-%global buildver 7
-%global rpmrelease 8
-#%%global tagsuffix %%{nil}
+%global buildver 9
+%global rpmrelease 1
# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
%if %is_system_jdk
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
@@ -372,27 +364,27 @@
%global priority %( printf '%08d' 1 )
%endif
%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
-
-# Omit trailing 0 in filenames when the patch version is 0
-%if 0%{?patchver} > 0
-%global filever %{newjavaver}
-%else
-%global filever %{featurever}.%{interimver}.%{updatever}
-%endif
-
%global javaver %{featurever}
+# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
+%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
+
+# The tag used to create the OpenJDK tarball
+%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
+
# Define milestone (EA for pre-releases, GA for releases)
# Release will be (where N is usually a number starting at 1):
# - 0.N%%{?extraver}%%{?dist} for EA releases,
# - N%%{?extraver}{?dist} for GA releases
-%global is_ga 1
+%global is_ga 0
%if %{is_ga}
+%global build_type GA
%global ea_designator ""
%global ea_designator_zip ""
%global extraver %{nil}
%global eaprefix %{nil}
%else
+%global build_type EA
%global ea_designator ea
%global ea_designator_zip -%{ea_designator}
%global extraver .%{ea_designator}
@@ -405,8 +397,12 @@
# images directories from upstream build
%global jdkimage jdk
%global static_libs_image static-libs
+# installation directory for static libraries
+%global static_libs_root lib/static
+%global static_libs_arch_dir %{static_libs_root}/linux-%{archinstall}
+%global static_libs_install_dir %{static_libs_arch_dir}/glibc
# output dir stub
-%define buildoutputdir() %{expand:build/jdk11.build%{?1}}
+%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}}
# we can copy the javadoc to not arched dir, or make it not noarch
%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
# main id and dir of this jdk
@@ -416,12 +412,12 @@
# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
# https://bugzilla.redhat.com/show_bug.cgi?id=1590796#c14
# https://bugzilla.redhat.com/show_bug.cgi?id=1655938
-%global _privatelibs libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjimage[.]so.*|libjsound[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsunec[.]so.*|libsystemconf[.]so.*|libunpack[.]so.*|libzip[.]so.*
+%global _privatelibs libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjimage[.]so.*|libjsound[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsystemconf[.]so.*|libzip[.]so.*%{freetype_lib}
%global _publiclibs libjawt[.]so.*|libjava[.]so.*|libjvm[.]so.*|libverify[.]so.*|libjsig[.]so.*
%if %is_system_jdk
%global __provides_exclude ^(%{_privatelibs})$
%global __requires_exclude ^(%{_privatelibs})$
-# Never generate lib-style provides/requires for slowdebug packages
+# Never generate lib-style provides/requires for any debug packages
%global __provides_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
%global __requires_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
%global __provides_exclude_from ^.*/%{uniquesuffix -- %{fastdebug_suffix_unquoted}}/.*$
@@ -442,6 +438,8 @@
%define sdkbindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
%define jrebindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
+%global alt_java_name alt-java
+
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
# For flatpack builds hard-code /usr/sbin/alternatives,
@@ -452,6 +450,9 @@
%global alternatives_requires %{_sbindir}/alternatives
%endif
+%global family %{name}.%{_arch}
+%global family_noarch %{name}
+
%if %{with_systemtap}
# Where to install systemtap tapset (links)
# We would like these to be in a package specific sub-dir,
@@ -466,9 +467,60 @@
%global tapsetdir %{tapsetdirttapset}/%{stapinstall}
%endif
+# x86 is no longer supported
+%if 0%{?java_arches:1}
+ExclusiveArch: %{java_arches}
+%else
+ExcludeArch: %{ix86}
+%endif
+
# not-duplicated scriptlets for normal/debug packages
%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+%define save_alternatives() %{expand:
+ # warning! alternatives are localised!
+ # LANG=cs_CZ.UTF-8 alternatives --display java | head
+ # LANG=en_US.UTF-8 alternatives --display java | head
+ function nonLocalisedAlternativesDisplayOfMaster() {
+ LANG=en_US.UTF-8 alternatives --display "$MASTER"
+ }
+ function headOfAbove() {
+ nonLocalisedAlternativesDisplayOfMaster | head -n $1
+ }
+ MASTER="%{?1}"
+ LOCAL_LINK="%{?2}"
+ FAMILY="%{?3}"
+ rm -f %{_localstatedir}/lib/rpm-state/"$MASTER"_$FAMILY > /dev/null
+ if nonLocalisedAlternativesDisplayOfMaster > /dev/null ; then
+ if headOfAbove 1 | grep -q manual ; then
+ if headOfAbove 2 | tail -n 1 | grep -q %{compatiblename} ; then
+ headOfAbove 2 > %{_localstatedir}/lib/rpm-state/"$MASTER"_"$FAMILY"
+ fi
+ fi
+ fi
+}
+
+%define save_and_remove_alternatives() %{expand:
+ if [ "x$debug" == "xtrue" ] ; then
+ set -x
+ fi
+ upgrade1_uninstal0=%{?3}
+ if [ "0$upgrade1_uninstal0" -gt 0 ] ; then # removal of this condition will cause persistence between uninstall
+ %{save_alternatives %{?1} %{?2} %{?4}}
+ fi
+ alternatives --remove "%{?1}" "%{?2}"
+}
+
+%define set_if_needed_alternatives() %{expand:
+ MASTER="%{?1}"
+ FAMILY="%{?2}"
+ ALTERNATIVES_FILE="%{_localstatedir}/lib/rpm-state/$MASTER"_"$FAMILY"
+ if [ -e "$ALTERNATIVES_FILE" ] ; then
+ rm "$ALTERNATIVES_FILE"
+ alternatives --set $MASTER $FAMILY
+ fi
+}
+
%define post_script() %{expand:
update-desktop-database %{_datadir}/applications &> /dev/null || :
@@ -477,41 +529,42 @@ exit 0
}
%define alternatives_java_install() %{expand:
+if [ "x$debug" == "xtrue" ] ; then
+ set -x
+fi
PRIORITY=%{priority}
if [ "%{?1}" == %{debug_suffix} ]; then
let PRIORITY=PRIORITY-1
fi
-ext=%{_extension}
+ext=.gz
+key=java
alternatives \\
- --install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY --family %{name}.%{_arch} \\
+ --install %{_bindir}/java $key %{jrebindir -- %{?1}}/java $PRIORITY --family %{family} \\
--slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\
- --slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\
+ --slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\
--slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\
- --slave %{_bindir}/pack200 pack200 %{jrebindir -- %{?1}}/pack200 \\
- --slave %{_bindir}/rmid rmid %{jrebindir -- %{?1}}/rmid \\
--slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\
- --slave %{_bindir}/unpack200 unpack200 %{jrebindir -- %{?1}}/unpack200 \\
--slave %{_mandir}/man1/java.1$ext java.1$ext \\
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \\
- %{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/%{alt_java_name}.1$ext %{alt_java_name}.1$ext \\
+ %{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \\
- %{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \\
- %{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
- %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
- %{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1$ext
+ %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext
+
+%{set_if_needed_alternatives $key %{family}}
for X in %{origin} %{javaver} ; do
- alternatives --install %{_jvmdir}/jre-"$X" jre_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
+ key=jre_"$X"
+ alternatives --install %{_jvmdir}/jre-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family}
+ %{set_if_needed_alternatives $key %{family}}
done
-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY --family %{name}.%{_arch}
+key=jre_%{javaver}_%{origin}
+alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} $key %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY --family %{family}
+%{set_if_needed_alternatives $key %{family}}
}
%define post_headless() %{expand:
@@ -544,10 +597,14 @@ exit 0
%define postun_headless() %{expand:
- alternatives --remove java %{jrebindir -- %{?1}}/java
- alternatives --remove jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
- alternatives --remove jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
- alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}}
+ if [ "x$debug" == "xtrue" ] ; then
+ set -x
+ fi
+ post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
+ %{save_and_remove_alternatives java %{jrebindir -- %{?1}}/java $post_state %{family}}
+ %{save_and_remove_alternatives jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
+ %{save_and_remove_alternatives jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
+ %{save_and_remove_alternatives jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $post_state %{family}}
}
%define posttrans_script() %{expand:
@@ -556,22 +613,25 @@ exit 0
%define alternatives_javac_install() %{expand:
+if [ "x$debug" == "xtrue" ] ; then
+ set -x
+fi
PRIORITY=%{priority}
if [ "%{?1}" == %{debug_suffix} ]; then
let PRIORITY=PRIORITY-1
fi
-ext=.xz
+ext=.gz
+key=javac
alternatives \\
- --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac $PRIORITY --family %{name}.%{_arch} \\
+ --install %{_bindir}/javac $key %{sdkbindir -- %{?1}}/javac $PRIORITY --family %{family} \\
--slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
-%ifarch %{aot_arches}
- --slave %{_bindir}/jaotc jaotc %{sdkbindir -- %{?1}}/jaotc \\
-%endif
--slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
--slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
%ifarch %{sa_arches}
+%ifnarch %{zero_arches}
--slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
+%endif
%endif
--slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
--slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
@@ -587,12 +647,12 @@ alternatives \\
--slave %{_bindir}/jinfo jinfo %{sdkbindir -- %{?1}}/jinfo \\
--slave %{_bindir}/jmap jmap %{sdkbindir -- %{?1}}/jmap \\
--slave %{_bindir}/jps jps %{sdkbindir -- %{?1}}/jps \\
+ --slave %{_bindir}/jpackage jpackage %{sdkbindir -- %{?1}}/jpackage \\
--slave %{_bindir}/jrunscript jrunscript %{sdkbindir -- %{?1}}/jrunscript \\
--slave %{_bindir}/jshell jshell %{sdkbindir -- %{?1}}/jshell \\
--slave %{_bindir}/jstack jstack %{sdkbindir -- %{?1}}/jstack \\
--slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\
--slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\
- --slave %{_bindir}/rmic rmic %{sdkbindir -- %{?1}}/rmic \\
--slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\
--slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
%{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1$ext \\
@@ -618,6 +678,8 @@ alternatives \\
%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jpackage.1$ext jpackage.1$ext \\
+ %{_mandir}/man1/jpackage-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
@@ -626,17 +688,20 @@ alternatives \\
%{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
- %{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
- %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext \\
+ %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext
+
+%{set_if_needed_alternatives $key %{family}}
for X in %{origin} %{javaver} ; do
- alternatives \\
- --install %{_jvmdir}/java-"$X" java_sdk_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
+ key=java_sdk_"$X"
+ alternatives --install %{_jvmdir}/java-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family}
+ %{set_if_needed_alternatives $key %{family}}
done
-update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
+key=java_sdk_%{javaver}_%{origin}
+alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family}
+%{set_if_needed_alternatives $key %{family}}
}
%define post_devel() %{expand:
@@ -647,10 +712,14 @@ exit 0
}
%define postun_devel() %{expand:
- alternatives --remove javac %{sdkbindir -- %{?1}}/javac
- alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
- alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
- alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
+ if [ "x$debug" == "xtrue" ] ; then
+ set -x
+ fi
+ post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
+ %{save_and_remove_alternatives javac %{sdkbindir -- %{?1}}/javac $post_state %{family}}
+ %{save_and_remove_alternatives java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
+ %{save_and_remove_alternatives java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
+ %{save_and_remove_alternatives java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
update-desktop-database %{_datadir}/applications &> /dev/null || :
@@ -667,36 +736,75 @@ exit 0
}
%define alternatives_javadoc_install() %{expand:
+if [ "x$debug" == "xtrue" ] ; then
+ set -x
+fi
PRIORITY=%{priority}
if [ "%{?1}" == %{debug_suffix} ]; then
let PRIORITY=PRIORITY-1
fi
+ for X in %{origin} %{javaver} ; do
+ key=javadocdir_"$X"
+ alternatives --install %{_javadocdir}/java-"$X" $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $PRIORITY --family %{family_noarch}
+ %{set_if_needed_alternatives $key %{family_noarch}}
+ done
-alternatives \\
- --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api \\
- $PRIORITY --family %{name}
+ key=javadocdir_%{javaver}_%{origin}
+ alternatives --install %{_javadocdir}/java-%{javaver}-%{origin} $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $PRIORITY --family %{family_noarch}
+ %{set_if_needed_alternatives $key %{family_noarch}}
+
+ key=javadocdir
+ alternatives --install %{_javadocdir}/java $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $PRIORITY --family %{family_noarch}
+ %{set_if_needed_alternatives $key %{family_noarch}}
exit 0
}
%define postun_javadoc() %{expand:
- alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api
+if [ "x$debug" == "xtrue" ] ; then
+ set -x
+fi
+ post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
+ %{save_and_remove_alternatives javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $post_state %{family_noarch}}
+ %{save_and_remove_alternatives javadocdir_%{origin} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $post_state %{family_noarch}}
+ %{save_and_remove_alternatives javadocdir_%{javaver} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $post_state %{family_noarch}}
+ %{save_and_remove_alternatives javadocdir_%{javaver}_%{origin} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $post_state %{family_noarch}}
exit 0
}
%define alternatives_javadoczip_install() %{expand:
+if [ "x$debug" == "xtrue" ] ; then
+ set -x
+fi
PRIORITY=%{priority}
if [ "%{?1}" == %{debug_suffix} ]; then
let PRIORITY=PRIORITY-1
fi
+ for X in %{origin} %{javaver} ; do
+ key=javadoczip_"$X"
+ alternatives --install %{_javadocdir}/java-"$X".zip $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $PRIORITY --family %{family_noarch}
+ %{set_if_needed_alternatives $key %{family_noarch}}
+ done
-alternatives \\
- --install %{_javadocdir}/java-zip javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip \\
- $PRIORITY --family %{name}
+ key=javadoczip_%{javaver}_%{origin}
+ alternatives --install %{_javadocdir}/java-%{javaver}-%{origin}.zip $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $PRIORITY --family %{family_noarch}
+ %{set_if_needed_alternatives $key %{family_noarch}}
+
+ # Weird legacy filename for backwards-compatibility
+ key=javadoczip
+ alternatives --install %{_javadocdir}/java-zip $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $PRIORITY --family %{family_noarch}
+ %{set_if_needed_alternatives $key %{family_noarch}}
exit 0
}
%define postun_javadoc_zip() %{expand:
- alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
+ if [ "x$debug" == "xtrue" ] ; then
+ set -x
+ fi
+ post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
+ %{save_and_remove_alternatives javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $post_state %{family_noarch}}
+ %{save_and_remove_alternatives javadoczip_%{origin} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $post_state %{family_noarch}}
+ %{save_and_remove_alternatives javadoczip_%{javaver} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $post_state %{family_noarch}}
+ %{save_and_remove_alternatives javadoczip_%{javaver}_%{origin} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $post_state %{family_noarch}}
exit 0
}
@@ -718,12 +826,9 @@ exit 0
%{_jvmdir}/%{jrelnk -- %{?1}}
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/java
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jjs
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/%{alt_java_name}
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/pack200
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmid
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/unpack200
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib
%ifarch %{jit_arches}
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/classlist
@@ -735,8 +840,7 @@ exit 0
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfont.properties.ja
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfontj2d.properties
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/tzdb.dat
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jli
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jli/libjli.so
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjli.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jvm.cfg
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libattach.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt.so
@@ -745,6 +849,9 @@ exit 0
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_headless.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libdt_socket.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfontmanager.so
+%if ! %{system_libs}
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfreetype.so
+%endif
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libinstrument.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.so
@@ -766,24 +873,26 @@ exit 0
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
# Some architectures don't have the serviceability agent
%ifarch %{sa_arches}
+%ifnarch %{zero_arches}
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
%endif
+%endif
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libunpack.so
+%ifarch %{svml_arches}
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsvml.so
+%endif
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsyslookup.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libverify.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libzip.so
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1*
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
+%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/{*.so,*.jsa}
%ifarch %{share_arches}
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
%endif
@@ -792,14 +901,16 @@ exit 0
%dir %{etcjavadir -- %{?1}}/lib
%dir %{etcjavadir -- %{?1}}/lib/security
%{etcjavadir -- %{?1}}/lib/security/cacerts
+%{etcjavadir -- %{?1}}/lib/security/cacerts.upstream
%dir %{etcjavadir -- %{?1}}/conf
+%dir %{etcjavadir -- %{?1}}/conf/sdp
%dir %{etcjavadir -- %{?1}}/conf/management
%dir %{etcjavadir -- %{?1}}/conf/security
%dir %{etcjavadir -- %{?1}}/conf/security/policy
%dir %{etcjavadir -- %{?1}}/conf/security/policy/limited
%dir %{etcjavadir -- %{?1}}/conf/security/policy/unlimited
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/default.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blacklisted.certs
+%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blocked.certs
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/public_suffix_list.dat
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/exempt_local.policy
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_local.policy
@@ -812,8 +923,9 @@ exit 0
%config(noreplace) %{etcjavadir -- %{?1}}/conf/logging.properties
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.cfg
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/jmxremote.access
-# this is conifg template, thus not config-noreplace
+# This is a config template, thus not config-noreplace
%config %{etcjavadir -- %{?1}}/conf/management/jmxremote.password.template
+%config %{etcjavadir -- %{?1}}/conf/sdp/sdp.conf.template
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/management.properties
%config(noreplace) %{etcjavadir -- %{?1}}/conf/net.properties
%config(noreplace) %{etcjavadir -- %{?1}}/conf/sound.properties
@@ -822,9 +934,8 @@ exit 0
%if %is_system_jdk
%if %{is_release_build -- %{?1}}
%ghost %{_bindir}/java
+%ghost %{_bindir}/%{alt_java_name}
%ghost %{_jvmdir}/jre
-# https://bugzilla.redhat.com/show_bug.cgi?id=1312019
-%ghost %{_bindir}/jjs
%ghost %{_bindir}/keytool
%ghost %{_bindir}/pack200
%ghost %{_bindir}/rmid
@@ -857,23 +968,23 @@ exit 0
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
# Some architectures don't have the serviceability agent
%ifarch %{sa_arches}
+%ifnarch %{zero_arches}
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
+%{_mandir}/man1/jhsdb-%{uniquesuffix -- %{?1}}.1*
+%endif
%endif
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmod
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jps
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jpackage
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jrunscript
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jshell
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstack
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstat
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstatd
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmic
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/serialver
-%ifarch %{aot_arches}
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jaotc
-%endif
%{_jvmdir}/%{sdkdir -- %{?1}}/include
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym
%if %{with_systemtap}
@@ -892,24 +1003,29 @@ exit 0
%{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jpackage-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jdeprscan-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jlink-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jmod-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jshell-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jfr-%{uniquesuffix -- %{?1}}.1*
+
%if %{with_systemtap}
-# /usr/share/systemtap belongs to systemtap
-#dir %{tapsetroot}
-#dir %{tapsetdirttapset}
-#dir %{tapsetdir}
+%dir %{tapsetroot}
+%dir %{tapsetdirttapset}
+%dir %{tapsetdir}
%{tapsetdir}/*%{_arch}%{?1}.stp
%endif
%if %is_system_jdk
%if %{is_release_build -- %{?1}}
%ghost %{_bindir}/javac
%ghost %{_jvmdir}/java
-%ghost %{_bindir}/jaotc
+%ghost %{_jvmdir}/%{alt_java_name}
%ghost %{_bindir}/jlink
%ghost %{_bindir}/jmod
%ghost %{_bindir}/jhsdb
@@ -931,7 +1047,6 @@ exit 0
%ghost %{_bindir}/jstack
%ghost %{_bindir}/jstat
%ghost %{_bindir}/jstatd
-%ghost %{_bindir}/rmic
%ghost %{_bindir}/serialver
%ghost %{_jvmdir}/java-%{origin}
%ghost %{_jvmdir}/java-%{javaver}
@@ -956,10 +1071,10 @@ exit 0
}
%define files_static_libs() %{expand:
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc/lib*.a
+%dir %{_jvmdir}/%{sdkdir -- %{?1}}/%{static_libs_root}
+%dir %{_jvmdir}/%{sdkdir -- %{?1}}/%{static_libs_arch_dir}
+%dir %{_jvmdir}/%{sdkdir -- %{?1}}/%{static_libs_install_dir}
+%{_jvmdir}/%{sdkdir -- %{?1}}/%{static_libs_install_dir}/lib*.a
}
%define files_javadoc() %{expand:
@@ -968,6 +1083,9 @@ exit 0
%if %is_system_jdk
%if %{is_release_build -- %{?1}}
%ghost %{_javadocdir}/java
+%ghost %{_javadocdir}/java-%{origin}
+%ghost %{_javadocdir}/java-%{javaver}
+%ghost %{_javadocdir}/java-%{javaver}-%{origin}
%endif
%endif
}
@@ -978,6 +1096,9 @@ exit 0
%if %is_system_jdk
%if %{is_release_build -- %{?1}}
%ghost %{_javadocdir}/java-zip
+%ghost %{_javadocdir}/java-%{origin}.zip
+%ghost %{_javadocdir}/java-%{javaver}.zip
+%ghost %{_javadocdir}/java-%{javaver}-%{origin}.zip
%endif
%endif
}
@@ -993,9 +1114,8 @@ Requires: libXcomposite%{?_isa}
Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
# for java-X-openjdk package's desktop binding
-%if 0%{?rhel} >= 8
+# Where recommendations are available, recommend Gtk+ for the Swing look and feel
Recommends: gtk3%{?_isa}
-%endif
Provides: java-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
@@ -1016,27 +1136,31 @@ Provides: jre%{?1} = %{epoch}:%{version}-%{release}
Requires: ca-certificates
# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
Requires: javapackages-filesystem
-%if %{with timezonejava}
# Require zone-info data provided by tzdata-java sub-package
-# 2020a required as of JDK-8243541 in 11.0.8+4
-Requires: tzdata-java >= 2020a
-%endif
+# 2022e required as of JDK-8295173
+Requires: timezone-java >= 2022e
+Requires: rootcerts-java
# for support of kernel stream control
# libsctp.so.1 is being `dlopen`ed on demand
Requires: lksctp-tools%{?_isa}
+%if ! 0%{?flatpak}
# tool to copy jdk's configs - should be Recommends only, but then only dnf/yum enforce it,
# not rpm transaction and so no configs are persisted when pure rpm -u is run. It may be
# considered as regression
Requires: copy-jdk-configs >= 4.0
OrderWithRequires: copy-jdk-configs
+%endif
# for printing support
Requires: cups-libs
+# for FIPS PKCS11 provider
+Requires: nss
# Post requires alternatives to install tool alternatives
-Requires(post): %{_sbindir}/alternatives
+Requires(post): %{alternatives_requires}
# Postun requires alternatives to uninstall tool alternatives
-Requires(postun): %{_sbindir}/alternatives
-# for optional support of kernel stream control, card reader and printing bindings
-Suggests: lksctp-tools%{?_isa}, pcsc-lite-devel%{?_isa}
+Requires(postun): %{alternatives_requires}
+# Where suggestions are available, recommend the sctp and pcsc libraries
+# for optional support of kernel stream control and card reader
+Suggests: lksctp-tools%{?_isa}, pcsc-lite%{?_isa}
# Standard JPackage base provides
Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
@@ -1065,7 +1189,7 @@ Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}-%{release}
-%if %{is_system_jdk} && %{devel_provides}
+%if %is_system_jdk
Provides: java-devel-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: java-devel%{?1} = %{epoch}:%{version}-%{release}
@@ -1111,10 +1235,10 @@ Requires(post): %{alternatives_requires}
Requires(postun): %{alternatives_requires}
# Standard JPackage javadoc provides
-Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-%{origin}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
%if %is_system_jdk
-Provides: java-javadoc%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
%endif
}
@@ -1133,7 +1257,7 @@ Provides: java-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
# Prevent brp-java-repack-jars from being run
%global __jar_repack 0
-Name: java-%{javaver}-%{origin}
+Name: java-17-%{origin}
Version: %{newjavaver}.%{buildver}
Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
@@ -1148,7 +1272,8 @@ Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
Epoch: 1
Summary: %{origin_nice} %{featurever} Runtime Environment
-Group: Development/Java
+# Groups are only used up to RHEL 8 and on Fedora versions prior to F30
+Group: Development/Java
# HotSpot code is licensed under GPLv2
# JDK library code is licensed under GPLv2 with the Classpath exception
@@ -1168,9 +1293,15 @@ License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv
URL: http://openjdk.java.net/
-# to regenerate source0 (jdk) run update_package.sh
-# update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives
-Source0: jdk-updates-jdk%{featurever}u-jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}-4curve-clean.tar.xz
+# The source tarball, generated using generate_source_tarball.sh
+Source0: openjdk-jdk%{featurever}u-%{vcstag}.tar.xz
+%if %{with bootstrap}
+Source1: OpenJDK-17.0.2+8-i686-bin.tar.xz
+Source2: jdk-17.0.4.1_linux-aarch64_bin.tar.gz
+Source3: jdk-17.0.4.1_linux-x64_bin.tar.gz
+%endif
+
+Source5: java-17-openjdk.rpmlintrc
# Use 'icedtea_sync.sh' to update the following
# They are based on code contained in the IcedTea project (6.x).
@@ -1189,101 +1320,51 @@ Source11: nss.cfg.in
# Removed libraries that we link instead
Source12: remove-intree-libraries.sh
-# Ensure we aren't using the limited crypto policy
-Source13: TestCryptoLevel.java
-
# Ensure ECDSA is working
Source14: TestECDSA.java
-# Verify system crypto (policy) can be disabled via a property
-Source15: TestSecurityProperties.java
-
-# ROSA-specific
-Source300: %{name}.rpmlintrc
-
-# Binary JDK for buolding with_bootstrap
-# Only Liberica JDK provides binaries for x86_32
-# Gentoo uses https://github.com/AdoptOpenJDK/openjdk11-upstream-binaries/releases, there is no x86_32 there
-# Using https://libericajdk.ru/pages/downloads/#/java-11-lts -> "Standard JDK"
-# x86_32
-Source301: https://download.bell-sw.com/java/11.0.10+9/bellsoft-jdk11.0.10+9-linux-i586.tar.gz
-# x86_64
-Source302: https://download.bell-sw.com/java/11.0.10+9/bellsoft-jdk11.0.10+9-linux-amd64.tar.gz
-# aarch64
-Source303: https://download.bell-sw.com/java/11.0.10+9/bellsoft-jdk11.0.10+9-linux-aarch64.tar.gz
-
-%ifarch %{ix86}
-%define bootstrap_jdk_source_num 301
-%endif
-%ifarch %{x86_64}
-%define bootstrap_jdk_source_num 302
-%endif
-%ifarch aarch64
-%define bootstrap_jdk_source_num 303
-%endif
-
-
# Ensure vendor settings are correct
Source16: CheckVendor.java
+# Ensure translations are available for new timezones
+Source18: TestTranslations.java
+
+ExcludeArch: i686
+
############################################
#
# RPM/distribution specific patches
#
############################################
+# NSS via SunPKCS11 Provider (disabled comment
+# due to memory leak).
+Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
+# RH1750419: enable build of speculative store bypass hardened alt-java (CVE-2018-3639)
+Patch600: rh1750419-redhat_alt_java.patch
+
# Ignore AWTError when assistive technologies are loaded
Patch1: rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
# Restrict access to java-atk-wrapper classes
Patch2: rh1648644-java_access_bridge_privileged_security.patch
-# NSS via SunPKCS11 Provider (disabled due to memory leak).
-Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
-
-
-#############################################
-#
-# Shenandoah specific patches
-#
-#############################################
-
-# Currently empty
-
-#############################################
-#
-# Upstreamable patches
-#
-# This section includes patches which need to
-# be reviewed & pushed to the current development
-# tree of OpenJDK.
-#############################################
-
Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch
-# PR3694, RH1340845: Add security.useSystemPropertiesFile option to java.security to use system crypto policy
-Patch4: pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch
+# Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo
+Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch
#############################################
#
-# Patches appearing in 11.0.13
+# OpenJDK patches in need of upstreaming
#
-# This section includes patches which are present
-# in the listed OpenJDK 11u release and should be
-# able to be removed once that release is out
-# and used by this RPM.
#############################################
-# JDK-8269668, RH1977671: [aarch64] java.library.path not including /usr/lib64
-Patch8: jdk8269668-rh1977671-aarch64_lib_path_fix.patch
-# ROSA patch
-Patch10: clang_stack.patch
-Patch11: JDK-8186780.patch
+#############################################
+#
+# OpenJDK patches targetted for 17.0.6
+#
+#############################################
+# JDK-8293834: Update CLDR data following tzdata 2022c update
+Patch2001: jdk8293834-kyiv_cldr_update.patch
-# aarch64
-Patch12: JDK-8211029.patch
-Patch13: JDK-8211170.patch
-
-%if %{with clang}
-BuildRequires: clang
-%endif
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: binutils
@@ -1321,21 +1402,40 @@ BuildRequires: javapackages-filesystem
BuildRequires: java-%{buildjdkver}-openjdk-devel
%endif
# Zero-assembler build requirement
-%ifnarch %{jit_arches}
+%ifarch %{zero_arches}
BuildRequires: pkgconfig(libffi)
%endif
-%if %{with timezonejava}
-# 2021a required as of JDK-8260356 in April 2021 CPU
-BuildRequires: tzdata-java >= 2021a
-%endif
-BuildRequires: gcc
-BuildRequires: make
-
+# 2022e required as of JDK-8295173
+BuildRequires: timezone-java
+BuildRequires: rootcerts-java
%if %{with_systemtap}
BuildRequires: systemtap-devel
%endif
+BuildRequires: make
-ExcludeArch: i686
+%if %{system_libs}
+BuildRequires: freetype-devel
+BuildRequires: giflib-devel
+BuildRequires: harfbuzz-devel
+BuildRequires: lcms2-devel
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
+%else
+# Version in src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
+Provides: bundled(freetype) = 2.12.1
+# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
+Provides: bundled(giflib) = 5.2.1
+# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
+Provides: bundled(harfbuzz) = 4.4.1
+# Version in src/java.desktop/share/native/liblcms/lcms2.h
+Provides: bundled(lcms2) = 2.12.0
+# Version in src/java.desktop/share/native/libjavajpeg/jpeglib.h
+Provides: bundled(libjpeg) = 6b
+# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
+Provides: bundled(libpng) = 1.6.37
+# We link statically against libstdc++ to increase portability
+BuildRequires: libstdc++-static-devel
+%endif
# this is always built, also during debug-only build
# when it is built in debug-only this package is just placeholder
@@ -1347,11 +1447,11 @@ The %{origin_nice} %{featurever} runtime environment.
%if %{include_debug_build}
%package slowdebug
Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
-Group: Development/Java
+Group: Development/Java
%{java_rpo -- %{debug_suffix_unquoted}}
%description slowdebug
-The %{origin_nice} runtime environment.
+The %{origin_nice} %{featurever} runtime environment.
%{debug_warning}
%endif
@@ -1359,8 +1459,8 @@ The %{origin_nice} runtime environment.
%package fastdebug
Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on}
Group: Development/Java
-%{java_rpo -- %{fastdebug_suffix_unquoted}}
+%{java_rpo -- %{fastdebug_suffix_unquoted}}
%description fastdebug
The %{origin_nice} %{featurever} runtime environment.
%{fastdebug_warning}
@@ -1369,7 +1469,7 @@ The %{origin_nice} %{featurever} runtime environment.
%if %{include_normal_build}
%package headless
Summary: %{origin_nice} %{featurever} Headless Runtime Environment
-Group: Development/Java
+Group: Development/Java
%{java_headless_rpo %{nil}}
@@ -1380,6 +1480,7 @@ The %{origin_nice} %{featurever} runtime environment without audio and video sup
%if %{include_debug_build}
%package headless-slowdebug
Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
+Group: Development/Java
%{java_headless_rpo -- %{debug_suffix_unquoted}}
@@ -1403,7 +1504,7 @@ The %{origin_nice} %{featurever} runtime environment without audio and video sup
%if %{include_normal_build}
%package devel
Summary: %{origin_nice} %{featurever} Development Environment
-Group: Development/Java
+Group: Development/Java
%{java_devel_rpo %{nil}}
@@ -1414,7 +1515,7 @@ The %{origin_nice} %{featurever} development tools.
%if %{include_debug_build}
%package devel-slowdebug
Summary: %{origin_nice} %{featurever} Development Environment %{debug_on}
-Group: Development/Java
+Group: Development/Java
%{java_devel_rpo -- %{debug_suffix_unquoted}}
@@ -1431,7 +1532,7 @@ Group: Development/Java
%{java_devel_rpo -- %{fastdebug_suffix_unquoted}}
%description devel-fastdebug
-The %{origin_nice} %{featurever} development tools.
+The %{origin_nice} %{featurever} development tools .
%{fastdebug_warning}
%endif
@@ -1440,30 +1541,27 @@ The %{origin_nice} %{featurever} development tools.
%if %{include_normal_build}
%package static-libs
Summary: %{origin_nice} %{featurever} libraries for static linking
-Group: Development/Java
%{java_static_libs_rpo %{nil}}
%description static-libs
-The %{origin_nice} %{featurever} libraries for static linking
+The %{origin_nice} %{featurever} libraries for static linking.
%endif
%if %{include_debug_build}
%package static-libs-slowdebug
Summary: %{origin_nice} %{featurever} libraries for static linking %{debug_on}
-Group: Development/Java
%{java_static_libs_rpo -- %{debug_suffix_unquoted}}
%description static-libs-slowdebug
-The %{origin_nice} %{featurever} libraries for static linking
+The %{origin_nice} %{featurever} libraries for static linking.
%{debug_warning}
%endif
%if %{include_fastdebug_build}
%package static-libs-fastdebug
Summary: %{origin_nice} %{featurever} libraries for static linking %{fastdebug_on}
-Group: Development/Java
%{java_static_libs_rpo -- %{fastdebug_suffix_unquoted}}
@@ -1478,7 +1576,7 @@ The %{origin_nice} %{featurever} libraries for static linking.
%if %{include_normal_build}
%package jmods
Summary: JMods for %{origin_nice} %{featurever}
-Group: Development/Java
+Group: Development/Java
%{java_jmods_rpo %{nil}}
@@ -1486,6 +1584,18 @@ Group: Development/Java
The JMods for %{origin_nice} %{featurever}.
%endif
+%if %{include_debug_build}
+%package jmods-slowdebug
+Summary: JMods for %{origin_nice} %{featurever} %{debug_on}
+Group: Development/Java
+
+%{java_jmods_rpo -- %{debug_suffix_unquoted}}
+
+%description jmods-slowdebug
+The JMods for %{origin_nice} %{featurever}.
+%{debug_warning}
+%endif
+
%if %{include_fastdebug_build}
%package jmods-fastdebug
Summary: JMods for %{origin_nice} %{featurever} %{fastdebug_on}
@@ -1498,22 +1608,10 @@ The JMods for %{origin_nice} %{featurever}.
%{fastdebug_warning}
%endif
-%if %{include_debug_build}
-%package jmods-slowdebug
-Summary: JMods for %{origin_nice} %{debug_on}
-Group: Development/Java
-
-%{java_jmods_rpo -- %{debug_suffix_unquoted}}
-
-%description jmods-slowdebug
-The JMods for %{origin_nice} %{featurever}.
-%{debug_warning}
-%endif
-
%if %{include_normal_build}
%package demo
-Summary: %{origin_nice} %{featurever} Demos\
-Group: Development/Java
+Summary: %{origin_nice} %{featurever} Demos
+Group: Development/Java
%{java_demo_rpo %{nil}}
@@ -1524,7 +1622,7 @@ The %{origin_nice} %{featurever} demos.
%if %{include_debug_build}
%package demo-slowdebug
Summary: %{origin_nice} %{featurever} Demos %{debug_on}
-Group: Development/Java
+Group: Development/Java
%{java_demo_rpo -- %{debug_suffix_unquoted}}
@@ -1548,7 +1646,7 @@ The %{origin_nice} %{featurever} demos.
%if %{include_normal_build}
%package src
Summary: %{origin_nice} %{featurever} Source Bundle
-Group: Development/Java
+Group: Development/Java
%{java_src_rpo %{nil}}
@@ -1560,7 +1658,7 @@ class library source code for use by IDE indexers and debuggers.
%if %{include_debug_build}
%package src-slowdebug
Summary: %{origin_nice} %{featurever} Source Bundle %{for_debug}
-Group: Development/Java
+Group: Development/Java
%{java_src_rpo -- %{debug_suffix_unquoted}}
@@ -1584,22 +1682,25 @@ The %{compatiblename}-src-fastdebug sub-package contains the complete %{origin_n
%if %{include_normal_build}
%package javadoc
Summary: %{origin_nice} %{featurever} API documentation
-Group: Development/Java
+Group: Documentation
Requires: javapackages-filesystem
-Obsoletes: javadoc-slowdebug < 1:11.0.3.7-4
+Obsoletes: javadoc-slowdebug < 1:13.0.0.33-1.rolling
-%{java_javadoc_rpo %{nil}}
+%{java_javadoc_rpo -- %{nil} %{nil}}
%description javadoc
The %{origin_nice} %{featurever} API documentation.
+%endif
+%if %{include_normal_build}
%package javadoc-zip
Summary: %{origin_nice} %{featurever} API documentation compressed in a single archive
-Group: Development/Java
+Group: Documentation
Requires: javapackages-filesystem
-Obsoletes: javadoc-zip-slowdebug < 1:11.0.3.7-4
+Obsoletes: javadoc-zip-slowdebug < 1:13.0.0.33-1.rolling
-%{java_javadoc_rpo %{nil}}
+%{java_javadoc_rpo -- %{nil} -zip}
+%{java_javadoc_rpo -- %{nil} %{nil}}
%description javadoc-zip
The %{origin_nice} %{featurever} API documentation compressed in a single archive.
@@ -1607,6 +1708,8 @@ The %{origin_nice} %{featurever} API documentation compressed in a single archiv
%prep
+echo "Preparing %{oj_vendor_version}"
+
# Using the echo macro breaks rpmdev-bumpspec, as it parses the first line of stdout :-(
%if 0%{?stapinstall:1}
echo "CPU: %{_target_cpu}, arch install directory: %{archinstall}, SystemTap install directory: %{stapinstall}"
@@ -1636,7 +1739,7 @@ if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 -a %{includ
echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go."
exit 14
fi
-%setup -q -c -n %{uniquesuffix ""} -T -a 0 %{?with_bootstrap:-b %{bootstrap_jdk_source_num}}
+%setup -q -c -n %{uniquesuffix ""} -T -a 0
# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
prioritylength=`expr length %{priority}`
if [ $prioritylength -ne 8 ] ; then
@@ -1644,29 +1747,58 @@ if [ $prioritylength -ne 8 ] ; then
exit 14
fi
+%if %{with bootstrap}
+%ifarch %{ix86}
+tar xf %{S:1} -C %{_builddir}
+%endif
+%ifarch aarch64
+tar xf %{S:2} -C %{_builddir}
+%endif
+%ifarch %{x86_64}
+tar xf %{S:3} -C %{_builddir}
+%endif
+%endif
+
# OpenJDK patches
+%if %{system_libs}
# Remove libraries that are linked by both static and dynamic builds
sh %{SOURCE12} %{top_level_dir_name}
+%endif
# Patch the JDK
pushd %{top_level_dir_name}
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
-%patch8 -p1
-%if %{with clang}
-%patch10 -p1
-%patch11 -p1
-%endif
-%ifarch aarch64
-%patch12 -p1
-%patch13 -p1
-%endif
+%patch6 -p1
+# nss.cfg PKCS11 support; must come last as it also alters java.security
+%patch1000 -p1
+# tzdata updates targetted for 17.0.6
+%patch2001 -p1
popd # openjdk
-%patch1000
+%patch600
+
+# The OpenJDK version file includes the current
+# upstream version information. For some reason,
+# configure does not automatically use the
+# default pre-version supplied there (despite
+# what the file claims), so we pass it manually
+# to configure
+VERSION_FILE=$(pwd)/%{top_level_dir_name}/make/conf/version-numbers.conf
+if [ -f ${VERSION_FILE} ] ; then
+ UPSTREAM_EA_DESIGNATOR=$(grep '^DEFAULT_PROMOTED_VERSION_PRE' ${VERSION_FILE} | cut -d '=' -f 2)
+else
+ echo "Could not find OpenJDK version file.";
+ exit 16
+fi
+if [ "x${UPSTREAM_EA_DESIGNATOR}" != "x%{ea_designator}" ] ; then
+ echo "WARNING: Designator mismatch";
+ echo "Spec file is configured for a %{build_type} build with designator '%{ea_designator}'"
+ echo "Upstream version-pre setting is '${UPSTREAM_EA_DESIGNATOR}'";
+ exit 17
+fi
# Extract systemtap tapsets
%if %{with_systemtap}
@@ -1718,17 +1850,10 @@ done
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
%build
-%if %{with clang}
-export CC="clang"
-export CXX="clang++"
-%endif
+
# How many CPU's do we have?
-export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
-export NUM_PROC=${NUM_PROC:-1}
-%if 0%{?_smp_ncpus_max}
-# Honor %%_smp_ncpus_max
-[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
-%endif
+NUM_PROC="$(getconf _NPROCESSORS_ONLN)"
+[ -n "$NUM_PROC" ] && %(expr $NUM_PROC / 2 )
%ifarch s390x sparc64 alpha %{power64} %{aarch64}
export ARCH_DATA_MODEL=64
@@ -1739,60 +1864,56 @@ export CFLAGS="$CFLAGS -mieee"
# We use ourcppflags because the OpenJDK build seems to
# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
-EXTRA_CFLAGS="%ourcppflags -Wno-error"
+# Explicitly set the C++ standard as the default has changed on GCC >= 6
+EXTRA_CFLAGS="%ourcppflags"
EXTRA_CPP_FLAGS="%ourcppflags"
%ifarch %{power64} ppc
# fix rpmlint warnings
EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
%endif
-%if %{without clang}
-# Fixes annocheck warnings in assembler files due to missing build notes
-EXTRA_ASFLAGS="${EXTRA_CFLAGS} -Wa,--generate-missing-build-notes=yes"
-%else
-EXTRA_ASFLAGS="${EXTRA_CFLAGS}"
+%ifarch %{ix86}
+# Align stack boundary on x86_32
+EXTRA_CFLAGS="$(echo ${EXTRA_CFLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
+EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
%endif
-export EXTRA_CFLAGS EXTRA_ASFLAGS
+export EXTRA_CFLAGS EXTRA_CPP_FLAGS
-for suffix in %{build_loop} ; do
-if [ "x$suffix" = "x" ] ; then
- debugbuild=release
- debug_symbols=internal
-else
- # change --something to something
- debugbuild=`echo $suffix | sed "s/-//g"`
- debug_symbols=internal
-fi
+function buildjdk() {
+ local outputdir=${1}
+ local buildjdk=${2}
+ local maketargets="${3}"
+ local debuglevel=${4}
+ local link_opt=${5}
-for loop in %{main_suffix} %{staticlibs_loop} ; do
+ local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
+ local top_dir_abs_build_path=$(pwd)/${outputdir}
-if test "x${loop}" = "x%{main_suffix}" ; then
- # Copy the source tree so we can remove all in-tree libraries
- cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
- # Remove all libraries that are linked
- sh %{SOURCE12} %{top_level_dir_name} full
- # Variable used by configure and hs_err hook on build failures
- link_opt="system"
- # Debug builds don't need same targets as release for
- # build speed-up
- maketargets="%{release_targets}"
- if echo $debugbuild | grep -q "debug" ; then
- maketargets="%{debug_targets}"
+ # This must be set using the global, so that the
+ # static libraries still use a dynamic stdc++lib
+ if [ "x%{link_type}" = "xbundled" ] ; then
+ libc_link_opt="static";
+ else
+ libc_link_opt="dynamic";
fi
-else
- # Variable used by configure and hs_err hook on build failures
- link_opt="bundled"
- # Static library cycle only builds the static libraries
- maketargets="%{static_libs_target}"
-fi
-top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
-top_dir_abs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}${loop}}
-mkdir -p ${top_dir_abs_build_path}
-pushd ${top_dir_abs_build_path}
+ echo "Using output directory: ${outputdir}";
+ echo "Checking build JDK ${buildjdk} is operational..."
+ ${buildjdk}/bin/java -version
+ echo "Using make targets: ${maketargets}"
+ echo "Using debuglevel: ${debuglevel}"
+ echo "Using link_opt: ${link_opt}"
+ echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
-bash ${top_dir_abs_src_path}/configure \
-%ifnarch %{jit_arches}
+ mkdir -p ${outputdir}
+ pushd ${outputdir}
+
+ # Note: zlib and freetype use %{link_type}
+ # rather than ${link_opt} as the system versions
+ # are always used in a system_libs build, even
+ # for the static library build
+ bash ${top_dir_abs_src_path}/configure \
+%ifarch %{zero_arches}
--with-jvm-variants=zero \
%endif
%ifarch %{ppc64le}
@@ -1801,211 +1922,237 @@ bash ${top_dir_abs_src_path}/configure \
--with-version-build=%{buildver} \
--with-version-pre="%{ea_designator}" \
--with-version-opt=%{lts_designator} \
- --with-vendor-version-string="%{vendor_version_string}" \
+ --with-vendor-version-string="%{oj_vendor_version}" \
--with-vendor-name="%{oj_vendor}" \
--with-vendor-url="%{oj_vendor_url}" \
--with-vendor-bug-url="%{oj_vendor_bug_url}" \
--with-vendor-vm-bug-url="%{oj_vendor_bug_url}" \
-%if ! %{with bootstrap}
- --with-boot-jdk=/usr/lib/jvm/java-%{buildjdkver}-openjdk \
-%else
- --with-boot-jdk="%{_builddir}/jdk-11.0.10" \
-%endif
- --with-debug-level=$debugbuild \
- --with-native-debug-symbols=$debug_symbols \
+ --with-boot-jdk=${buildjdk} \
+ --with-debug-level=${debuglevel} \
+ --with-native-debug-symbols="%{debug_symbols}" \
--enable-unlimited-crypto \
- --with-zlib=${link_opt} \
+ --with-zlib=%{link_type} \
+ --with-freetype=%{link_type} \
--with-libjpeg=${link_opt} \
--with-giflib=${link_opt} \
--with-libpng=${link_opt} \
--with-lcms=${link_opt} \
--with-harfbuzz=${link_opt} \
- --with-stdc++lib=dynamic \
+ --with-stdc++lib=${libc_link_opt} \
--with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
--with-extra-cflags="$EXTRA_CFLAGS" \
- --with-extra-asflags="$EXTRA_ASFLAGS" \
--with-extra-ldflags="%{ourldflags}" \
--with-num-cores="$NUM_PROC" \
+ --with-source-date="${SOURCE_DATE_EPOCH}" \
--disable-javac-server \
- --with-jvm-features="%{shenandoah_feature},%{zgc_feature}" \
- --disable-warnings-as-errors \
-%if %{with clang}
- --with-toolchain-type="clang" \
+%ifarch %{zgc_arches}
+ --with-jvm-features=zgc \
%endif
- %{nil}
+ --disable-warnings-as-errors
-make \
- JAVAC_FLAGS=-g \
- LOG=trace \
- WARNINGS_ARE_ERRORS="-Wno-error" \
- CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
- $maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
+ cat spec.gmk
-popd
+ make \
+ LOG=trace \
+ WARNINGS_ARE_ERRORS="-Wno-error" \
+ CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
+ $maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
-# Restore original source tree if we modified it by removing full in-tree sources
-if [ -d %{top_level_dir_name_backup} ] ; then
- rm -rf %{top_level_dir_name}
- mv %{top_level_dir_name_backup} %{top_level_dir_name}
-fi
+ popd
+}
-done # end of main / staticlibs loop
+function installjdk() {
+ local imagepath=${1}
-top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
+ if [ -d ${imagepath} ] ; then
+ # the build (erroneously) removes read permissions from some jars
+ # this is a regression in OpenJDK 7 (our compiler):
+ # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
+ find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
-# the build (erroneously) removes read permissions from some jars
-# this is a regression in OpenJDK 7 (our compiler):
-# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
-find ${top_dir_abs_main_build_path}/images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
+ # Build screws up permissions on binaries
+ # https://bugs.openjdk.java.net/browse/JDK-8173610
+ find ${imagepath} -iname '*.so' -exec chmod +x {} \;
+ find ${imagepath}/bin/ -exec chmod +x {} \;
-# Build screws up permissions on binaries
-# https://bugs.openjdk.java.net/browse/JDK-8173610
-find ${top_dir_abs_main_build_path}/images/%{jdkimage} -iname '*.so' -exec chmod +x {} \;
-find ${top_dir_abs_main_build_path}/images/%{jdkimage}/bin/ -exec chmod +x {} \;
+ # Install nss.cfg right away as we will be using the JRE above
+ install -m 644 nss.cfg ${imagepath}/conf/security/
-# Install nss.cfg right away as we will be using the JRE above
-export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
-
-# Install nss.cfg right away as we will be using the JRE above
-install -m 644 nss.cfg $JAVA_HOME/conf/security/
-
-%if %{with timezonejava}
-# Use system-wide tzdata
-rm $JAVA_HOME/lib/tzdb.dat
-ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/lib/tzdb.dat
+ # Turn on system security properties
+ sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
+ ${imagepath}/conf/security/java.security
+%if 0
+ # Use system-wide tzdata
+ mv ${imagepath}/lib/tzdb.dat{,.upstream}
+ ln -sv %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat
%endif
+ # Rename OpenJDK cacerts database
+ mv ${imagepath}/lib/security/cacerts{,.upstream}
+ # Install cacerts symlink needed by some apps which hard-code the path
+ ln -sv /etc/pki/java/cacerts ${imagepath}/lib/security
-# build cycles
-done # end of release / debug cycle loop
-
-%check
-
-# We test debug first as it will give better diagnostics on a crash
-for suffix in %{build_loop} ; do
-
-top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
-%if %{include_staticlibs}
-top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_loop}}
-%endif
-
-export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
-
-#check Shenandoah is enabled
-%if %{use_shenandoah_hotspot}
-$JAVA_HOME//bin/java -XX:+UseShenandoahGC -version
-%endif
-
-# Check unlimited policy has been used
-$JAVA_HOME/bin/javac -d . %{SOURCE13}
-$JAVA_HOME/bin/java --add-opens java.base/javax.crypto=ALL-UNNAMED TestCryptoLevel
-
-# Check ECC is working
-$JAVA_HOME/bin/javac -d . %{SOURCE14}
-$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
-
-# Check system crypto (policy) can be disabled
-$JAVA_HOME/bin/javac -d . %{SOURCE15}
-$JAVA_HOME/bin/java -Djava.security.disableSystemPropertiesFile=true $(echo $(basename %{SOURCE15})|sed "s|\.java||")
-
-# Check correct vendor values have been set
-$JAVA_HOME/bin/javac -d . %{SOURCE16}
-$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}"
-
-# Check java launcher has no SSB mitigation
-if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
-
-%if %{include_staticlibs}
-# Check debug symbols in static libraries (smoke test)
-export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}
-readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
-readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c
-%endif
-
-so_suffix="so"
-# Check debug symbols are present and can identify code
-find "$JAVA_HOME" -iname "*.$so_suffix" -print0 | while read -d $'\0' lib
-do
- if [ -f "$lib" ] ; then
- echo "Testing $lib for debug symbols"
- # All these tests rely on RPM failing the build if the exit code of any set
- # of piped commands is non-zero.
-
- # Test for .debug_* sections in the shared object. This is the main test
- # Stripped objects will not contain these
- eu-readelf -S "$lib" | grep "] .debug_"
- test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
-
- # Test FILE symbols. These will most likely be removed by anything that
- # manipulates symbol tables because it's generally useless. So a nice test
- # that nothing has messed with symbols
- old_IFS="$IFS"
- IFS=$'\n'
- for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
- do
- # We expect to see .cpp files, except for architectures like aarch64 and
- # s390 where we expect .o and .oS files
- echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|oS))?$"
- done
- IFS="$old_IFS"
-
- # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
- if [ "`basename $lib`" = "libjvm.so" ]; then
- eu-readelf -s "$lib" | \
- grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$"
+ # Create fake alt-java as a placeholder for future alt-java
+ pushd ${imagepath}
+ # add alt-java man page
+ echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
+ cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
+ popd
fi
+}
- # Test that there are no .gnu_debuglink sections pointing to another
- # debuginfo file. There shouldn't be any debuginfo files, so the link makes
- # no sense either
- eu-readelf -S "$lib" | grep 'gnu'
- if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
- echo "bad .gnu_debuglink section."
- eu-readelf -x .gnu_debuglink "$lib"
- false
- fi
- fi
-done
+# Checks on debuginfo must be performed before the files are stripped
+# by the RPM installation stage
+function debugcheckjdk() {
+ local imagepath=${1}
-# Make sure gdb can do a backtrace based on line numbers on libjvm.so
-# javaCalls.cpp:58 should map to:
-# http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/share/vm/runtime/javaCalls.cpp#l58
-# Using line number 1 might cause build problems. See:
-# https://bugzilla.redhat.com/show_bug.cgi?id=1539664
-# https://bugzilla.redhat.com/show_bug.cgi?id=1538767
-gdb -q "$JAVA_HOME/bin/java" < 0
-# This fails on s390x for some reason. Disable for now. See:
-# https://koji.fedoraproject.org/koji/taskinfo?taskID=41499227
-%ifnarch s390x
-grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
-%endif
+%ifarch %{gdb_arches}
+ grep -irnH 'JavaCallWrapper::JavaCallWrapper' gdb.out || :
%endif
-# Check src.zip has all sources. See RHBZ#1130490
-$JAVA_HOME/bin/jar -tf $JAVA_HOME/lib/src.zip | grep 'sun.misc.Unsafe'
+ fi
+}
-# Check class files include useful debugging information
-$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
-$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
-$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
+%if %{build_hotspot_first}
+ # Build a fresh libjvm.so first and use it to bootstrap
+ cp -LR --preserve=mode,timestamps %{bootjdk} newboot
+ systemjdk=$(pwd)/newboot
+ buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled"
+ mv build/newboot/jdk/lib/server/libjvm.so newboot/lib/server
+%else
+ systemjdk=%{bootjdk}
+%endif
-# Check generated class files include useful debugging information
-$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
-$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
-$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
+for suffix in %{build_loop} ; do
-# build cycles check
-done
+ if [ "x$suffix" = "x" ] ; then
+ debugbuild=release
+ else
+ # change --something to something
+ debugbuild=`echo $suffix | sed "s/-//g"`
+ fi
+
+
+ for loop in %{main_suffix} %{staticlibs_loop} ; do
+
+ builddir=%{buildoutputdir -- ${suffix}${loop}}
+ bootbuilddir=boot${builddir}
+
+ if test "x${loop}" = "x%{main_suffix}" ; then
+ link_opt="%{link_type}"
+%if %{system_libs}
+ # Copy the source tree so we can remove all in-tree libraries
+ cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
+ # Remove all libraries that are linked
+ sh %{SOURCE12} %{top_level_dir_name} full
+%endif
+ # Debug builds don't need same targets as release for
+ # build speed-up. We also avoid bootstrapping these
+ # slower builds.
+ if echo $debugbuild | grep -q "debug" ; then
+ maketargets="%{debug_targets}"
+ run_bootstrap=false
+ else
+ maketargets="%{release_targets}"
+ run_bootstrap=%{bootstrap_build}
+ fi
+ if ${run_bootstrap} ; then
+ buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt}
+ buildjdk ${builddir} $(pwd)/${bootbuilddir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
+ rm -rf ${bootbuilddir}
+ else
+ buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
+ fi
+%if %{system_libs}
+ # Restore original source tree we modified by removing full in-tree sources
+ rm -rf %{top_level_dir_name}
+ mv %{top_level_dir_name_backup} %{top_level_dir_name}
+%endif
+ else
+ # Use bundled libraries for building statically
+ link_opt="bundled"
+ # Static library cycle only builds the static libraries
+ maketargets="%{static_libs_target}"
+ # Always just do the one build for the static libraries
+ buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
+ fi
+
+ done # end of main / staticlibs loop
+
+ # Final setup on the main image
+ top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
+ installjdk ${top_dir_abs_main_build_path}/images/%{jdkimage}
+ # Check debug symbols were built into the dynamic libraries
+ debugcheckjdk ${top_dir_abs_main_build_path}/images/%{jdkimage}
+
+ # Print release information
+ cat ${top_dir_abs_main_build_path}/images/%{jdkimage}/release
+
+# build cycles
+done # end of release / debug cycle loop
%install
STRIP_KEEP_SYMTAB=libjvm*
@@ -2035,17 +2182,10 @@ pushd ${jdk_image}
install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
for name in $tapsetFiles ; do
targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
- ln -sf %{_jvmdir}/%{sdkdir -- $suffix}/tapset/$name $RPM_BUILD_ROOT%{tapsetdir}/$targetName
+ ln -srvf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/$name $RPM_BUILD_ROOT%{tapsetdir}/$targetName
done
%endif
- # Remove empty cacerts database
- rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/security/cacerts
- # Install cacerts symlink needed by some apps which hard-code the path
- pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/security
- ln -sf /etc/pki/java/cacerts .
- popd
-
# Install version-ed symlinks
pushd $RPM_BUILD_ROOT%{_jvmdir}
ln -sf %{sdkdir -- $suffix} %{jrelnk -- $suffix}
@@ -2065,11 +2205,12 @@ pushd ${jdk_image}
rm -rf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/man
popd
+
# Install static libs artefacts
%if %{include_staticlibs}
-mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
+mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/%{static_libs_install_dir}
cp -a ${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}/lib/*.a \
- $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
+ $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/%{static_libs_install_dir}
%endif
if ! echo $suffix | grep -q "debug" ; then
@@ -2114,21 +2255,81 @@ mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/conf/ $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib/security $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}
- ln -s %{etcjavadir -- $suffix}/conf ./conf
+ ln -srv $RPM_BUILD_ROOT%{etcjavadir -- $suffix}/conf ./conf
popd
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib
- ln -s %{etcjavadir -- $suffix}/lib/security ./security
+ ln -srv $RPM_BUILD_ROOT%{etcjavadir -- $suffix}/lib/security ./security
popd
# end moving files to /etc
# stabilize permissions
-find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ;
-find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ;
-find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/legal -type f -exec chmod 644 {} \; ;
+find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ;
+find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ;
+find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/legal -type f -exec chmod 644 {} \; ;
# end, dual install
done
+%check
+
+# We test debug first as it will give better diagnostics on a crash
+for suffix in %{build_loop} ; do
+
+# Tests in the check stage are performed on the installed image
+# rpmbuild operates as follows: build -> install -> test
+export JAVA_HOME=${RPM_BUILD_ROOT}%{_jvmdir}/%{sdkdir -- $suffix}
+
+#check Shenandoah is enabled
+%if %{use_shenandoah_hotspot}
+$JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version
+%endif
+
+# Check ECC is working
+$JAVA_HOME/bin/javac -d . %{SOURCE14}
+$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
+
+# Check java launcher has no SSB mitigation
+if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
+
+# Check alt-java launcher has SSB mitigation on supported architectures
+%ifarch %{ssbd_arches}
+nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation
+%else
+if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi
+%endif
+
+# Check correct vendor values have been set
+$JAVA_HOME/bin/javac -d . %{SOURCE16}
+$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
+
+# Check translations are available for new timezones
+$JAVA_HOME/bin/javac -d . %{SOURCE18}
+$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE
+$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR
+
+%if %{include_staticlibs}
+# Check debug symbols in static libraries (smoke test)
+export STATIC_LIBS_HOME=${JAVA_HOME}/%{static_libs_install_dir}
+readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep w_remainder.c
+readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep e_remainder.c
+%endif
+
+# Check src.zip has all sources. See RHBZ#1130490
+$JAVA_HOME/bin/jar -tf $JAVA_HOME/lib/src.zip | grep 'sun.misc.Unsafe'
+
+# Check class files include useful debugging information
+$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
+$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
+$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
+
+# Check generated class files include useful debugging information
+$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
+$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
+$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
+
+# build cycles check
+done
+
%if %{include_normal_build}
# intentionally only for non-debug
%pretrans headless -p
@@ -2144,7 +2345,7 @@ local posix = require "posix"
if (os.getenv("debug") == "true") then
debug = true;
print("cjc: in spec debug is on")
-else
+else
debug = false;
end
@@ -2178,28 +2379,6 @@ arg = nil ; -- it is better to null the arg up, no meter if they exists or not,
cjc = require "copy_jdk_configs.lua"
args = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"}
cjc.mainProgram(args)
--- the returns from copy_jdk_configs.lua should not affect this 'main', so it shodl run under all circumstances, except fatal error
--- https://bugzilla.redhat.com/show_bug.cgi?id=1820172
--- https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/
--- Define the path to directory being replaced below.
--- DO NOT add a trailing slash at the end.
-path1 = "%{_jvmdir}/%{sdkdir -- %{nil}}/conf"
-path2 = "%{_jvmdir}/%{sdkdir -- %{nil}}/lib/security"
-array = {path1, path2}
-for index, path in pairs(array) do
- st = posix.stat(path)
- if st and st.type == "directory" then
- status = os.rename(path, path .. ".rpmmoved")
- if not status then
- suffix = 0
- while not status do
- suffix = suffix + 1
- status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix)
- end
- os.rename(path, path .. ".rpmmoved")
- end
- end
-end
%post
%{post_script %{nil}}
@@ -2393,3 +2572,4 @@ end
%{files_src -- %{fastdebug_suffix_unquoted}}
%endif
+
diff --git a/jconsole.desktop.in b/jconsole.desktop.in
index e5a0c9f..8a3b04d 100644
--- a/jconsole.desktop.in
+++ b/jconsole.desktop.in
@@ -1,8 +1,6 @@
[Desktop Entry]
-Name=OpenJDK @JAVA_VER@ for Monitoring & Management Console
-Name[ru]=Консоль управления OpenJDK @JAVA_VER@
-Comment=Monitor and manage OpenJDK @JAVA_VER@ applications
-Comment[ru]=Управление приложениями Java OpenJDK @JAVA_VER@
+Name=OpenJDK @JAVA_VER@ for @target_cpu@ Monitoring & Management Console (@OPENJDK_VER@)
+Comment=Monitor and manage OpenJDK applications
Exec=_SDKBINDIR_/jconsole
Icon=java-@JAVA_VER@-@JAVA_VENDOR@
Terminal=false
diff --git a/jdk8269668-rh1977671-aarch64_lib_path_fix.patch b/jdk8269668-rh1977671-aarch64_lib_path_fix.patch
deleted file mode 100644
index ddf686c..0000000
--- a/jdk8269668-rh1977671-aarch64_lib_path_fix.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From ec03fdb752f2dc0833784a6877a4c232a8cdd9d2 Mon Sep 17 00:00:00 2001
-From: Severin Gehwolf
-Date: Wed, 14 Jul 2021 12:06:39 +0200
-Subject: [PATCH] Backport e14801cdd9b108aa4ca47d0bc1dc67fca575764c
-
----
- src/hotspot/os/linux/os_linux.cpp | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp
-index e8baf704e3a..12b75b733b5 100644
---- a/src/hotspot/os/linux/os_linux.cpp
-+++ b/src/hotspot/os/linux/os_linux.cpp
-@@ -413,8 +413,15 @@ void os::init_system_properties_values() {
- // 7: The default directories, normally /lib and /usr/lib.
- #if defined(AMD64) || (defined(_LP64) && defined(SPARC)) || defined(PPC64) || defined(S390)
- #define DEFAULT_LIBPATH "/usr/lib64:/lib64:/lib:/usr/lib"
-+#else
-+#if defined(AARCH64)
-+ // Use 32-bit locations first for AARCH64 (a 64-bit architecture), since some systems
-+ // might not adhere to the FHS and it would be a change in behaviour if we used
-+ // DEFAULT_LIBPATH of other 64-bit architectures which prefer the 64-bit paths.
-+ #define DEFAULT_LIBPATH "/lib:/usr/lib:/usr/lib64:/lib64"
- #else
- #define DEFAULT_LIBPATH "/lib:/usr/lib"
-+#endif // AARCH64
- #endif
-
- // Base path of extensions installed on the system.
---
-2.31.1
-
diff --git a/jdk8293834-kyiv_cldr_update.patch b/jdk8293834-kyiv_cldr_update.patch
new file mode 100644
index 0000000..b8dda24
--- /dev/null
+++ b/jdk8293834-kyiv_cldr_update.patch
@@ -0,0 +1,51 @@
+diff --git a/make/data/cldr/common/bcp47/timezone.xml b/make/data/cldr/common/bcp47/timezone.xml
+index 41ff6d236c8..e703020dcdd 100644
+--- a/make/data/cldr/common/bcp47/timezone.xml
++++ b/make/data/cldr/common/bcp47/timezone.xml
+@@ -393,7 +393,7 @@ For terms of use, see http://www.unicode.org/copyright.html
+
+
+
+-
++
+
+
+
+diff --git a/test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java b/test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java
+index eb56c087ad6..e398af3c151 100644
+--- a/test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java
++++ b/test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java
+@@ -23,7 +23,7 @@
+
+ /*
+ * @test
+- * @bug 8181157 8202537 8234347 8236548 8261279
++ * @bug 8181157 8202537 8234347 8236548 8261279 8293834
+ * @modules jdk.localedata
+ * @summary Checks CLDR time zone names are generated correctly at runtime
+ * @run testng/othervm -Djava.locale.providers=CLDR TimeZoneNamesTest
+@@ -102,6 +102,24 @@ public class TimeZoneNamesTest {
+ "UTC+04:00",
+ "heure : Astrakhan",
+ "UTC+04:00"},
++ {"Europe/Kyiv", Locale.US, "Eastern European Standard Time",
++ "GMT+02:00",
++ "Eastern European Summer Time",
++ "GMT+03:00",
++ "Eastern European Time",
++ "GMT+02:00"},
++ {"Europe/Kyiv", Locale.FRANCE, "heure normale d\u2019Europe de l\u2019Est",
++ "UTC+02:00",
++ "heure d\u2019\u00e9t\u00e9 d\u2019Europe de l\u2019Est",
++ "UTC+03:00",
++ "heure d\u2019Europe de l\u2019Est",
++ "UTC+02:00"},
++ {"Europe/Kyiv", Locale.GERMANY, "Osteurop\u00e4ische Normalzeit",
++ "OEZ",
++ "Osteurop\u00e4ische Sommerzeit",
++ "OESZ",
++ "Osteurop\u00e4ische Zeit",
++ "OEZ"},
+ {"Europe/Saratov", Locale.US, "Saratov Standard Time",
+ "GMT+04:00",
+ "Saratov Daylight Time",
diff --git a/nss.fips.cfg.in b/nss.fips.cfg.in
deleted file mode 100644
index ead27be..0000000
--- a/nss.fips.cfg.in
+++ /dev/null
@@ -1,6 +0,0 @@
-name = NSS-FIPS
-nssLibraryDirectory = @NSS_LIBDIR@
-nssSecmodDirectory = @NSS_SECMOD@
-nssDbMode = readOnly
-nssModule = fips
-
diff --git a/pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch b/pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch
deleted file mode 100644
index 97f276f..0000000
--- a/pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-
-# HG changeset patch
-# User andrew
-# Date 1478057514 0
-# Node ID 1c4d5cb2096ae55106111da200b0bcad304f650c
-# Parent 3d53f19b48384e5252f4ec8891f7a3a82d77af2a
-PR3694: Support Fedora/RHEL system crypto policy
-diff -r 3d53f19b4838 -r 1c4d5cb2096a src/java.base/share/classes/java/security/Security.java
---- a/src/java.base/share/classes/java/security/Security.java Wed Oct 26 03:51:39 2016 +0100
-+++ b/src/java.base/share/classes/java/security/Security.java Wed Nov 02 03:31:54 2016 +0000
-@@ -43,6 +43,9 @@
- * implementation-specific location, which is typically the properties file
- * {@code conf/security/java.security} in the Java installation directory.
- *
-+ *
Additional default values of security properties are read from a
-+ * system-specific location, if available.
-+ *
- * @author Benjamin Renaud
- * @since 1.1
- */
-@@ -52,6 +55,10 @@
- private static final Debug sdebug =
- Debug.getInstance("properties");
-
-+ /* System property file*/
-+ private static final String SYSTEM_PROPERTIES =
-+ "/etc/crypto-policies/back-ends/java.config";
-+
- /* The java.security properties */
- private static Properties props;
-
-@@ -93,6 +100,7 @@
- if (sdebug != null) {
- sdebug.println("reading security properties file: " +
- propFile);
-+ sdebug.println(props.toString());
- }
- } catch (IOException e) {
- if (sdebug != null) {
-@@ -114,6 +122,31 @@
- }
-
- if ("true".equalsIgnoreCase(props.getProperty
-+ ("security.useSystemPropertiesFile"))) {
-+
-+ // now load the system file, if it exists, so its values
-+ // will win if they conflict with the earlier values
-+ try (BufferedInputStream bis =
-+ new BufferedInputStream(new FileInputStream(SYSTEM_PROPERTIES))) {
-+ props.load(bis);
-+ loadedProps = true;
-+
-+ if (sdebug != null) {
-+ sdebug.println("reading system security properties file " +
-+ SYSTEM_PROPERTIES);
-+ sdebug.println(props.toString());
-+ }
-+ } catch (IOException e) {
-+ if (sdebug != null) {
-+ sdebug.println
-+ ("unable to load security properties from " +
-+ SYSTEM_PROPERTIES);
-+ e.printStackTrace();
-+ }
-+ }
-+ }
-+
-+ if ("true".equalsIgnoreCase(props.getProperty
- ("security.overridePropertiesFile"))) {
-
- String extraPropFile = System.getProperty
-diff -r 3d53f19b4838 -r 1c4d5cb2096a src/java.base/share/conf/security/java.security
---- a/src/java.base/share/conf/security/java.security Wed Oct 26 03:51:39 2016 +0100
-+++ b/src/java.base/share/conf/security/java.security Wed Nov 02 03:31:54 2016 +0000
-@@ -276,6 +276,13 @@
- security.overridePropertiesFile=true
-
- #
-+# Determines whether this properties file will be appended to
-+# using the system properties file stored at
-+# /etc/crypto-policies/back-ends/java.config
-+#
-+security.useSystemPropertiesFile=true
-+
-+#
- # Determines the default key and trust manager factory algorithms for
- # the javax.net.ssl package.
- #
diff --git a/pr3695-toggle_system_crypto_policy.patch b/pr3695-toggle_system_crypto_policy.patch
deleted file mode 100644
index 3799237..0000000
--- a/pr3695-toggle_system_crypto_policy.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-# HG changeset patch
-# User andrew
-# Date 1545198926 0
-# Wed Dec 19 05:55:26 2018 +0000
-# Node ID f2cbd688824c128db7fa848c8732fb0ab3507776
-# Parent 81f07f6d1f8b7b51b136d3974c61bc8bb513770c
-PR3695: Allow use of system crypto policy to be disabled by the user
-Summary: Read user overrides first so security.useSystemPropertiesFile can be disabled and add -Djava.security.disableSystemPropertiesFile
-
-diff --git a/src/java.base/share/classes/java/security/Security.java b/src/java.base/share/classes/java/security/Security.java
---- a/src/java.base/share/classes/java/security/Security.java
-+++ b/src/java.base/share/classes/java/security/Security.java
-@@ -125,31 +125,6 @@
- }
-
- if ("true".equalsIgnoreCase(props.getProperty
-- ("security.useSystemPropertiesFile"))) {
--
-- // now load the system file, if it exists, so its values
-- // will win if they conflict with the earlier values
-- try (BufferedInputStream bis =
-- new BufferedInputStream(new FileInputStream(SYSTEM_PROPERTIES))) {
-- props.load(bis);
-- loadedProps = true;
--
-- if (sdebug != null) {
-- sdebug.println("reading system security properties file " +
-- SYSTEM_PROPERTIES);
-- sdebug.println(props.toString());
-- }
-- } catch (IOException e) {
-- if (sdebug != null) {
-- sdebug.println
-- ("unable to load security properties from " +
-- SYSTEM_PROPERTIES);
-- e.printStackTrace();
-- }
-- }
-- }
--
-- if ("true".equalsIgnoreCase(props.getProperty
- ("security.overridePropertiesFile"))) {
-
- String extraPropFile = System.getProperty
-@@ -215,6 +190,33 @@
- }
- }
-
-+ String disableSystemProps = System.getProperty("java.security.disableSystemPropertiesFile");
-+ if (disableSystemProps == null &&
-+ "true".equalsIgnoreCase(props.getProperty
-+ ("security.useSystemPropertiesFile"))) {
-+
-+ // now load the system file, if it exists, so its values
-+ // will win if they conflict with the earlier values
-+ try (BufferedInputStream bis =
-+ new BufferedInputStream(new FileInputStream(SYSTEM_PROPERTIES))) {
-+ props.load(bis);
-+ loadedProps = true;
-+
-+ if (sdebug != null) {
-+ sdebug.println("reading system security properties file " +
-+ SYSTEM_PROPERTIES);
-+ sdebug.println(props.toString());
-+ }
-+ } catch (IOException e) {
-+ if (sdebug != null) {
-+ sdebug.println
-+ ("unable to load security properties from " +
-+ SYSTEM_PROPERTIES);
-+ e.printStackTrace();
-+ }
-+ }
-+ }
-+
- if (!loadedProps) {
- initializeStatic();
- if (sdebug != null) {
diff --git a/remove-intree-libraries.sh b/remove-intree-libraries.sh
index d475909..25c2fc8 100644
--- a/remove-intree-libraries.sh
+++ b/remove-intree-libraries.sh
@@ -5,6 +5,7 @@ TREE=${1}
TYPE=${2}
ZIP_SRC=src/java.base/share/native/libzip/zlib/
+FREETYPE_SRC=src/java.desktop/share/native/libfreetype/
JPEG_SRC=src/java.desktop/share/native/libjavajpeg/
GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/
PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/
@@ -31,15 +32,21 @@ cd ${TREE}
echo "Removing built-in libs (they will be linked)"
-# On full runs, allow for zlib having already been deleted by minimal
+# On full runs, allow for zlib & freetype having already been deleted by minimal
echo "Removing zlib"
if [ "x${TYPE}" = "xminimal" -a ! -d ${ZIP_SRC} ]; then
echo "${ZIP_SRC} does not exist. Refusing to proceed."
exit 1
fi
rm -rvf ${ZIP_SRC}
+echo "Removing freetype"
+if [ "x${TYPE}" = "xminimal" -a ! -d ${FREETYPE_SRC} ]; then
+ echo "${FREETYPE_SRC} does not exist. Refusing to proceed."
+ exit 1
+fi
+rm -rvf ${FREETYPE_SRC}
-# Minimal is limited to just zlib so finish here
+# Minimal is limited to just zlib and freetype so finish here
if test "x${TYPE}" = "xminimal"; then
echo "Finished.";
exit 0;
@@ -155,5 +162,3 @@ rm -vf ${LCMS_SRC}/cmsxform.c
rm -vf ${LCMS_SRC}/lcms2.h
rm -vf ${LCMS_SRC}/lcms2_internal.h
rm -vf ${LCMS_SRC}/lcms2_plugin.h
-
-
diff --git a/rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch b/rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
index a877506..3042186 100644
--- a/rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
+++ b/rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
@@ -1,10 +1,9 @@
-diff -uNr openjdk/src/java.desktop/share/classes/java/awt/Toolkit.java jdk8/jdk/src/java.desktop/share/classes/java/awt/Toolkit.java
---- openjdk/src/java.desktop/share/classes/java/awt/Toolkit.java
-+++ openjdk/src/java.desktop/share/classes/java/awt/Toolkit.java
-@@ -883,9 +883,13 @@
- return null;
- }
- });
+diff -r 618ad1237e73 src/java.desktop/share/classes/java/awt/Toolkit.java
+--- a/src/java.desktop/share/classes/java/awt/Toolkit.java Thu Jun 13 19:37:49 2019 +0200
++++ b/src/java.desktop/share/classes/java/awt/Toolkit.java Thu Jul 04 10:35:42 2019 +0200
+@@ -595,7 +595,11 @@
+ toolkit = new HeadlessToolkit(toolkit);
+ }
if (!GraphicsEnvironment.isHeadless()) {
- loadAssistiveTechnologies();
+ try {
@@ -15,4 +14,3 @@ diff -uNr openjdk/src/java.desktop/share/classes/java/awt/Toolkit.java jdk8/jdk/
}
}
return toolkit;
- }
diff --git a/rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch b/rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
index 1b92ddc..4f45622 100644
--- a/rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
+++ b/rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
@@ -1,10 +1,9 @@
-diff -r 5b86f66575b7 src/share/lib/security/java.security-linux
---- openjdk/src/java.base/share/conf/security/java.security Tue May 16 13:29:05 2017 -0700
-+++ openjdk/src/java.base/share/conf/security/java.security Tue Jun 06 14:05:12 2017 +0200
-@@ -83,6 +83,7 @@
- #ifndef solaris
- security.provider.tbd=SunPKCS11
+--- a/src/java.base/share/conf/security/java.security 2022-12-23 07:02:14.634098895 +0000
++++ b/src/java.base/share/conf/security/java.security 2022-12-23 07:08:09.128456283 +0000
+@@ -78,6 +78,7 @@
+ security.provider.tbd=Apple
#endif
+ security.provider.tbd=SunPKCS11
+#security.provider.tbd=SunPKCS11 ${java.home}/lib/security/nss.cfg
#
diff --git a/rh1655466-global_crypto_and_fips.patch b/rh1655466-global_crypto_and_fips.patch
deleted file mode 100644
index 8bf1ced..0000000
--- a/rh1655466-global_crypto_and_fips.patch
+++ /dev/null
@@ -1,205 +0,0 @@
-diff --git a/src/java.base/share/classes/javopenjdk.orig///security/Security.java openjdk///src/java.base/share/classes/java/security/Security.java
---- openjdk.orig/src/java.base/share/classes/java/security/Security.java
-+++ openjdk/src/java.base/share/classes/java/security/Security.java
-@@ -196,26 +196,8 @@
- if (disableSystemProps == null &&
- "true".equalsIgnoreCase(props.getProperty
- ("security.useSystemPropertiesFile"))) {
--
-- // now load the system file, if it exists, so its values
-- // will win if they conflict with the earlier values
-- try (BufferedInputStream bis =
-- new BufferedInputStream(new FileInputStream(SYSTEM_PROPERTIES))) {
-- props.load(bis);
-+ if (SystemConfigurator.configure(props)) {
- loadedProps = true;
--
-- if (sdebug != null) {
-- sdebug.println("reading system security properties file " +
-- SYSTEM_PROPERTIES);
-- sdebug.println(props.toString());
-- }
-- } catch (IOException e) {
-- if (sdebug != null) {
-- sdebug.println
-- ("unable to load security properties from " +
-- SYSTEM_PROPERTIES);
-- e.printStackTrace();
-- }
- }
- }
-
-diff --git a/src/java.base/share/classes/javopenjdk.orig///security/SystemConfigurator.java openjdk///src/java.base/share/classes/java/security/SystemConfigurator.java
-new file mode 100644
---- /dev/null
-+++ openjdk/src/java.base/share/classes/java/security/SystemConfigurator.java
-@@ -0,0 +1,151 @@
-+/*
-+ * Copyright (c) 2019, Red Hat, Inc.
-+ *
-+ * 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.
-+ *
-+ * 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 java.security;
-+
-+import java.io.BufferedInputStream;
-+import java.io.FileInputStream;
-+import java.io.IOException;
-+
-+import java.nio.file.Files;
-+import java.nio.file.Path;
-+
-+import java.util.Iterator;
-+import java.util.Map.Entry;
-+import java.util.Properties;
-+import java.util.function.Consumer;
-+import java.util.regex.Matcher;
-+import java.util.regex.Pattern;
-+
-+import sun.security.util.Debug;
-+
-+/**
-+ * Internal class to align OpenJDK with global crypto-policies.
-+ * Called from java.security.Security class initialization,
-+ * during startup.
-+ *
-+ */
-+
-+class SystemConfigurator {
-+
-+ private static final Debug sdebug =
-+ Debug.getInstance("properties");
-+
-+ private static final String CRYPTO_POLICIES_BASE_DIR =
-+ "/etc/crypto-policies";
-+
-+ private static final String CRYPTO_POLICIES_JAVA_CONFIG =
-+ CRYPTO_POLICIES_BASE_DIR + "/back-ends/java.config";
-+
-+ private static final String CRYPTO_POLICIES_CONFIG =
-+ CRYPTO_POLICIES_BASE_DIR + "/config";
-+
-+ private static final class SecurityProviderInfo {
-+ int number;
-+ String key;
-+ String value;
-+ SecurityProviderInfo(int number, String key, String value) {
-+ this.number = number;
-+ this.key = key;
-+ this.value = value;
-+ }
-+ }
-+
-+ /*
-+ * Invoked when java.security.Security class is initialized, if
-+ * java.security.disableSystemPropertiesFile property is not set and
-+ * security.useSystemPropertiesFile is true.
-+ */
-+ static boolean configure(Properties props) {
-+ boolean loadedProps = false;
-+
-+ try (BufferedInputStream bis =
-+ new BufferedInputStream(
-+ new FileInputStream(CRYPTO_POLICIES_JAVA_CONFIG))) {
-+ props.load(bis);
-+ loadedProps = true;
-+ if (sdebug != null) {
-+ sdebug.println("reading system security properties file " +
-+ CRYPTO_POLICIES_JAVA_CONFIG);
-+ sdebug.println(props.toString());
-+ }
-+ } catch (IOException e) {
-+ if (sdebug != null) {
-+ sdebug.println("unable to load security properties from " +
-+ CRYPTO_POLICIES_JAVA_CONFIG);
-+ e.printStackTrace();
-+ }
-+ }
-+
-+ try {
-+ if (enableFips()) {
-+ if (sdebug != null) { sdebug.println("FIPS mode detected"); }
-+ loadedProps = false;
-+ // Remove all security providers
-+ Iterator> i = props.entrySet().iterator();
-+ while (i.hasNext()) {
-+ Entry