Compare commits

..

3 Commits
i10 ... i9

2
.gitignore vendored

@ -1,2 +1,2 @@
SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
SOURCES/openjdk-21.0.4+7.tar.xz
SOURCES/openjdk-21.0.6+7.tar.xz

@ -1,2 +1,2 @@
c8281ee37b77d535c9c1af86609a531958ff7b34 SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
83148f1aa3a0f2fe1d4d5d98ee49c4849a2c8b7c SOURCES/openjdk-21.0.4+7.tar.xz
fad71f19631dab375285056d10d08374e869bb35 SOURCES/openjdk-21.0.6+7.tar.xz

@ -3,6 +3,869 @@ 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 21.0.6 (2025-01-21):
===========================================
Live versions of these release notes can be found at:
* https://bit.ly/openjdk2106
* CVEs
- CVE-2025-21502
* Changes
- JDK-6942632: Hotspot should be able to use more than 64 logical processors on Windows
- JDK-8028127: Regtest java/security/Security/SynchronizedAccess.java is incorrect
- JDK-8195675: Call to insertText with single character from custom Input Method ignored
- JDK-8207908: JMXStatusTest.java fails assertion intermittently
- JDK-8225220: When the Tab Policy is checked,the scroll button direction displayed incorrectly.
- JDK-8240343: JDI stopListening/stoplis001 "FAILED: listening is successfully stopped without starting listening"
- JDK-8283214: [macos] Screen magnifier does not show the magnified text for JComboBox
- JDK-8296787: Unify debug printing format of X.509 cert serial numbers
- JDK-8296972: [macos13] java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java: getExtendedState() != 6 as expected.
- JDK-8306446: java/lang/management/ThreadMXBean/Locks.java transient failures
- JDK-8308429: jvmti/StopThread/stopthrd007 failed with "NoClassDefFoundError: Could not initialize class jdk.internal.misc.VirtualThreads"
- JDK-8309218: java/util/concurrent/locks/Lock/OOMEInAQS.java still times out with ZGC, Generational ZGC, and SerialGC
- JDK-8311301: MethodExitTest may fail with stack buffer overrun
- JDK-8311656: Shenandoah: Unused ShenandoahSATBAndRemarkThreadsClosure::_claim_token
- JDK-8312518: [macos13] setFullScreenWindow() shows black screen on macOS 13 & above
- JDK-8313374: --enable-ccache's CCACHE_BASEDIR breaks builds
- JDK-8313878: Exclude two compiler/rtm/locking tests on ppc64le
- JDK-8315701: [macos] Regression: KeyEvent has different keycode on different keyboard layouts
- JDK-8316428: G1: Nmethod count statistics only count last code root set iterated
- JDK-8316893: Compile without -fno-delete-null-pointer-checks
- JDK-8316895: SeenThread::print_action_queue called on a null pointer
- JDK-8316907: Fix nonnull-compare warnings
- JDK-8317116: Provide layouts for multiple test UI in PassFailJFrame
- JDK-8317575: AArch64: C2_MacroAssembler::fast_lock uses rscratch1 for cmpxchg result
- JDK-8318105: [jmh] the test java.security.HSS failed with 2 active threads
- JDK-8318442: java/net/httpclient/ManyRequests2.java fails intermittently on Linux
- JDK-8319640: ClassicFormat::parseObject (from DateTimeFormatter) does not conform to the javadoc and may leak DateTimeException
- JDK-8319673: Few security tests ignore VM flags
- JDK-8319678: Several tests from corelibs areas ignore VM flags
- JDK-8319960: RISC-V: compiler/intrinsics/TestInteger/LongUnsignedDivMod.java failed with "counts: Graph contains wrong number of nodes"
- JDK-8319970: AArch64: enable tests compiler/intrinsics/Test(Long|Integer)UnsignedDivMod.java on aarch64
- JDK-8319973: AArch64: Save and restore FPCR in the call stub
- JDK-8320192: SHAKE256 does not work correctly if n >= 137
- JDK-8320397: RISC-V: Avoid passing t0 as temp register to MacroAssembler:: cmpxchg_obj_header/cmpxchgptr
- JDK-8320575: generic type information lost on mandated parameters of record's compact constructors
- JDK-8320586: update manual test/jdk/TEST.groups
- JDK-8320665: update jdk_core at open/test/jdk/TEST.groups
- JDK-8320673: PageFormat/CustomPaper.java has no Pass/Fail buttons; multiple instructions
- JDK-8320682: [AArch64] C1 compilation fails with "Field too big for insn"
- JDK-8320892: AArch64: Restore FPU control state after JNI
- JDK-8321299: runtime/logging/ClassLoadUnloadTest.java doesn't reliably trigger class unloading
- JDK-8321470: ThreadLocal.nextHashCode can be static final
- JDK-8321474: TestAutoCreateSharedArchiveUpgrade.java should be updated with JDK 21
- JDK-8321543: Update NSS to version 3.96
- JDK-8321550: Update several runtime/cds tests to use vm flags or mark as flagless
- JDK-8321616: Retire binary test vectors in test/jdk/java/util/zip/ZipFile
- JDK-8321940: Improve CDSHeapVerifier in handling of interned strings
- JDK-8322166: Files.isReadable/isWritable/isExecutable expensive when file does not exist
- JDK-8322754: click JComboBox when dialog about to close causes IllegalComponentStateException
- JDK-8322809: SystemModulesMap::classNames and moduleNames arrays do not match the order
- JDK-8322830: Add test case for ZipFile opening a ZIP with no entries
- JDK-8323562: SaslInputStream.read() may return wrong value
- JDK-8323688: C2: Fix UB of jlong overflow in PhaseIdealLoop::is_counted_loop()
- JDK-8324841: PKCS11 tests still skip execution
- JDK-8324861: Exceptions::wrap_dynamic_exception() doesn't have ResourceMark
- JDK-8325038: runtime/cds/appcds/ProhibitedPackage.java can fail with UseLargePages
- JDK-8325399: Add tests for virtual threads doing Selector operations
- JDK-8325506: Ensure randomness is only read from provided SecureRandom object
- JDK-8325525: Create jtreg test case for JDK-8325203
- JDK-8325610: CTW: Add StressIncrementalInlining to stress options
- JDK-8325762: Use PassFailJFrame.Builder.splitUI() in PrintLatinCJKTest.java
- JDK-8325851: Hide PassFailJFrame.Builder constructor
- JDK-8325906: Problemlist vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java#id1 until JDK-8320865 is fixed
- JDK-8326100: DeflaterDictionaryTests should use Deflater.getBytesWritten instead of Deflater.getTotalOut
- JDK-8326121: vmTestbase/gc/g1/unloading/tests/unloading_keepRef_rootClass_inMemoryCompilation_keep_cl failed with Full gc happened. Test was useless.
- JDK-8326611: Clean up vmTestbase/nsk/stress/stack tests
- JDK-8326898: NSK tests should listen on loopback addresses only
- JDK-8327924: Simplify TrayIconScalingTest.java
- JDK-8328021: Convert applet test java/awt/List/SetFontTest/SetFontTest.html to main program
- JDK-8328242: Add a log area to the PassFailJFrame
- JDK-8328303: 3 JDI tests timed out with UT enabled
- JDK-8328379: Convert URLDragTest.html applet test to main
- JDK-8328402: Implement pausing functionality for the PassFailJFrame
- JDK-8328619: sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java failed with BindException: Address already in use
- JDK-8328665: serviceability/jvmti/vthread/PopFrameTest failed with a timeout
- JDK-8328723: IP Address error when client enables HTTPS endpoint check on server socket
- JDK-8329353: ResolvedReferencesNotNullTest.java failed with Incorrect resolved references array, quxString should not be archived
- JDK-8329533: TestCDSVMCrash fails on libgraal
- JDK-8330045: Enhance array handling
- JDK-8330278: Have SSLSocketTemplate.doClientSide use loopback address
- JDK-8330621: Make 5 compiler tests use ProcessTools.executeProcess
- JDK-8331391: Enhance the keytool code by invoking the buildTrustedCerts method for essential options
- JDK-8331393: AArch64: u32 _partial_subtype_ctr loaded/stored as 64
- JDK-8331864: Update Public Suffix List to 1cbd6e7
- JDK-8332112: Update nsk.share.Log to don't print summary during VM shutdown hook
- JDK-8332340: Add JavacBench as a test case for CDS
- JDK-8332461: ubsan : dependencies.cpp:906:3: runtime error: load of value 4294967295, which is not a valid value for type 'DepType'
- JDK-8332724: x86 MacroAssembler may over-align code
- JDK-8332777: Update JCStress test suite
- JDK-8332866: Crash in ImageIO JPEG decoding when MEM_STATS in enabled
- JDK-8332901: Select{Current,New}ItemTest.java for Choice don't open popup on macOS
- JDK-8333098: ubsan: bytecodeInfo.cpp:318:59: runtime error: division by zero
- JDK-8333108: Update vmTestbase/nsk/share/DebugeeProcess.java to don't use finalization
- JDK-8333144: docker tests do not work when ubsan is configured
- JDK-8333235: vmTestbase/nsk/jdb/kill/kill001/kill001.java fails with C1
- JDK-8333248: VectorGatherMaskFoldingTest.java failed when maximum vector bits is 64
- JDK-8333317: Test sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java failed with: Invalid ECDH ServerKeyExchange signature
- JDK-8333427: langtools/tools/javac/newlines/NewLineTest.java is failing on Japanese Windows
- JDK-8333728: ubsan: shenandoahFreeSet.cpp:1347:24: runtime error: division by zero
- JDK-8333754: Add a Test against ECDSA and ECDH NIST Test vector
- JDK-8333824: Unused ClassValue in VarHandles
- JDK-8334057: JLinkReproducibleTest.java support receive test.tool.vm.opts
- JDK-8334405: java/nio/channels/Selector/SelectWithConsumer.java#id0 failed in testWakeupDuringSelect
- JDK-8334475: UnsafeIntrinsicsTest.java#ZGenerationalDebug assert(!assert_on_failure) failed: Has low-order bits set
- JDK-8334560: [PPC64]: postalloc_expand_java_dynamic_call_sched does not copy all fields
- JDK-8334562: Automate com/sun/security/auth/callback/TextCallbackHandler/Default.java test
- JDK-8334567: [test] runtime/os/TestTracePageSizes move ppc handling
- JDK-8334719: (se) Deferred close of SelectableChannel may result in a Selector doing the final close before concurrent I/O on channel has completed
- JDK-8335142: compiler/c1/TestTraceLinearScanLevel.java occasionally times out with -Xcomp
- JDK-8335172: Add manual steps to run security/auth/callback/TextCallbackHandler/Password.java test
- JDK-8335267: [XWayland] move screencast tokens from .awt to .java folder
- JDK-8335344: test/jdk/sun/security/tools/keytool/NssTest.java fails to compile
- JDK-8335428: Enhanced Building of Processes
- JDK-8335449: runtime/cds/DeterministicDump.java fails with File content different at byte ...
- JDK-8335530: Java file extension missing in AuthenticatorTest
- JDK-8335664: Parsing jsr broken: assert(bci>= 0 && bci < c->method()->code_size()) failed: index out of bounds
- JDK-8335709: C2: assert(!loop->is_member(get_loop(useblock))) failed: must be outside loop
- JDK-8335912, JDK-8337499: Add an operation mode to the jar command when extracting to not overwriting existing files
- JDK-8336240: Test com/sun/crypto/provider/Cipher/DES/PerformanceTest.java fails with java.lang.ArithmeticException
- JDK-8336257: Additional tests in jmxremote/startstop to match on PID not app name
- JDK-8336315: tools/jpackage/windows/WinChildProcessTest.java Failed: Check is calculator process is alive
- JDK-8336413: gtk headers : Fix typedef redeclaration of GMainContext and GdkPixbuf
- JDK-8336564: Enhance mask blit functionality redux
- JDK-8336640: Shenandoah: Parallel worker use in parallel_heap_region_iterate
- JDK-8336854: CAInterop.java#actalisauthenticationrootca conflicted with /manual and /timeout
- JDK-8336911: ZGC: Division by zero in heuristics after JDK-8332717
- JDK-8337066: Repeated call of StringBuffer.reverse with double byte string returns wrong result
- JDK-8337067: Test runtime/classFileParserBug/Bad_NCDFE_Msg.java won't compile
- JDK-8337320: Update ProblemList.txt with tests known to fail on XWayland
- JDK-8337331: crash: pinned virtual thread will lead to jvm crash when running with the javaagent option
- JDK-8337410: The makefiles should set problemlist and adjust timeout basing on the given VM flags
- JDK-8337780: RISC-V: C2: Change C calling convention for sp to NS
- JDK-8337810: ProblemList BasicDirectoryModel/LoaderThreadCount.java on Windows
- JDK-8337826: Improve logging in OCSPTimeout and SimpleOCSPResponder to help diagnose JDK-8309754
- JDK-8337851: Some tests have name which confuse jtreg
- JDK-8337876: [IR Framework] Add support for IR tests with @Stable
- JDK-8337966: (fs) Files.readAttributes fails with Operation not permitted on older docker releases
- JDK-8338058: map_or_reserve_memory_aligned Windows enhance remap assertion
- JDK-8338101: remove old remap assertion in map_or_reserve_memory_aligned after JDK-8338058
- JDK-8338109: java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java duplicate in ProblemList
- JDK-8338110: Exclude Fingerprinter::do_type from ubsan checks
- JDK-8338112: Test testlibrary_tests/ir_framework/tests/TestPrivilegedMode.java fails with release build
- JDK-8338344: Test TestPrivilegedMode.java intermittent fails java.lang.NoClassDefFoundError: jdk/test/lib/Platform
- JDK-8338380: Update TLSCommon/interop/AbstractServer to specify an interface to listen for connections
- JDK-8338389: [JFR] Long strings should be added to the string pool
- JDK-8338402: GHA: some of bundles may not get removed
- JDK-8338449: ubsan: division by zero in sharedRuntimeTrans.cpp
- JDK-8338550: Do libubsan1 installation in test container only if requested
- JDK-8338748: [17u,21u] Test Disconnect.java compile error: cannot find symbol after JDK-8299813
- JDK-8338751: ConfigureNotify behavior has changed in KWin 6.2
- JDK-8338759: Add extra diagnostic to java/net/InetAddress/ptr/Lookup.java
- JDK-8338924: C1: assert(0 <= i && i < _len) failed: illegal index 5 for length 5
- JDK-8339080: Bump update version for OpenJDK: jdk-21.0.6
- JDK-8339180: Enhanced Building of Processes: Follow-on Issue
- JDK-8339248: RISC-V: Remove li64 macro assembler routine and related code
- JDK-8339384: Unintentional IOException in jdk.jdi module when JDWP end of stream occurs
- JDK-8339386: Assertion on AIX - original PC must be in the main code section of the compiled method
- JDK-8339416: [s390x] Provide implementation for resolve_global_jobject
- JDK-8339487: ProcessHandleImpl os_getChildren sysctl call - retry in case of ENOMEM and enhance exception message
- JDK-8339548: GHA: RISC-V: Use Debian snapshot archive for bootstrap
- JDK-8339560: Unaddressed comments during code review of JDK-8337664
- JDK-8339591: Mark jdk/jshell/ExceptionMessageTest.java intermittent
- JDK-8339637: (tz) Update Timezone Data to 2024b
- JDK-8339644: Improve parsing of Day/Month in tzdata rules
- JDK-8339648: ZGC: Division by zero in rule_major_allocation_rate
- JDK-8339725: Concurrent GC crashed due to GetMethodDeclaringClass
- JDK-8339731: java.desktop/share/classes/javax/swing/text/html/default.css typo in margin settings
- JDK-8339741: RISC-V: C ABI breakage for integer on stack
- JDK-8339787: Add some additional diagnostic output to java/net/ipv6tests/UdpTest.java
- JDK-8339803: Acknowledge case insensitive unambiguous keywords in tzdata files
- JDK-8339892: Several security shell tests don't set TESTJAVAOPTS
- JDK-8340007: Refactor KeyEvent/FunctionKeyTest.java
- JDK-8340008: KeyEvent/KeyTyped/Numpad1KeyTyped.java has 15 seconds timeout
- JDK-8340109: Ubsan: ciEnv.cpp:1660:65: runtime error: member call on null pointer of type 'struct CompileTask'
- JDK-8340210: Add positionTestUI() to PassFailJFrame.Builder
- JDK-8340214: C2 compilation asserts with "no node with a side effect" in PhaseIdealLoop::try_sink_out_of_loop
- JDK-8340230: Tests crash: assert(is_in_encoding_range || k->is_interface() || k->is_abstract()) failed: sanity
- JDK-8340306: Add border around instructions in PassFailJFrame
- JDK-8340308: PassFailJFrame: Make rows default to number of lines in instructions
- JDK-8340365: Position the first window of a window list
- JDK-8340383: VM issues warning failure to find kernel32.dll on Windows nanoserver
- JDK-8340387: Update OS detection code to recognize Windows Server 2025
- JDK-8340398: [JVMCI] Unintuitive behavior of UseJVMCICompiler option
- JDK-8340418: GHA: MacOS AArch64 bundles can be removed prematurely
- JDK-8340461: Amend description for logArea
- JDK-8340466: Add description for PassFailJFrame constructors
- JDK-8340552: Harden TzdbZoneRulesCompiler against missing zone names
- JDK-8340590: RISC-V: C2: Small improvement to vector gather load and scatter store
- JDK-8340632: ProblemList java/nio/channels/DatagramChannel/ for Macos
- JDK-8340657: [PPC64] SA determines wrong unextendedSP
- JDK-8340684: Reading from an input stream backed by a closed ZipFile has no test coverage
- JDK-8340785: Update description of PassFailJFrame and samples
- JDK-8340799: Add border inside instruction frame in PassFailJFrame
- JDK-8340801: Disable ubsan checks in some awt/2d coding
- JDK-8340804: doc/building.md update Xcode instructions to note that full install is required
- JDK-8340812: LambdaForm customization via MethodHandle::updateForm is not thread safe
- JDK-8340815: Add SECURITY.md file
- JDK-8340899: Remove wildcard bound in PositionWindows.positionTestWindows
- JDK-8340923: The class LogSelection copies uninitialized memory
- JDK-8341024: [test] build/AbsPathsInImage.java fails with OOM when using ubsan-enabled binaries
- JDK-8341146: RISC-V: Unnecessary fences used for load-acquire in template interpreter
- JDK-8341235: Improve default instruction frame title in PassFailJFrame
- JDK-8341261: Tests assume UnlockExperimentalVMOptions is disabled by default
- JDK-8341562: RISC-V: Generate comments in -XX:+PrintInterpreter to link to source code
- JDK-8341688: Aarch64: Generate comments in -XX:+PrintInterpreter to link to source code
- JDK-8341722: Fix some warnings as errors when building on Linux with toolchain clang
- JDK-8341806: Gcc version detection failure on Alinux3
- JDK-8341927: Replace hardcoded security providers with new test.provider.name system property
- JDK-8341997: Tests create files in src tree instead of scratch dir
- JDK-8342014: RISC-V: ZStoreBarrierStubC2 clobbers rflags
- JDK-8342063: [21u][aix] Backport introduced redundant line in ProblemList
- JDK-8342181: Update tests to use stronger Key and Salt size
- JDK-8342183: Update tests to use stronger algorithms and keys
- JDK-8342188: Update tests to use stronger key parameters and certificates
- JDK-8342409: [s390x] C1 unwind_handler fails to unlock synchronized methods with LM_MONITOR
- JDK-8342496: C2/Shenandoah: SEGV in compiled code when running jcstress
- JDK-8342578: GHA: RISC-V: Bootstrap using Debian snapshot is still failing
- JDK-8342607: Enhance register printing on x86_64 platforms
- JDK-8342669: [21u] Fix TestArrayAllocatorMallocLimit after backport of JDK-8315097
- JDK-8342681: TestLoadBypassesNullCheck.java fails improperly specified VM option
- JDK-8342701: [PPC64] TestOSRLotsOfLocals.java crashes
- JDK-8342765: [21u] RTM tests assume UnlockExperimentalVMOptions is disabled by default
- JDK-8342823: Ubsan: ciEnv.cpp:1614:65: runtime error: member call on null pointer of type 'struct CompileTask'
- JDK-8342905: Thread.setContextClassloader from thread in FJP commonPool task no longer works after JDK-8327501 redux
- JDK-8342962: [s390x] TestOSRLotsOfLocals.java crashes
- JDK-8343285: java.lang.Process is unresponsive and CPU usage spikes to 100%
- JDK-8343474: [updates] Customize README.md to specifics of update project
- JDK-8343506: [s390x] multiple test failures with ubsan
- JDK-8343724: [PPC64] Disallow OptoScheduling
- JDK-8343848: Fix typo of property name in TestOAEPPadding after 8341927
- JDK-8343877: Test AsyncClose.java intermittent fails - Socket.getInputStream().read() wasn't preempted
- JDK-8343884: [s390x] Disallow OptoScheduling
- JDK-8343923: GHA: Switch to Xcode 15 on MacOS AArch64 runners
- JDK-8344164: [s390x] ProblemList hotspot/jtreg/runtime/NMT/VirtualAllocCommitMerge.java
- JDK-8344628: Test TestEnableJVMCIProduct.java run with virtual thread intermittent fails
- JDK-8344993: [21u] [REDO] Backport JDK-8327501 and JDK-8328366 to JDK 21
- JDK-8345055: [21u] ProblemList failing rtm tests on ppc platforms
- JDK-8347010: [21u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.6
Notes on individual issues:
===========================
core-libs/java.util.jar:
JDK-8335912/JDK-8337499: Add an operation mode to the jar command when extracting to not overwriting existing files
===================================================================================================================
In previous OpenJDK releases, when the jar tool extracted files from
an archive, it would overwrite any existing files with the same name
in the target directory. With this release, a new option ('-k' or
'--keep-old-files') may be specified so that existing files are not
overwritten.
The option may be specified in short or long option form, as in the
following examples:
* jar xkf foo.jar
* jar --extract --keep-old-files --file foo.jar
By default, the old behaviour remains in place and files will be
overwritten.
core-libs/java.time:
JDK-8339637: (tz) Update Timezone Data to 2024b
===============================================
This OpenJDK release upgrades the in-tree copy of the IANA timezone
database to 2024b. This timezone update is primarily concerned with
improving historical data for Mexico, Monogolia and Portugal. It also
makes Asia/Choibalsan an alias for Asia/Ulaanbaatar and makes the MET
timezone the same as CET.
The 2024b update also makes a number of legacy timezone IDs equal to
geographical names rather than fixed offsets, as follows:
* EST => America/Panama instead of -5:00
* MST => America/Phoenix instead of -7:00
* HST => Pacific/Honolulu instead of -10:00
For long term support releases of OpenJDK, this change is overridden
locally to retain the existing fixed offset mapping.
New in release OpenJDK 21.0.5 (2024-10-15):
===========================================
Live versions of these release notes can be found at:
* https://bit.ly/openjdk2105
* CVEs
- CVE-2024-21208
- CVE-2024-21210
- CVE-2024-21217
- CVE-2024-21235
* Security fixes
- JDK-8307383: Enhance DTLS connections
- JDK-8311208: Improve CDS Support
- JDK-8328286: Enhance HTTP client
- JDK-8328544: Improve handling of vectorization
- JDK-8328726: Better Kerberos support
- JDK-8331446: Improve deserialization support
- JDK-8332644: Improve graph optimizations
- JDK-8335713: Enhance vectorization analysis
* Other changes
- JDK-6355567: AdobeMarkerSegment causes failure to read valid JPEG
- JDK-6967482: TAB-key does not work in JTables after selecting details-view in JFileChooser
- JDK-7022325: TEST_BUG: test/java/util/zip/ZipFile/ReadLongZipFileName.java leaks files if it fails
- JDK-8051959: Add thread and timestamp options to java.security.debug system property
- JDK-8073061: (fs) Files.copy(foo, bar, REPLACE_EXISTING) deletes bar even if foo is not readable
- JDK-8166352: FilePane.createDetailsView() removes JTable TAB, SHIFT-TAB functionality
- JDK-8170817: G1: Returning MinTLABSize from unsafe_max_tlab_alloc causes TLAB flapping
- JDK-8211847: [aix] java/lang/ProcessHandle/InfoTest.java fails: "reported cputime less than expected"
- JDK-8211854: [aix] java/net/ServerSocket/AcceptInheritHandle.java fails: read times out
- JDK-8222884: ConcurrentClassDescLookup.java times out intermittently
- JDK-8238169: BasicDirectoryModel getDirectories and DoChangeContents.run can deadlock
- JDK-8241550: [macOS] SSLSocketImpl/ReuseAddr.java failed due to "BindException: Address already in use"
- JDK-8242564: javadoc crashes:: class cast exception com.sun.tools.javac.code.Symtab$6
- JDK-8260633: [macos] java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.html test failed
- JDK-8261433: Better pkcs11 performance for libpkcs11:C_EncryptInit/libpkcs11:C_DecryptInit
- JDK-8269428: java/util/concurrent/ConcurrentHashMap/ToArray.java timed out
- JDK-8269657: Test java/nio/channels/DatagramChannel/Loopback.java failed: Unexpected message
- JDK-8280120: [IR Framework] Add attribute to @IR to enable/disable IR matching based on the architecture
- JDK-8280392: java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java failed with "RuntimeException: Test failed."
- JDK-8280988: [XWayland] Click on title to request focus test failures
- JDK-8280990: [XWayland] XTest emulated mouse click does not bring window to front
- JDK-8283223: gc/stringdedup/TestStringDeduplicationFullGC.java#Parallel failed with "RuntimeException: String verification failed"
- JDK-8287325: AArch64: fix virtual threads with -XX:UseBranchProtection=pac-ret
- JDK-8291809: Convert compiler/c2/cr7200264/TestSSE2IntVect.java to IR verification test
- JDK-8294148: Support JSplitPane for instructions and test UI
- JDK-8299058: AssertionError in sun.net.httpserver.ServerImpl when connection is idle
- JDK-8299487: Test java/net/httpclient/whitebox/SSLTubeTestDriver.java timed out
- JDK-8299790: os::print_hex_dump is racy
- JDK-8299813: java/nio/channels/DatagramChannel/Disconnect.java fails with jtreg test timeout due to lost datagram
- JDK-8301686: TLS 1.3 handshake fails if server_name doesn't match resuming session
- JDK-8303920: Avoid calling out to python in DataDescriptorSignatureMissing test
- JDK-8305072: Win32ShellFolder2.compareTo is inconsistent
- JDK-8305825: getBounds API returns wrong value resulting in multiple Regression Test Failures on Ubuntu 23.04
- JDK-8307193: Several Swing jtreg tests use class.forName on L&F classes
- JDK-8307352: AARCH64: Improve itable_stub
- JDK-8307778: com/sun/jdi/cds tests fail with jtreg's Virtual test thread factory
- JDK-8307788: vmTestbase/gc/gctests/LargeObjects/large003/TestDescription.java timed out
- JDK-8308286: Fix clang warnings in linux code
- JDK-8308660: C2 compilation hits 'node must be dead' assert
- JDK-8309067: gtest/AsyncLogGtest.java fails again in stderrOutput_vm
- JDK-8309621: [XWayland][Screencast] screen capture failure with sun.java2d.uiScale other than 1
- JDK-8309685: Fix -Wconversion warnings in assembler and register code
- JDK-8309894: compiler/vectorapi/VectorLogicalOpIdentityTest.java fails on SVE system with UseSVE=0
- JDK-8310072: JComboBox/DisabledComboBoxFontTestAuto: Enabled and disabled ComboBox does not match in these LAFs: GTK+
- JDK-8310108: Skip ReplaceCriticalClassesForSubgraphs when EnableJVMCI is specified
- JDK-8310201: Reduce verbose locale output in -XshowSettings launcher option
- JDK-8310334: [XWayland][Screencast] screen capture error message in debug
- JDK-8310628: GcInfoBuilder.c missing JNI Exception checks
- JDK-8310683: Refactor StandardCharset/standard.java to use JUnit
- JDK-8310906: Fix -Wconversion warnings in runtime, oops and some code header files.
- JDK-8311306: Test com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java failed: out of expected range
- JDK-8311666: Disabled tests in test/jdk/sun/java2d/marlin
- JDK-8311989: Test java/lang/Thread/virtual/Reflection.java timed out
- JDK-8312049: runtime/logging/ClassLoadUnloadTest can be improved
- JDK-8312111: open/test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java fails on ubuntu 23.04
- JDK-8312140: jdk/jshell tests failed with JDI socket timeouts
- JDK-8312200: Fix Parse::catch_call_exceptions memory leak
- JDK-8312229: Crash involving yield, switch and anonymous classes
- JDK-8313674: (fc) java/nio/channels/FileChannel/BlockDeviceSize.java should test for more block devices
- JDK-8313697: [XWayland][Screencast] consequent getPixelColor calls are slow
- JDK-8313983: jmod create --target-platform should replace existing ModuleTarget attribute
- JDK-8314163: os::print_hex_dump prints incorrectly for big endian platforms and unit sizes larger than 1
- JDK-8314225: SIGSEGV in JavaThread::is_lock_owned
- JDK-8314515: java/util/concurrent/SynchronousQueue/Fairness.java failed with "Error: fair=false i=8 j=0"
- JDK-8314614: jdk/jshell/ImportTest.java failed with "InternalError: Failed remote listen"
- JDK-8315024: Vector API FP reduction tests should not test for exact equality
- JDK-8315031: YoungPLABSize and OldPLABSize not aligned by ObjectAlignmentInBytes
- JDK-8315422: getSoTimeout() would be in try block in SSLSocketImpl
- JDK-8315505: CompileTask timestamp printed can overflow
- JDK-8315576: compiler/codecache/CodeCacheFullCountTest.java fails after JDK-8314837
- JDK-8315804: Open source several Swing JTabbedPane JTextArea JTextField tests
- JDK-8315923: pretouch_memory by atomic-add-0 fragments huge pages unexpectedly
- JDK-8315965: Open source various AWT applet tests
- JDK-8315969: compiler/rangechecks/TestRangeCheckHoistingScaledIV.java: make flagless
- JDK-8316104: Open source several Swing SplitPane and RadioButton related tests
- JDK-8316131: runtime/cds/appcds/TestParallelGCWithCDS.java fails with JNI error
- JDK-8316193: jdk/jfr/event/oldobject/TestListenerLeak.java java.lang.Exception: Could not find leak
- JDK-8316211: Open source several manual applet tests
- JDK-8316240: Open source several add/remove MenuBar manual tests
- JDK-8316285: Opensource JButton manual tests
- JDK-8316306: Open source and convert manual Swing test
- JDK-8316328: Test jdk/jfr/event/oldobject/TestSanityDefault.java times out for some heap sizes
- JDK-8316361: C2: assert(!failure) failed: Missed optimization opportunity in PhaseIterGVN with -XX:VerifyIterativeGVN=10
- JDK-8316389: Open source few AWT applet tests
- JDK-8316756: C2 EA fails with "missing memory path" when encountering unsafe_arraycopy stub call
- JDK-8317112: Add screenshot for Frame/DefaultSizeTest.java
- JDK-8317128: java/nio/file/Files/CopyAndMove.java failed with AccessDeniedException
- JDK-8317240: Promptly free OopMapEntry after fail to insert the entry to OopMapCache
- JDK-8317288: [macos] java/awt/Window/Grab/GrabTest.java: Press on the outside area didn't cause ungrab
- JDK-8317299: safepoint scalarization doesn't keep track of the depth of the JVM state
- JDK-8317360: Missing null checks in JfrCheckpointManager and JfrStringPool initialization routines
- JDK-8317372: Refactor some NumberFormat tests to use JUnit
- JDK-8317446: ProblemList gc/arguments/TestNewSizeFlags.java on macosx-aarch64 in Xcomp
- JDK-8317449: ProblemList serviceability/jvmti/stress/StackTrace/NotSuspended/GetStackTraceNotSuspendedStressTest.java on several platforms
- JDK-8317635: Improve GetClassFields test to verify correctness of field order
- JDK-8317696: Fix compilation with clang-16
- JDK-8317738: CodeCacheFullCountTest failed with "VirtualMachineError: Out of space in CodeCache for method handle intrinsic"
- JDK-8317831: compiler/codecache/CheckLargePages.java fails on OL 8.8 with unexpected memory string
- JDK-8318071: IgnoreUnrecognizedVMOptions flag still causes failure in ArchiveHeapTestClass
- JDK-8318479: [jmh] the test security.CacheBench failed for multiple threads run
- JDK-8318605: Enable parallelism in vmTestbase/nsk/stress/stack tests
- JDK-8319197: Exclude hb-subset and hb-style from compilation
- JDK-8319406: x86: Shorter movptr(reg, imm) for 32-bit immediates
- JDK-8319773: Avoid inflating monitors when installing hash codes for LM_LIGHTWEIGHT
- JDK-8319793: C2 compilation fails with "Bad graph detected in build_loop_late" after JDK-8279888
- JDK-8319817: Charset constructor should make defensive copy of aliases
- JDK-8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer)
- JDK-8320079: The ArabicBox.java test has no control buttons
- JDK-8320212: Disable GCC stringop-overflow warning for affected files
- JDK-8320379: C2: Sort spilling/unspilling sequence for better ld/st merging into ldp/stp on AArch64
- JDK-8320602: Lock contention in SchemaDVFactory.getInstance()
- JDK-8320608: Many jtreg printing tests are missing the @printer keyword
- JDK-8320655: awt screencast robot spin and sync issues with native libpipewire api
- JDK-8320675: PrinterJob/SecurityDialogTest.java hangs
- JDK-8320945: problemlist tests failing on latest Windows 11 update
- JDK-8321025: Enable Neoverse N1 optimizations for Neoverse V2
- JDK-8321176: [Screencast] make a second attempt on screencast failure
- JDK-8321206: Make Locale related system properties `StaticProperty`
- JDK-8321220: JFR: RecordedClass reports incorrect modifiers
- JDK-8321278: C2: Partial peeling fails with assert "last_peel <- first_not_peeled"
- JDK-8321509: False positive in get_trampoline fast path causes crash
- JDK-8321933: TestCDSVMCrash.java spawns two processes
- JDK-8322008: Exclude some CDS tests from running with -Xshare:off
- JDK-8322062: com/sun/jdi/JdwpAllowTest.java does not performs negative testing with prefix length
- JDK-8322330: JavadocHelperTest.java OOMEs with Parallel GC and ZGC
- JDK-8322726: C2: Unloaded signature class kills argument value
- JDK-8322743: C2: prevent lock region elimination in OSR compilation
- JDK-8322766: Micro bench SSLHandshake should use default algorithms
- JDK-8322881: java/nio/file/Files/CopyMoveVariations.java fails with AccessDeniedException due to permissions of files in /tmp
- JDK-8322971: KEM.getInstance() should check if a 3rd-party security provider is signed
- JDK-8322996: BoxLockNode creation fails with assert(reg < CHUNK_SIZE) failed: sanity
- JDK-8323122: AArch64: Increase itable stub size estimate
- JDK-8323196: jdk/jfr/api/consumer/filestream/TestOrdered.java failed with "Events are not ordered! Reuse = false"
- JDK-8323274: C2: array load may float above range check
- JDK-8323552: AbstractMemorySegmentImpl#mismatch returns -1 when comparing distinct areas of the same instance of MemorySegment
- JDK-8323577: C2 SuperWord: remove AlignVector restrictions on IR tests added in JDK-8305055
- JDK-8323584: AArch64: Unnecessary ResourceMark in NativeCall::set_destination_mt_safe
- JDK-8323670: A few client tests intermittently throw ConcurrentModificationException
- JDK-8323682: C2: guard check is not generated in Arrays.copyOfRange intrinsic when allocation is eliminated by EA
- JDK-8323782: Race: Thread::interrupt vs. AbstractInterruptibleChannel.begin
- JDK-8323801: <s> tag doesn't strikethrough the text
- JDK-8323972: C2 compilation fails with assert(!x->as_Loop()->is_loop_nest_inner_loop()) failed: loop was transformed
- JDK-8324174: assert(m->is_entered(current)) failed: invariant
- JDK-8324577: [REDO] - [IMPROVE] OPEN_MAX is no longer the max limit on macOS >= 10.6 for RLIMIT_NOFILE
- JDK-8324580: SIGFPE on THP initialization on kernels < 4.10
- JDK-8324641: [IR Framework] Add Setup method to provide custom arguments and set fields
- JDK-8324668: JDWP process management needs more efficient file descriptor handling
- JDK-8324755: Enable parallelism in vmTestbase/gc/gctests/LargeObjects tests
- JDK-8324781: runtime/Thread/TestAlwaysPreTouchStacks.java failed with Expected a higher ratio between stack committed and reserved
- JDK-8324808: Manual printer tests have no Pass/Fail buttons, instructions close set 3
- JDK-8324969: C2: prevent elimination of unbalanced coarsened locking regions
- JDK-8324983: Race in CompileBroker::possibly_add_compiler_threads
- JDK-8325022: Incorrect error message on client authentication
- JDK-8325037: x86: enable and fix hotspot/jtreg/compiler/vectorization/TestRoundVectFloat.java
- JDK-8325083: jdk/incubator/vector/Double512VectorTests.java crashes in Assembler::vex_prefix_and_encode
- JDK-8325179: Race in BasicDirectoryModel.validateFileCache
- JDK-8325218: gc/parallel/TestAlwaysPreTouchBehavior.java fails
- JDK-8325382: (fc) FileChannel.transferTo throws IOException when position equals size
- JDK-8325384: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java failing intermittently when main thread is a virtual thread
- JDK-8325469: Freeze/Thaw code can crash in the presence of OSR frames
- JDK-8325494: C2: Broken graph after not skipping CastII node anymore for Assertion Predicates after JDK-8309902
- JDK-8325520: Vector loads and stores with indices and masks incorrectly compiled
- JDK-8325542: CTW: Runner can produce negative StressSeed
- JDK-8325587: Shenandoah: ShenandoahLock should allow blocking in VM
- JDK-8325616: JFR ZGC Allocation Stall events should record stack traces
- JDK-8325620: HTMLReader uses ConvertAction instead of specified CharacterAction for <b>, <i>, <u>
- JDK-8325754: Dead AbstractQueuedSynchronizer$ConditionNodes survive minor garbage collections
- JDK-8325763: Revert properties: vm.opt.x.*
- JDK-8326106: Write and clear stack trace table outside of safepoint
- JDK-8326129: Java Record Pattern Match leads to infinite loop
- JDK-8326332: Unclosed inline tags cause misalignment in summary tables
- JDK-8326717: Disable stringop-overflow in shenandoahLock.cpp
- JDK-8326734: text-decoration applied to <span> lost when mixed with <u> or <s>
- JDK-8327007: javax/swing/JSpinner/8008657/bug8008657.java fails
- JDK-8327040: Problemlist ActionListenerCalledTwiceTest.java test failing in macos14
- JDK-8327137: Add test for ConcurrentModificationException in BasicDirectoryModel
- JDK-8327401: Some jtreg tests fail on Wayland without any tracking bug
- JDK-8327423: C2 remove_main_post_loops: check if main-loop belongs to pre-loop, not just assert
- JDK-8327424: ProblemList serviceability/sa/TestJmapCore.java on all platforms with ZGC
- JDK-8327501: Common ForkJoinPool prevents class unloading in some cases
- JDK-8327650: Test java/nio/channels/DatagramChannel/StressNativeSignal.java timed out
- JDK-8327787: Convert javax/swing/border/Test4129681.java applet test to main
- JDK-8327840: Automate javax/swing/border/Test4129681.java
- JDK-8327990: [macosx-aarch64] Various tests fail with -XX:+AssertWXAtThreadSync
- JDK-8328011: Convert java/awt/Frame/GetBoundsResizeTest/GetBoundsResizeTest.java applet test to main
- JDK-8328075: Shenandoah: Avoid forwarding when objects don't move in full-GC
- JDK-8328110: Allow simultaneous use of PassFailJFrame with split UI and additional windows
- JDK-8328115: Convert java/awt/font/TextLayout/TestJustification.html applet test to main
- JDK-8328158: Convert java/awt/Choice/NonFocusablePopupMenuTest to automatic main test
- JDK-8328218: Delete test java/awt/Window/FindOwner/FindOwner.html
- JDK-8328234: Remove unused nativeUtils files
- JDK-8328238: Convert few closed manual applet tests to main
- JDK-8328269: NonFocusablePopupMenuTest.java should be marked as headful
- JDK-8328273: sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java failed with java.rmi.server.ExportException: Port already in use
- JDK-8328366: Thread.setContextClassloader from thread in FJP commonPool task no longer works after JDK-8327501
- JDK-8328560: java/awt/event/MouseEvent/ClickDuringKeypress/ClickDuringKeypress.java imports Applet
- JDK-8328561: test java/awt/Robot/ManualInstructions/ManualInstructions.java isn't used
- JDK-8328642: Convert applet test MouseDraggedOutCauseScrollingTest.html to main
- JDK-8328647: TestGarbageCollectorMXBean.java fails with C1-only and -Xcomp
- JDK-8328697: SubMenuShowTest and SwallowKeyEvents tests stabilization
- JDK-8328785: IOException: Symbol not found: C_GetInterface for PKCS11 interface prior to V3.0
- JDK-8328896: Fontmetrics for large Fonts has zero width
- JDK-8328953: JEditorPane.read throws ChangedCharSetException
- JDK-8328999: Update GIFlib to 5.2.2
- JDK-8329004: Update Libpng to 1.6.43
- JDK-8329088: Stack chunk thawing races with concurrent GC stack iteration
- JDK-8329103: assert(!thread->in_asgct()) failed during multi-mode profiling
- JDK-8329126: No native wrappers generated anymore with -XX:-TieredCompilation after JDK-8251462
- JDK-8329134: Reconsider TLAB zapping
- JDK-8329258: TailCall should not use frame pointer register for jump target
- JDK-8329510: Update ProblemList for JFileChooser/8194044/FileSystemRootTest.java
- JDK-8329559: Test javax/swing/JFrame/bug4419914.java failed because The End and Start buttons are not placed correctly and Tab focus does not move as expected
- JDK-8329665: fatal error: memory leak: allocating without ResourceMark
- JDK-8329667: [macos] Issue with JTree related fix for JDK-8317771
- JDK-8329995: Restricted access to `/proc` can cause JFR initialization to crash
- JDK-8330027: Identity hashes of archived objects must be based on a reproducible random seed
- JDK-8330063: Upgrade jQuery to 3.7.1
- JDK-8330133: libj2pkcs11.so crashes on some pkcs#11 v3.0 libraries
- JDK-8330146: assert(!_thread->is_in_any_VTMS_transition()) failed
- JDK-8330520: linux clang build fails in os_linux.cpp with static_assert with no message is a C++17 extension
- JDK-8330576: ZYoungCompactionLimit should have range check
- JDK-8330611: AES-CTR vector intrinsic may read out of bounds (x86_64, AVX-512)
- JDK-8330748: ByteArrayOutputStream.writeTo(OutputStream) pins carrier
- JDK-8330814: Cleanups for KeepAliveCache tests
- JDK-8330819: C2 SuperWord: bad dominance after pre-loop limit adjustment with base that has CastLL after pre-loop
- JDK-8330849: Add test to verify memory usage with recursive locking
- JDK-8330981: ZGC: Should not dedup strings in the finalizer graph
- JDK-8331011: [XWayland] TokenStorage fails under Security Manager
- JDK-8331063: Some HttpClient tests don't report leaks
- JDK-8331077: nroff man page update for jar tool
- JDK-8331142: Add test for number of loader threads in BasicDirectoryModel
- JDK-8331153: JFR: Improve logging of jdk/jfr/api/consumer/filestream/TestOrdered.java
- JDK-8331164: createJMHBundle.sh download jars fail when url needed to be redirected
- JDK-8331266: Bump update version for OpenJDK: jdk-21.0.5
- JDK-8331405: Shenandoah: Optimize ShenandoahLock with TTAS
- JDK-8331411: Shenandoah: Reconsider spinning duration in ShenandoahLock
- JDK-8331421: ubsan: vmreg.cpp checking error member call on misaligned address
- JDK-8331495: Limit BasicDirectoryModel/LoaderThreadCount.java to Windows only
- JDK-8331518: Tests should not use the "Classpath" exception form of the legal header
- JDK-8331572: Allow using OopMapCache outside of STW GC phases
- JDK-8331573: Rename CollectedHeap::is_gc_active to be explicitly about STW GCs
- JDK-8331575: C2: crash when ConvL2I is split thru phi at LongCountedLoop
- JDK-8331605: jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java test failure
- JDK-8331626: unsafe.cpp:162:38: runtime error in index_oop_from_field_offset_long - applying non-zero offset 4563897424 to null pointer
- JDK-8331714: Make OopMapCache installation lock-free
- JDK-8331731: ubsan: relocInfo.cpp:155:30: runtime error: applying non-zero offset to null pointer
- JDK-8331746: Create a test to verify that the cmm id is not ignored
- JDK-8331771: ZGC: Remove OopMapCacheAlloc_lock ordering workaround
- JDK-8331789: ubsan: deoptimization.cpp:403:29: runtime error: load of value 208, which is not a valid value for type 'bool'
- JDK-8331798: Remove unused arg of checkErgonomics() in TestMaxHeapSizeTools.java
- JDK-8331854: ubsan: copy.hpp:218:10: runtime error: addition of unsigned offset to 0x7fc2b4024518 overflowed to 0x7fc2b4024510
- JDK-8331863: DUIterator_Fast used before it is constructed
- JDK-8331885: C2: meet between unloaded and speculative types is not symmetric
- JDK-8331931: JFR: Avoid loading regex classes during startup
- JDK-8331999: BasicDirectoryModel/LoaderThreadCount.java frequently fails on Windows in CI
- JDK-8332008: Enable issuestitle check
- JDK-8332113: Update nsk.share.Log to be always verbose
- JDK-8332154: Memory leak in SynchronousQueue
- JDK-8332174: Remove 2 (unpaired) RLO Unicode characters in ff_Adlm.xml
- JDK-8332248: (fc) java/nio/channels/FileChannel/BlockDeviceSize.java failed with RuntimeException
- JDK-8332424: Update IANA Language Subtag Registry to Version 2024-05-16
- JDK-8332431: NullPointerException in JTable of SwingSet2
- JDK-8332473: ubsan: growableArray.hpp:290:10: runtime error: null pointer passed as argument 1, which is declared to never be null
- JDK-8332490: JMH org.openjdk.bench.java.util.zip.InflaterInputStreams.inflaterInputStreamRead OOM
- JDK-8332499: Gtest codestrings.validate_vm fail on linux x64 when hsdis is present
- JDK-8332524: Instead of printing "TLSv1.3," it is showing "TLS13"
- JDK-8332589: ubsan: unix/native/libjava/ProcessImpl_md.c:562:5: runtime error: null pointer passed as argument 2, which is declared to never be null
- JDK-8332675: test/hotspot/jtreg/gc/testlibrary/Helpers.java compileClass javadoc does not match after 8321812
- JDK-8332699: ubsan: jfrEventSetting.inline.hpp:31:43: runtime error: index 163 out of bounds for type 'jfrNativeEventSetting [162]'
- JDK-8332717: ZGC: Division by zero in heuristics
- JDK-8332720: ubsan: instanceKlass.cpp:3550:76: runtime error: member call on null pointer of type 'struct Array'
- JDK-8332818: ubsan: archiveHeapLoader.cpp:70:27: runtime error: applying non-zero offset 18446744073707454464 to null pointer
- JDK-8332825: ubsan: guardedMemory.cpp:35:11: runtime error: null pointer passed as argument 2, which is declared to never be null
- JDK-8332885: Clarify failure_handler self-tests
- JDK-8332894: ubsan: vmError.cpp:2090:26: runtime error: division by zero
- JDK-8332898: failure_handler: log directory of commands
- JDK-8332903: ubsan: opto/output.cpp:1002:18: runtime error: load of value 171, which is not a valid value for type 'bool'
- JDK-8332904: ubsan ppc64le: c1_LIRGenerator_ppc.cpp:581:21: runtime error: signed integer overflow: 9223372036854775807 + 1 cannot be represented in type 'long int'
- JDK-8332905: C2 SuperWord: bad AD file, with RotateRightV and first operand not a pack
- JDK-8332920: C2: Partial Peeling is wrongly applied for CmpU with negative limit
- JDK-8332935: Crash: assert(*lastPtr != 0) failed: Mismatched JNINativeInterface tables, check for new entries
- JDK-8332936: Test vmTestbase/metaspace/gc/watermark_70_80/TestDescription.java fails with no GC's recorded
- JDK-8332959: C2: ZGC fails with 'Incorrect load shift' when invoking Object.clone() reflectively on an array
- JDK-8333088: ubsan: shenandoahAdaptiveHeuristics.cpp:245:44: runtime error: division by zero
- JDK-8333093: Incorrect comment in zAddress_aarch64.cpp
- JDK-8333099: Missing check for is_LoadVector in StoreNode::Identity
- JDK-8333149: ubsan : memset on nullptr target detected in jvmtiEnvBase.cpp get_object_monitor_usage
- JDK-8333178: ubsan: jvmti_tools.cpp:149:16: runtime error: null pointer passed as argument 2, which is declared to never be null
- JDK-8333270: HandlersOnComplexResetUpdate and HandlersOnComplexUpdate tests fail with "Unexpected reference" if timeoutFactor is less than 1/3
- JDK-8333277: ubsan: mlib_ImageScanPoly.c:292:43: runtime error: division by zero
- JDK-8333353: Delete extra empty line in CodeBlob.java
- JDK-8333354: ubsan: frame.inline.hpp:91:25: and src/hotspot/share/runtime/frame.inline.hpp:88:29: runtime error: member call on null pointer of type 'const struct SmallRegisterMap'
- JDK-8333361: ubsan,test : libHeapMonitorTest.cpp:518:9: runtime error: null pointer passed as argument 2, which is declared to never be null
- JDK-8333363: ubsan: instanceKlass.cpp: runtime error: member call on null pointer of type 'struct AnnotationArray'
- JDK-8333366: C2: CmpU3Nodes are not pushed back to worklist in PhaseCCP leading to non-fixpoint assertion failure
- JDK-8333398: Uncomment the commented test in test/jdk/java/util/jar/JarFile/mrjar/MultiReleaseJarAPI.java
- JDK-8333462: Performance regression of new DecimalFormat() when compare to jdk11
- JDK-8333477: Delete extra empty spaces in Makefiles
- JDK-8333542: Breakpoint in parallel code does not work
- JDK-8333622: ubsan: relocInfo_x86.cpp:101:56: runtime error: pointer index expression with base (-1) overflowed
- JDK-8333639: ubsan: cppVtables.cpp:81:55: runtime error: index 14 out of bounds for type 'long int [1]'
- JDK-8333652: RISC-V: compiler/vectorapi/VectorGatherMaskFoldingTest.java fails when using RVV
- JDK-8333716: Shenandoah: Check for disarmed method before taking the nmethod lock
- JDK-8333724: Problem list security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java#teliasonerarootcav1
- JDK-8333804: java/net/httpclient/ForbiddenHeadTest.java threw an exception with 0 failures
- JDK-8333887: ubsan: unsafe.cpp:247:13: runtime error: store to null pointer of type 'volatile int'
- JDK-8334078: RISC-V: TestIntVect.java fails after JDK-8332153 when running without RVV
- JDK-8334123: log the opening of Type 1 fonts
- JDK-8334166: Enable binary check
- JDK-8334239: Introduce macro for ubsan method/function exclusions
- JDK-8334297: (so) java/nio/channels/SocketChannel/OpenLeak.java should not depend on SecurityManager
- JDK-8334332: TestIOException.java fails if run by root
- JDK-8334333: MissingResourceCauseTestRun.java fails if run by root
- JDK-8334339: Test java/nio/file/attribute/BasicFileAttributeView/CreationTime.java fails on alinux3
- JDK-8334418: Update IANA Language Subtag Registry to Version 2024-06-14
- JDK-8334421: assert(!oldbox->is_unbalanced()) failed: this should not be called for unbalanced region
- JDK-8334482: Shenandoah: Deadlock when safepoint is pending during nmethods iteration
- JDK-8334592: ProblemList serviceability/jvmti/stress/StackTrace/NotSuspended/GetStackTraceNotSuspendedStressTest.java in jdk21 on all platforms
- JDK-8334594: Generational ZGC: Deadlock after OopMap rewrites in 8331572
- JDK-8334600: TEST java/net/MulticastSocket/IPMulticastIF.java fails on linux-aarch64
- JDK-8334618: ubsan: support setting additional ubsan check options
- JDK-8334653: ISO 4217 Amendment 177 Update
- JDK-8334769: Shenandoah: Move CodeCache_lock close to its use in ShenandoahConcurrentNMethodIterator
- JDK-8334867: Add back assertion from JDK-8325494
- JDK-8335007: Inline OopMapCache table
- JDK-8335134: Test com/sun/jdi/BreakpointOnClassPrepare.java timeout
- JDK-8335150: Test LogGeneratedClassesTest.java fails on rpmbuild mock enviroment
- JDK-8335237: ubsan: vtableStubs.hpp is_vtable_stub exclude from ubsan checks
- JDK-8335283: Build failure due to 'no_sanitize' attribute directive ignored
- JDK-8335409: Can't allocate and retain memory from resource area in frame::oops_interpreted_do oop closure after 8329665
- JDK-8335493: check_gc_overhead_limit should reset SoftRefPolicy::_should_clear_all_soft_refs
- JDK-8335536: Fix assertion failure in IdealGraphPrinter when append is true
- JDK-8335743: jhsdb jstack cannot print some information on the waiting thread
- JDK-8335775: Remove extraneous 's' in comment of rawmonitor.cpp test file
- JDK-8335904: Fix invalid comment in ShenandoahLock
- JDK-8335967: "text-decoration: none" does not work with "A" HTML tags
- JDK-8336284: Test TestClhsdbJstackLock.java/TestJhsdbJstackLock.java fails with -Xcomp after JDK-8335743
- JDK-8336301: test/jdk/java/nio/channels/AsyncCloseAndInterrupt.java leaves around a FIFO file upon test completion
- JDK-8336342: Fix known X11 library locations in sysroot
- JDK-8336343: Add more known sysroot library locations for ALSA
- JDK-8336926: jdk/internal/util/ReferencedKeyTest.java can fail with ConcurrentModificationException
- JDK-8336928: GHA: Bundle artifacts removal broken
- JDK-8337038: Test java/nio/file/attribute/BasicFileAttributeView/CreationTime.java shoud set as /native
- JDK-8337283: configure.log is truncated when build dir is on different filesystem
- JDK-8337622: IllegalArgumentException in java.lang.reflect.Field.get
- JDK-8337664: Distrust TLS server certificates issued after Oct 2024 and anchored by Entrust Root CAs
- JDK-8338139: {ClassLoading,Memory}MXBean::isVerbose methods are inconsistent with their setVerbose methods
- JDK-8338286: GHA: Demote x86_32 to hotspot build only
- JDK-8338696: (fs) BasicFileAttributes.creationTime() falls back to epoch if birth time is unavailable (Linux)
- JDK-8339869: [21u] Test CreationTime.java fails with UnsatisfiedLinkError after 8334339
- JDK-8341057: Add 2 SSL.com TLS roots
- JDK-8341059: Change Entrust TLS distrust date to November 12, 2024
- JDK-8341674: [21u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.5
- JDK-8341989: [21u] Back out JDK-8327501 and JDK-8328366
Notes on individual issues:
===========================
security-libs/javax.net.ssl:
JDK-8337664: Distrust TLS server certificates issued after Oct 2024 and anchored by Entrust Root CAs
JDK-8341059: Change Entrust TLS distrust date to November 12, 2024
====================================================================================================
In accordance with similar plans recently announced by Google and
Mozilla, the JDK will not trust Transport Layer Security (TLS)
certificates issued after the 11th of November 2024 which are anchored
by Entrust root certificates. This includes certificates branded as
AffirmTrust, which are managed by Entrust.
Certificates issued on or before November 11th, 2024 will continue to
be trusted until they expire.
If a server's certificate chain is anchored by an affected
certificate, attempts to negotiate a TLS session will fail with an
Exception that indicates the trust anchor is not trusted. For example,
"TLS server certificate issued after 2024-11-11 and anchored by a
distrusted legacy Entrust root CA: CN=Entrust.net Certification
Authority (2048), OU=(c) 1999 Entrust.net Limited,
OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),
O=Entrust.net"
To check whether a certificate in a JDK keystore is affected by this
change, you can the `keytool` utility:
keytool -v -list -alias <your_server_alias> -keystore <your_keystore_filename>
If any of the certificates in the chain are affected by this change,
then you will need to update the certificate or contact the
organisation responsible for managing the certificate.
These restrictions apply to the following Entrust root certificates
included in the JDK:
Alias name: entrustevca [jdk]
CN=Entrust Root Certification Authority
OU=(c) 2006 Entrust, Inc.
OU=www.entrust.net/CPS is incorporated by reference
O=Entrust, Inc.
C=US
SHA256: 73:C1:76:43:4F:1B:C6:D5:AD:F4:5B:0E:76:E7:27:28:7C:8D:E5:76:16:C1:E6:E6:14:1A:2B:2C:BC:7D:8E:4C
Alias name: entrustrootcaec1 [jdk]
CN=Entrust Root Certification Authority - EC1
OU=(c) 2012 Entrust, Inc. - for authorized use only
OU=See www.entrust.net/legal-terms
O=Entrust, Inc.
C=US
SHA256: 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5
Alias name: entrustrootcag2 [jdk]
CN=Entrust Root Certification Authority - G2
OU=(c) 2009 Entrust, Inc. - for authorized use only
OU=See www.entrust.net/legal-terms
O=Entrust, Inc.
C=US
SHA256: 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39
Alias name: entrustrootcag4 [jdk]
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
SHA256: DB:35:17:D1:F6:73:2A:2D:5A:B9:7C:53:3E:C7:07:79:EE:32:70:A6:2F:B4:AC:42:38:37:24:60:E6:F0:1E:88
Alias name: entrust2048ca [jdk]
CN=Entrust.net Certification Authority (2048)
OU=(c) 1999 Entrust.net Limited
OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)
O=Entrust.net
SHA256: 6D:C4:71:72:E0:1C:BC:B0:BF:62:58:0D:89:5F:E2:B8:AC:9A:D4:F8:73:80:1E:0C:10:B9:C8:37:D2:1E:B1:77
Alias name: affirmtrustcommercialca [jdk]
CN=AffirmTrust Commercial
O=AffirmTrust
C=US
SHA256: 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7
Alias name: affirmtrustnetworkingca [jdk]
CN=AffirmTrust Networking
O=AffirmTrust
C=US
SHA256: 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0B4:1B
Alias name: affirmtrustpremiumca [jdk]
CN=AffirmTrust Premium
O=AffirmTrust
C=US
SHA256: 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A
Alias name: affirmtrustpremiumeccca [jdk]
CN=AffirmTrust Premium ECC
O=AffirmTrust
C=US
SHA256: BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23
Users can, *at their own risk*, remove this restriction by modifying
the `java.security` configuration file (or override it by using the
`java.security.properties` system property) so "ENTRUST_TLS" is no
longer listed in the `jdk.security.caDistrustPolicies` security
property.
security-libs/javax.crypto:
JDK-8322971: `KEM.getInstance()` Should Check If a Third-Party Security Provider Is Signed
==========================================================================================
The JDK's cryptographic framework authenticates third party security
provider implementations by determining the provider's codebase and
verifying its signature. In previous OpenJDK releases, this
authentication did not take place for Key Encapsulation Mechanism
(KEM) implementations. With this release, KEM implementations are
authenticated in a manner consistent with other JDK service types,
such as Cipher and Mac providers.
tools/launcher:
JDK-8310201: Reduce verbose locale output in -XshowSettings launcher option
===========================================================================
In previous releases of OpenJDK, the `-XshowSettings` launcher option printed a
long list of available locales which obscured other settings. In this release,
the `-XshowSettings` launcher option no longer prints the list of available
locales by default. To view all settings related to available locales, users
can now use the -XshowSettings:locale option.
security-libs/java.security:
JDK-8051959: Add thread and timestamp options to java.security.debug system property
====================================================================================
This release adds the following additional options to the
`java.security.debug` property which can be applied to any specified
component:
* `+timestamp`: Print a timestamp with each debug statement.
* `+thread`: Print thread and caller information for each debug statement.
For example, `-Djava.security.debug=all+timestamp+thread` turns on
debug information for all components with both timestamps and thread
information.
In contrast, `-Djava.security.debug=properties+timestamp` turns on
debug information only for security properties and includes a
timestamp.
You can use `-Djava.security.debug=help` to display a complete list of
supported components and options.
JDK-8341057: Add 2 SSL.com TLS roots
====================================
The following root certificates have been added to the cacerts
truststore:
Name: SSL.com
Alias Name: ssltlsrootecc2022
Distinguished Name: CN=SSL.com TLS ECC Root CA 2022, O=SSL Corporation, C=US
Name: SSL.com
Alias Name: ssltlsrootrsa2022
Distinguished Name: CN=SSL.com TLS RSA Root CA 2022, O=SSL Corporation, C=US
core-libs/java.net:
JDK-8328286: Enhance HTTP client
================================
This OpenJDK release limits the maximum header field size accepted by
the HTTP client within the JDK for all supported versions of the HTTP
protocol. The header field size is computed as the sum of the size of
the uncompressed header name, the size of the uncompressed header
value and a overhead of 32 bytes for each field section line. If a
peer sends a field section that exceeds this limit, a
`java.net.ProtocolException` will be raised.
This release also introduces a new system property,
`jdk.http.maxHeaderSize`. This property can be used to alter the
maximum header field size (in bytes) or disable it by setting the
value to zero or a negative value. The default value is 393,216 bytes
or 384kB.
core-svc/java.lang.management:
JDK-8338139: {ClassLoading,Memory}MXBean::isVerbose methods are inconsistent with their setVerbose methods
==========================================================================================================
In previous OpenJDK releases, the behaviour of the `isVerbose` and
`setVerbose` methods in `ClassLoadingMXBean` and `MemoryMXBean` was
inconsistent. The `setVerbose` method would only alter the level of
logging to `stdout`, setting it to `info` when passed the argument
`true`, and `off` when passed `false`. However, the `isVerbose` method
would check if logging was enabled on any output, causing it to return
`true` due to the presence of file logging, even when
`setVerbose(false)` had been called to turn off `stdout` logging.
With this release, the `isVerbose` methods only return `true` if
`stdout` logging is enabled.
New in release OpenJDK 21.0.4 (2024-07-16):
===========================================
Live versions of these release notes can be found at:

@ -30,7 +30,9 @@
# This is RHEL 7 specific as it doesn't seem to have the
# __brp_strip_static_archive macro.
%if 0%{?rhel} == 7
%define __os_install_post %{nil}
%endif
# Workaround for stripping of debug symbols from static libraries
%if %{with staticlibs}
@ -55,6 +57,10 @@
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
%global _find_debuginfo_opts -g
# Disable LTO as this causes build failures at the moment.
# See RHBZ#1861401
%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:
@ -116,11 +122,11 @@
# Set of architectures which support multiple ABIs
%global multilib_arches %{power64} sparc64 x86_64
# Set of architectures for which we build slowdebug builds
%global debug_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} s390x
%global debug_arches %{ix86} x86_64 riscv64 sparcv9 sparc64 %{aarch64} %{power64} s390x
# Set of architectures for which we build fastdebug builds
%global fastdebug_arches x86_64 ppc64le aarch64
%global fastdebug_arches x86_64 riscv64 ppc64le aarch64
# Set of architectures with a Just-In-Time (JIT) compiler
%global jit_arches %{arm} %{aarch64} %{ix86} %{power64} s390x sparcv9 sparc64 x86_64
%global jit_arches %{arm} riscv64 %{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
@ -128,21 +134,21 @@
# Set of architectures which support SystemTap tapsets
%global systemtap_arches %{jit_arches}
# Set of architectures with a Ahead-Of-Time (AOT) compiler
%global aot_arches x86_64 %{aarch64}
%global aot_arches x86_64 riscv64 %{aarch64}
# Set of architectures which support the serviceability agent
%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
%global sa_arches %{ix86} riscv64 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}
# Set of architectures for which we build the Shenandoah garbage collector
%global shenandoah_arches x86_64 %{aarch64}
%global shenandoah_arches x86_64 riscv64 %{aarch64}
# Set of architectures for which we build the Z garbage collector
%global zgc_arches x86_64
%global zgc_arches x86_64 riscv64
# 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 for which java has short vector math library (libjsvml.so)
%global svml_arches x86_64 riscv64
# Set of architectures where we verify backtraces with gdb
# s390x fails on RHEL 7 so we exclude it there
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
@ -152,6 +158,11 @@
%endif
# Architecture on which we run Java only tests
%global jdk_test_arch x86_64
# Set of architectures for which we have a devkit
# Only used on RHEL
%if 0%{?centos} == 0
%global devkit_arches riscv64 %{aarch64} %{ppc64le} s390x x86_64
%endif
# By default, we build a slowdebug build during main build on JIT architectures
%if %{with slowdebug}
@ -232,11 +243,9 @@
%global hotspot_target hotspot
# DTS toolset to use to provide gcc & binutils
%if 0%{?rhel} == 7
%global dtsversion 10
# Disable LTO as this causes build failures at the moment.
# See RHBZ#1861401
%define _lto_cflags %{nil}
%endif
# 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
@ -301,6 +310,10 @@
%global archinstall sparcv9
%global stapinstall %{_target_cpu}
%endif
%ifarch riscv64
%global archinstall riscv64
%global stapinstall %{_target_cpu}
%endif
# Need to support noarch for srpm build
%ifarch noarch
%global archinstall %{nil}
@ -316,7 +329,7 @@
# New Version-String scheme-style defines
%global featurever 21
%global interimver 0
%global updatever 4
%global updatever 6
%global patchver 0
# buildjdkver is usually same as %%{featurever},
# but in time of bootstrap of next jdk, it is featurever-1,
@ -485,6 +498,7 @@
%define jrebindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
%global alt_java_name alt-java
%global devkit_name %{origin}-devkit
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
@ -519,10 +533,19 @@
# Prevent brp-java-repack-jars from being run
%global __jar_repack 0
# Define the architectures on which we build
ExclusiveArch: %{aarch64} %{ppc64le} s390x x86_64
# Define the OS this package is built on
# Define an optional suffix for the OS this package is built on
%if 0%{?rhel} == 7
%undefine pkgos
%endif
# Define the architectures on which we build
# On RHEL, this should be the architectures with a devkit
%if 0%{?centos} == 0
ExclusiveArch: %{devkit_arches} riscv64
%else
ExclusiveArch: %{aarch64} %{ppc64le} s390x x86_64 riscv64
%endif
Name: java-%{javaver}-%{origin}-portable%{?pkgos:-%{pkgos}}
Version: %{newjavaver}.%{buildver}
@ -538,11 +561,6 @@ Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
Epoch: 1
# portables have grown out of its component, moving back to java-x-vendor
# this expression, when declared as global, filled component with java-x-vendor portable
%define component %(echo %{name} | sed "s;-portable%{?pkgos:-%{pkgos}};;g")
Summary: %{origin_nice} %{featurever} Runtime Environment portable edition
# Groups are only used up to RHEL 8 and on Fedora versions prior to F30
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
@ -607,7 +625,6 @@ Source18: TestTranslations.java
# RPM/distribution specific patches
#
############################################
# Crypto policy and FIPS support patches
# Patch is generated from the fips-21u tree at https://github.com/rh-openjdk/jdk/tree/fips-21u
# as follows: git diff %%{vcstag} src make test > fips-21u-$(git show -s --format=%h HEAD).patch
@ -660,6 +677,8 @@ Patch1001: fips-%{featurever}u-%{fipsver}.patch
#
#############################################
# Currently empty
#############################################
#
# Portable build specific patches
@ -678,9 +697,19 @@ BuildRequires: desktop-file-utils
BuildRequires: elfutils-devel
BuildRequires: file
BuildRequires: fontconfig-devel
# RHEL 7 builds obtain a newer compiler from DTS
%if 0%{?rhel} == 7
#BuildRequires: devtoolset-%{dtsversion}-gcc
#BuildRequires: devtoolset-%{dtsversion}-gcc-c++
%else
%ifarch %{devkit_arches}
BuildRequires: %{devkit_name} >= 1.0-9
%else
# Earlier versions have a bug in tree vectorization on PPC
BuildRequires: gcc >= 4.8.3-8
BuildRequires: gcc-c++
%endif
%endif
BuildRequires: gdb
BuildRequires: libxslt
BuildRequires: libX11-devel
@ -693,7 +722,7 @@ BuildRequires: libXtst-devel
# Requirement for setting up nss.fips.cfg
BuildRequires: nss-devel
# Requirement for system security property test
# N/A for portable. RHEL7 doesn't provide them
# N/A for portable as we don't enable support for them
#BuildRequires: crypto-policies
BuildRequires: pkgconfig
BuildRequires: xorg-x11-proto-devel
@ -701,22 +730,20 @@ BuildRequires: zip
# to pack portable tarballs
BuildRequires: tar
BuildRequires: unzip
BuildRequires: javapackages-tools
BuildRequires: javapackages-filesystem
BuildRequires: java-%{buildjdkver}-%{origin}%{?pkgos:-%{pkgos}}-devel
# Zero-assembler build requirement
%ifarch %{zero_arches}
BuildRequires: libffi-devel
%endif
# Full documentation build requirements
# pandoc is not available on RHEL 7
%if 0%{?rhel} >= 8
# pandoc is only available on RHEL/CentOS 8
%if 0%{?rhel} == 8
BuildRequires: graphviz
BuildRequires: pandoc
%endif
# cacerts build requirement in portable mode
BuildRequires: ca-certificates
# Earlier versions have a bug in tree vectorization on PPC
BuildRequires: gcc >= 4.8.3-8
%if %{with_systemtap}
BuildRequires: systemtap-sdt-devel
@ -735,7 +762,7 @@ BuildRequires: zlib-devel
# Version in src/java.desktop/share/legal/freetype.md
Provides: bundled(freetype) = 2.13.2
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
Provides: bundled(giflib) = 5.2.1
Provides: bundled(giflib) = 5.2.2
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
Provides: bundled(harfbuzz) = 8.2.2
# Version in src/java.desktop/share/native/liblcms/lcms2.h
@ -743,12 +770,14 @@ Provides: bundled(lcms2) = 2.16.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.40
Provides: bundled(libpng) = 1.6.43
# Version in src/java.base/share/native/libzip/zlib/zlib.h
Provides: bundled(zlib) = 1.3.1
# We link statically against libstdc++ to increase portability
%ifnarch %{devkit_arches}
BuildRequires: libstdc++-static
%endif
%endif
# this is always built, also during debug-only build
# when it is built in debug-only this package is just placeholder
@ -891,12 +920,13 @@ The %{origin_nice} %{featurever} miscellany.
%prep
echo "Preparing %{oj_vendor_version}"
echo "System is RHEL=%{?rhel}%{!?rhel:0}, CentOS=%{?centos}%{!?centos:0}, EPEL=%{?epel}%{!?epel:0}, Fedora=%{?fedora}%{!?fedora:0}"
# Using the echo macro breaks rpmdev-bumpspec, as it parses the first line of stdout :-(
%if 0%{?_build_cpu:1}
echo "CPU: %{_target_cpu}, arch install directory: %{archinstall}, SystemTap install directory: %{_build_cpu}"
%if 0%{?stapinstall:1}
echo "CPU: %{_target_cpu}, arch install directory: %{archinstall}, SystemTap install directory: %{stapinstall}"
%else
%{error:Unrecognised architecture %{_build_cpu}}
%{error:Unrecognised architecture %{_target_cpu}}
%endif
if [ %{include_normal_build} -eq 0 -o %{include_normal_build} -eq 1 ] ; then
@ -1005,8 +1035,27 @@ done
# Prepare desktop files
# Portables do not have desktop integration
%build
# Extract devkit
%ifarch %{devkit_arches}
devkittarball=%{_datadir}/%{devkit_name}/sdk-%{_target_cpu}-%{_target_os}-gnu*.tar.gz
echo "Extracting devkit ${devkittarball}";
mkdir devkit;
tar -C devkit --strip-components=1 -xzf ${devkittarball}
DEVKIT_ROOT=$(pwd)/devkit
source ${DEVKIT_ROOT}/devkit.info
echo "Installed ${DEVKIT_NAME} devkit"
%else
%if 0%{?centos} > 0
echo "No devkit for CentOS %{?centos}"
%else
echo "No devkit for %{_target_cpu} on RHEL %{?rhel}";
%endif
%endif
%build
%ifarch riscv64
export ARCH_DATA_MODEL=64
%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}
@ -1038,6 +1087,15 @@ EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
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
%ifarch %{devkit_arches}
# Remove annobin plugin reference which isn't available in the devkit
EXTRA_CFLAGS="$(echo ${EXTRA_CFLAGS} | sed -e 's|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||')"
EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||')"
# Force DWARF 4 for compatibility
EXTRA_CFLAGS="${EXTRA_CFLAGS} -gdwarf-4"
EXTRA_CPP_FLAGS="${EXTRA_CPP_FLAGS} -gdwarf-4"
%endif
export EXTRA_CFLAGS EXTRA_CPP_FLAGS
# Set modification times (mtimes) of files within JAR files generated
@ -1085,16 +1143,6 @@ export EXTRA_CFLAGS EXTRA_CPP_FLAGS
VERSION_FILE="$(pwd)"/"%{top_level_dir_name}"/make/conf/version-numbers.conf
OPENJDK_UPSTREAM_TAG_EPOCH="$(stat --format=%Y "${VERSION_FILE}")"
echo "Building %{SOURCE11}"
mkdir -p %{altjavaoutputdir}
gcc ${EXTRA_CFLAGS} -o %{altjavaoutputdir}/%{alt_java_name} %{SOURCE11}
echo "Generating %{alt_java_name} man page"
altjavamanpage=%{altjavaoutputdir}/%{alt_java_name}.1
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > ${altjavamanpage}
cat %{top_level_dir_name}/src/java.base/share/man/java.1 >> ${altjavamanpage}
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
function buildjdk() {
local outputdir=${1}
local buildjdk=${2}
@ -1102,6 +1150,7 @@ function buildjdk() {
local debuglevel=${4}
local link_opt=${5}
local debug_symbols=${6}
local devkit=${7}
local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
local top_dir_abs_build_path=$(pwd)/${outputdir}
@ -1123,6 +1172,11 @@ function buildjdk() {
echo "Using debug_symbols: ${debug_symbols}"
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
%ifarch %{devkit_arches}
LIBPATH="${devkit}/lib:${devkit}/lib64"
echo "Setting library path to ${LIBPATH}"
%endif
mkdir -p ${outputdir}
pushd ${outputdir}
@ -1130,19 +1184,23 @@ function buildjdk() {
# rather than ${link_opt} as the system versions
# are always used in a system_libs build, even
# for the static library build
bash -c "bash ${top_dir_abs_src_path}/configure \
LD_LIBRARY_PATH=${LIBPATH} \
bash ${top_dir_abs_src_path}/configure \
%ifarch %{zero_arches}
--with-jvm-variants=zero \
%endif
--with-cacerts-file=`readlink -f %{_sysconfdir}/pki/java/cacerts` \
%ifarch %{devkit_arches}
--with-devkit=${devkit} \
%endif
--with-cacerts-file=$(readlink -f %{_sysconfdir}/pki/java/cacerts) \
--with-version-build=%{buildver} \
--with-version-pre=\"%{ea_designator}\" \
--with-version-opt=\"%{lts_designator}\" \
--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}\" \
--with-version-pre="%{ea_designator}" \
--with-version-opt="%{lts_designator}" \
--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}" \
--with-boot-jdk=${buildjdk} \
--with-debug-level=${debuglevel} \
--with-native-debug-symbols="${debug_symbols}" \
@ -1156,25 +1214,28 @@ function buildjdk() {
--with-lcms=${link_opt} \
--with-harfbuzz=${link_opt} \
--with-stdc++lib=${libc_link_opt} \
--with-extra-cxxflags=\"$EXTRA_CPP_FLAGS\" \
--with-extra-cflags=\"$EXTRA_CFLAGS\" \
--with-extra-ldflags=\"%{ourldflags}\" \
--with-num-cores=\"$NUM_PROC\" \
--with-source-date=\"version\" \
--with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
--with-extra-cflags="$EXTRA_CFLAGS" \
--with-extra-ldflags="%{ourldflags}" \
--with-num-cores="$NUM_PROC" \
--with-source-date="version" \
--disable-javac-server \
%ifarch %{zgc_arches}
--with-jvm-features=zgc \
%endif
--disable-warnings-as-errors"
--disable-warnings-as-errors
cat spec.gmk
bash -c "make LOG=trace $maketargets || \
( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name \"hs_err_pid*.log\" | xargs cat && false )"
LD_LIBRARY_PATH=${LIBPATH} \
make LOG=trace $maketargets || \
( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name \"hs_err_pid*.log\" | xargs cat && false )
popd
}
function stripjdk() {
local outputdir=${1}
local toolpath=${2}
local jdkimagepath=images/%{jdkimage}
local jreimagepath=images/%{jreimage}
local jmodimagepath=images/jmods
@ -1184,6 +1245,14 @@ function stripjdk() {
local jdkoutdir=${outputdir}/${jdkimagepath}
local jreoutdir=${outputdir}/${jreimagepath}
%ifarch %{devkit_arches}
OBJCOPY=${toolpath}/objcopy
STRIP=${toolpath}/strip
%else
OBJCOPY=$(which objcopy)
STRIP=$(which strip)
%endif
if [ "x$suffix" = "x" ] ; then
# Keep the unstripped version for consumption by RHEL RPMs
cp -a ${jdkoutdir}{,.unstripped}
@ -1192,9 +1261,9 @@ function stripjdk() {
for file in $(find ${jdkoutdir} ${jreoutdir} ${supportdir} ${modulebuildpath} -type f) ; do
if file ${file} | cut -d ':' -f 2 | grep -q 'ELF'; then
noextfile=${file/.so/};
bash -c "objcopy --only-keep-debug ${file} ${noextfile}.debuginfo";
bash -c "objcopy --add-gnu-debuglink=${noextfile}.debuginfo ${file}";
bash -c "strip -g ${file}";
${OBJCOPY} --only-keep-debug ${file} ${noextfile}.debuginfo;
${OBJCOPY} --add-gnu-debuglink=${noextfile}.debuginfo ${file};
${STRIP} -g ${file};
fi
done
@ -1465,11 +1534,31 @@ function packagejdk() {
}
%ifarch %{devkit_arches}
DEVKIT_ROOT=$(pwd)/devkit
source ${DEVKIT_ROOT}/devkit.info
GCC="${DEVKIT_TOOLCHAIN_PATH}/gcc --sysroot=${DEVKIT_SYSROOT}"
LIBPATH="${DEVKIT_ROOT}/lib:${DEVKIT_ROOT}/lib64"
%else
GCC=$(which gcc)
%endif
echo "Building %{SOURCE11}"
mkdir -p %{altjavaoutputdir}
LD_LIBRARY_PATH="${LIBPATH}" ${GCC} ${EXTRA_CFLAGS} -o %{altjavaoutputdir}/%{alt_java_name} %{SOURCE11}
echo "Generating %{alt_java_name} man page"
altjavamanpage=%{altjavaoutputdir}/%{alt_java_name}.1
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > ${altjavamanpage}
cat %{top_level_dir_name}/src/java.base/share/man/java.1 >> ${altjavamanpage}
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
%if %{build_hotspot_first}
# Build a fresh libjvm.so first and use it to bootstrap
echo "Building HotSpot only for the latest libjvm.so"
cp -LR --preserve=mode,timestamps %{bootjdk} newboot
systemjdk=$(pwd)/newboot
buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled" "internal"
buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled" "internal" ${DEVKIT_ROOT}
mv build/newboot/jdk/lib/%{vm_variant}/libjvm.so newboot/lib/%{vm_variant}
%else
systemjdk=%{bootjdk}
@ -1512,15 +1601,15 @@ for suffix in %{build_loop} ; do
run_bootstrap=%{bootstrap_build}
fi
if ${run_bootstrap} ; then
buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt} ${debug_symbols}
buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt} ${debug_symbols} ${DEVKIT_ROOT}
installjdk ${bootbuilddir} ${bootinstalldir}
buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols}
stripjdk ${builddir}
buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols} ${DEVKIT_ROOT}
stripjdk ${builddir} ${DEVKIT_TOOLCHAIN_PATH}
installjdk ${builddir} ${installdir}
%{!?with_artifacts:rm -rf ${bootinstalldir}}
else
buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols}
stripjdk ${builddir}
buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols} ${DEVKIT_ROOT}
stripjdk ${builddir} ${DEVKIT_TOOLCHAIN_PATH}
installjdk ${builddir} ${installdir}
fi
packagejdk ${installdir} ${packagesdir} %{altjavaoutputdir}
@ -1554,6 +1643,22 @@ export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
#sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
#${JAVA_HOME}/conf/security/java.security
# Set up tools
%ifarch %{devkit_arches}
DEVKIT_ROOT=$(pwd)/devkit
source ${DEVKIT_ROOT}/devkit.info
NM="${DEVKIT_TOOLCHAIN_PATH}/nm"
%else
NM=$(which nm)
%endif
# elfutils readelf supports more binaries than binutils version on RHEL 8
# and debug symbols tests below were designed around this version
READELF=$(which eu-readelf)
# Only native gdb seems to work
# The devkit gdb needs the devkit stdc++ library but then the JVM
# segfaults when this is on the LD_LIBRARY_PATH
GDB=$(which gdb)
# Check Shenandoah is enabled
%if %{use_shenandoah_hotspot}
$JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version
@ -1615,14 +1720,14 @@ $JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -versi
%endif
# Check java launcher has no SSB mitigation
if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
if ! ${NM} $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
# Check alt-java launcher has SSB mitigation on supported architectures
# set_speculation function exists in both cases, so check for prctl call
%ifarch %{ssbd_arches}
nm %{altjavaoutputdir}/%{alt_java_name} | grep prctl
${NM} %{altjavaoutputdir}/%{alt_java_name} | grep prctl
%else
if ! nm %{altjavaoutputdir}/%{alt_java_name} | grep prctl ; then true ; else false; fi
if ! ${NM} %{altjavaoutputdir}/%{alt_java_name} | grep prctl ; then true ; else false; fi
%endif
%if %{include_staticlibs}
@ -1630,8 +1735,8 @@ if ! nm %{altjavaoutputdir}/%{alt_java_name} | grep prctl ; then true ; else fal
export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}
ls -l $STATIC_LIBS_HOME
ls -l $STATIC_LIBS_HOME/lib
readelf --debug-dump $STATIC_LIBS_HOME/lib/libnet.a | grep Inet4AddressImpl.c
readelf --debug-dump $STATIC_LIBS_HOME/lib/libnet.a | grep Inet6AddressImpl.c
${READELF} --debug-dump $STATIC_LIBS_HOME/lib/libnet.a | grep Inet4AddressImpl.c
${READELF} --debug-dump $STATIC_LIBS_HOME/lib/libnet.a | grep Inet6AddressImpl.c
%endif
# Release builds strip the debug symbols into external .debuginfo files
@ -1650,15 +1755,15 @@ do
# 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
${READELF} -S "$lib" | grep "] .debug_"
test $(${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")
for line in $(${READELF} -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
do
# We expect to see .cpp and .S files, except for architectures like aarch64 and
# s390 where we expect .o and .oS files
@ -1668,17 +1773,17 @@ do
# 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" | \
${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
${READELF} -S "$lib" | grep 'gnu'
if ${READELF} -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
echo "bad .gnu_debuglink section."
eu-readelf -x .gnu_debuglink "$lib"
${READELF} -x .gnu_debuglink "$lib"
false
fi
fi
@ -1690,7 +1795,7 @@ done
# 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" <<EOF | tee gdb.out
${GDB} -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out
handle SIGSEGV pass nostop noprint
handle SIGILL pass nostop noprint
set breakpoint pending on
@ -1837,16 +1942,74 @@ done
%endif
%changelog
* Thu Jul 18 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 1:21.0.4.0.7-1
- Rebuilt for MSVSphere %{msvsphere}
* Thu Jan 23 2025 Arkady L. Shane <tigro@msvsphere-os.ru> - 21.0.6.0.7-1
- Rebuilt for MSVSphere 9.5
* Wed Jul 17 2024 Release Engineering <releng@rockylinux.org> - 21.0.4.0.7-1
* Wed Jan 22 2025 Release Engineering <releng@rockylinux.org> - 21.0.6.0.7-1
- Build for Rocky Linux %{rocky}
- Add riscv64 support
* Sat Jan 11 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.6.0.7-1
- Update to jdk-21.0.6+7 (GA)
- Update release notes to 21.0.6+7
- Build with DWARF 4 debuginfo for compatibility with older toolchains
- Check for CentOS being defined to determine use of devkit
- Bump devkit requirement to 1.0-9 to bring in updated sysroot
- Drop workaround of building s390x with dynamic libstdc++
- Turn on fresh_libjvm now 21.0.5 with JDK-8329088 is released
- ** This tarball is embargoed until 2025-01-21 @ 1pm PT. **
- Resolves: OPENJDK-3556
- Resolves: OPENJDK-3590
- Related: OPENJDK-3070
* Thu Nov 28 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.5.0.11-2
- Bump devkit requirement to 1.0-8 to bring in the gcc with --enable-linker-build-id
- Related: OPENJDK-3068
* Wed Oct 16 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.5.0.11-1
- Update to jdk-21.0.5+11 (GA)
- Update release notes to 21.0.5+11
- Remove local JDK-8327501 & JDK-8328366 backport as this is now upstream.
* Sat Oct 12 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.5.0.10-1
- Update to jdk-21.0.5+10 (GA)
- Update release notes to 21.0.5+10
- Switch to GA mode.
- Revert JDK-8327501 & JDK-8328366 backport until more mature.
- ** This tarball is embargoed until 2024-10-15 @ 1pm PT. **
- Resolves: OPENJDK-3327
- Resolves: OPENJDK-3084
* Thu Oct 10 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.5.0.9-0.1.ea
- Update to jdk-21.0.5+9 (EA)
- Update release notes to 21.0.5+9
* Wed Sep 18 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.5.0.5-0.1.ea
- Update to jdk-21.0.5+5 (EA)
- Update release notes to 21.0.5+5
* Sun Sep 15 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.5.0.1-0.1.ea
- Update to jdk-21.0.5+1 (EA)
- Update release notes to 21.0.5+1
- Switch to EA mode
- Bump giflib version to 5.2.2 following JDK-8328999
- Bump libpng version to 1.6.43 following JDK-8329004
- Turn off fresh_libjvm following JDK-8329088 which changes jdk.internal.vm.StackChunk in CDS archive
- Add build scripts to repository to ease remembering all CentOS & RHEL targets and options
- Make build scripts executable
* Fri Jul 12 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.4.0.7-1
- Update to jdk-21.0.4+7 (GA)
- Update release notes to 21.0.4+7
- Switch to GA mode.
- Sync with RHEL 7 portable build:
- Conditionally define __os_install_post, dtsversion & pkgos only on RHEL 7
- Use ExclusiveArch over ExcludeArch
- Depend on devtoolset only on RHEL 7
- Use javapackages-filesystem rather than manually defining _jvmdir
- Restrict pandoc dependency to RHEL/CentOS 8
- Drop unused component macro
- Sync ExclusiveArch with devkit_arches on RHEL only
- ** This tarball is embargoed until 2024-07-16 @ 1pm PT. **
- Resolves: OPENJDK-2756
- Resolves: OPENJDK-3163
@ -1857,10 +2020,10 @@ done
- Move unstripped, misc and doc tarball handling into normal build / no suffix blocks
- Limit Java only tests to one architecture using jdk_test_arch
- Drop unneeded tzdata-java build dependency following 3e3cf8fa2df7bac2f6a60a0ddd596ec39228a3e1
- Resolves: OPENJDK-3132
- Resolves: OPENJDK-3194
- Resolves: OPENJDK-3181
- Resolves: OPENJDK-3189
- Resolves: OPENJDK-3133
- Resolves: OPENJDK-3237
- Resolves: OPENJDK-3182
- Resolves: OPENJDK-3190
* Sat Jun 22 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.4.0.1-0.1.ea
- Update to jdk-21.0.4+1 (EA)
@ -1868,26 +2031,14 @@ done
- Switch to EA mode
- Bump LCMS 2 version to 2.16.0 following JDK-8321489
- Add zlib build requirement or bundled version (1.3.1), depending on system_libs setting
- Resolves: OPENJDK-3060
- Resolves: OPENJDK-3063
* Tue Jun 11 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.9-3
- Re-run jlink to regenerate the jmods directory and lib/modules with stripped libraries
- Rebuild CDS archives against the updated lib/modules
- Resolves: OPENJDK-2829
* Wed May 01 2024 Thomas Fitzsimmons <fitzsim@redhat.com> - 1:21.0.3.0.9-2
- createtar: Add exclude option
- packagejdk: Exclude debuginfo when creating jdkarchive and jrearchive tarballs
- Resolves: OPENJDK-2995
- Resolves: OPENJDK-3061
- Resolves: OPENJDK-3064
* Sat Apr 13 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.9-1
- Update to jdk-21.0.3+9 (GA)
- Update release notes to 21.0.3+9
- Switch to GA mode.
- Change --with-source-date value to 'version' to match Temurin builds
- ** This tarball is embargoed until 2024-04-16 @ 1pm PT. **
- Resolves: OPENJDK-2585
* Thu Apr 04 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.7-0.1.ea
- Update to jdk-21.0.3+7 (EA)
@ -1897,32 +2048,7 @@ done
- Drop JDK-8009550 which is now available upstream
- Re-generate FIPS patch against 21.0.3+7 following backport of JDK-8325254
* Thu Mar 21 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.1-0.2.ea
- generate_source_tarball.sh: Update examples in header for clarity
- generate_source_tarball.sh: Cleanup message issued when checkout already exists
- generate_source_tarball.sh: Create directory in TMPDIR when using WITH_TEMP
- generate_source_tarball.sh: Only add --depth=1 on non-local repositories
- icedtea_sync.sh: Reinstate from rhel-8.9.0 branch
- Move maintenance scripts to a scripts subdirectory
- discover_trees.sh: Set compile-command and indentation instructions for Emacs
- discover_trees.sh: shellcheck: Do not use -o (SC2166)
- discover_trees.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268)
- discover_trees.sh: shellcheck: Double-quote variable references (SC2086)
- generate_source_tarball.sh: Add authorship
- icedtea_sync.sh: Set compile-command and indentation instructions for Emacs
- icedtea_sync.sh: shellcheck: Double-quote variable references (SC2086)
- icedtea_sync.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268)
- openjdk_news.sh: Set compile-command and indentation instructions for Emacs
- openjdk_news.sh: shellcheck: Double-quote variable references (SC2086)
- openjdk_news.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268)
- openjdk_news.sh: shellcheck: Remove deprecated egrep usage (SC2196)
- generate_source_tarball.sh: Output values of new options WITH_TEMP and OPENJDK_LATEST
- generate_source_tarball.sh: Double-quote DEPTH reference (SC2086)
- Vary reproducible tar creation by version of tar detected
- Set OPENJDK_UPSTREAM_TAG_EPOCH & VERSION_FILE at start of build section as in 17u
- generate_source_tarball.sh: Avoid empty DEPTH reference while still appeasing shellcheck
* Wed Mar 20 2024 Thomas Fitzsimmons <fitzsim@redhat.com> - 1:21.0.3.0.1-0.2.ea
* Wed Mar 20 2024 Thomas Fitzsimmons <fitzsim@redhat.com> - 1:21.0.3.0.1-0.1.ea
- generate_source_tarball.sh: Add WITH_TEMP environment variable
- generate_source_tarball.sh: Multithread xz on all available cores
- generate_source_tarball.sh: Add OPENJDK_LATEST environment variable
@ -1951,54 +2077,78 @@ done
- generate_source_tarball.sh: Add license
- generate_source_tarball.sh: Add indentation instructions for Emacs
- Remove -T0 argument from systemtap tar invocation
* Mon Mar 11 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.1-0.2.ea
- Introduce tar_opts to avoid repetition of lengthy tar creation options
- Add module build path to stripped directories to catch jpackageapplauncher files
- Move alt-java man page to the misc tarball so it is not in the JDK image
- Resolves: OPENJDK-2820
- Resolves: OPENJDK-2821
* Thu Feb 08 2024 Thomas Fitzsimmons <fitzsim@redhat.com> - 1:21.0.3.0.1-0.2.ea
- Invoke xz in multi-threaded mode
- Remove ppc64le with-jobs=1 workaround
- Make portable tarball modification times reproducible
- Use RHEL-7 tar-1.26-compatible invocations for reproducible tarballs
- createtar: Add exclude option
- packagejdk: Exclude debuginfo when creating jdkarchive and jrearchive tarballs
- Resolves: OPENJDK-2995
* Fri Feb 02 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.1-0.1.ea
* Mon Mar 18 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.1-0.1.ea
- Update to jdk-21.0.3+1 (EA)
- Update release notes to 21.0.3+1
- Switch to EA mode
- Require tzdata 2023d due to upstream inclusion of JDK-8322725
- Bump FreeType version to 2.13.2 following JDK-8316028
- Add module build path to stripped directories to catch jpackageapplauncher files
- Move alt-java man page to the misc tarball so it is not in the JDK image
- generate_source_tarball.sh: Update examples in header for clarity
- generate_source_tarball.sh: Cleanup message issued when checkout already exists
- generate_source_tarball.sh: Create directory in TMPDIR when using WITH_TEMP
- generate_source_tarball.sh: Only add --depth=1 on non-local repositories
- icedtea_sync.sh: Reinstate from rhel-8.9.0 branch
- Move maintenance scripts to a scripts subdirectory
- discover_trees.sh: Set compile-command and indentation instructions for Emacs
- discover_trees.sh: shellcheck: Do not use -o (SC2166)
- discover_trees.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268)
- discover_trees.sh: shellcheck: Double-quote variable references (SC2086)
- generate_source_tarball.sh: Add authorship
- icedtea_sync.sh: Set compile-command and indentation instructions for Emacs
- icedtea_sync.sh: shellcheck: Double-quote variable references (SC2086)
- icedtea_sync.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268)
- openjdk_news.sh: Set compile-command and indentation instructions for Emacs
- openjdk_news.sh: shellcheck: Double-quote variable references (SC2086)
- openjdk_news.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268)
- openjdk_news.sh: shellcheck: Remove deprecated egrep usage (SC2196)
- generate_source_tarball.sh: Output values of new options WITH_TEMP and OPENJDK_LATEST
- generate_source_tarball.sh: Double-quote DEPTH reference (SC2086)
- generate_source_tarball.sh: Avoid empty DEPTH reference while still appeasing shellcheck
- Vary reproducible tar creation by version of tar detected
- Set OPENJDK_UPSTREAM_TAG_EPOCH & VERSION_FILE at start of build section as in 17u
- Change --with-source-date value to 'version' to match Temurin builds
- Re-run jlink to regenerate the jmods directory and lib/modules with stripped libraries
- Rebuild CDS archives against the updated lib/modules
- Require openjdk-devkit 1.0-4 to bring in fixes for .comment section and deterministic archives
- Bump devkit requirement to 1.0-5 to bring in the bootstrapped version
- Set LD_LIBRARY_PATH when calling gcc to build alt-java
- Set LD_LIBRARY_PATH when calling configure
- Set LD_LIBRARY_PATH when calling make
- Bump devkit requirement to 1.0-6 to bring in the AS=<path>/as fix
- Resolves: OPENJDK-2820
- Resolves: OPENJDK-2821
- Resolves: OPENJDK-2585
- Resolves: OPENJDK-3138
* Sat Jan 27 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.2.0.13-2
- Sync with upstream release notes
* Tue Jan 09 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.2.0.13-1
* Fri Mar 15 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.2.0.13-1
- Update to jdk-21.0.2+13 (GA)
- Update release notes to 21.0.2+13
- Drop no longer needed local patch to fix versioning
- ** This tarball is embargoed until 2024-01-16 @ 1pm PT. **
* Mon Jan 08 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.2.0.12-1
- Update to jdk-21.0.2+12 (GA)
- Update release notes to 21.0.2+12
- ** This tarball is embargoed until 2024-01-16 @ 1pm PT. **
* Sat Jan 06 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.2.0.11-1
- Update to jdk-21.0.2+11 (GA)
- Update release notes to 21.0.2+11
- Bump libpng version to 1.6.40 following JDK-8316030
- Bump HarfBuzz version to 8.2.2 following JDK-8313643
- Drop local JDK-8311630 patch which is now upstream
- Locally patch versioning to be 21.0.2 released on 2014-01-16
- ** This tarball is embargoed until 2024-01-16 @ 1pm PT. **
* Mon Nov 06 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.1.0.12-2
- Include JDK-8311630 patch to implement Foreign Function & Memory preview API on s390x
* Mon Mar 11 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.1.0.12-2
- Use a devkit to build on architectures where we have one (s390x, aarch64, ppc64le, x86_64)
- Use a dynamic libstdc++ on s390x to workaround failure with static libstdc++
- Use the devkit tools during the check stage so they can understand the generated binaries
- Use eu-readelf on devkit and non-devkit builds as debug symbol tests rely on its behaviour
- Use system gdb for both builds as devkit version fails (needs devkit libraries, then JDK segfaults with them)
- Filter out annobin plugin when using the devkit
- Drop static libstdc++ build dependency on devkit builds as it should come from the devkit
- Introduce tar_opts to avoid repetition of lengthy tar creation options
* Thu Feb 08 2024 Thomas Fitzsimmons <fitzsim@redhat.com> - 1:21.0.1.0.12-2
- Invoke xz in multi-threaded mode
- Remove ppc64le with-jobs=1 workaround
- Make portable tarball modification times reproducible
* Sun Oct 29 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.1.0.12-1
* Fri Oct 27 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.1.0.12-1
- Update to jdk-21.0.1.0+12 (GA)
- Update release notes to 21.0.1.0+12
- Update openjdk_news script to specify subdirectory last
@ -2008,17 +2158,32 @@ done
- Update bug URL for RHEL to point to the Red Hat customer portal
- Fix upstream release URL for OpenJDK source
- Update buildjdkver to match the featurever
* Fri Oct 27 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-4
- Rebuild jmods using the stripped binaries in release builds
- Make sure the unstripped JDK is customised by the installjdk function
- Resolves: OPENJDK-1974
* Thu Oct 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-3
- Re-enable SystemTap support and perform only substitutions possible without final NVR available
- Depend on graphviz & pandoc for full documentation support
- Fix typo which stops the EA designator being included in the build
- Include tapsets in the miscellaneous tarball
- Drop unused globals for tapset installation
- Rebuild jmods using the stripped binaries in release builds
- Make sure the unstripped JDK is customised by the installjdk function
* Sat Oct 28 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-1
* Thu Aug 24 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-2
- Update documentation (README.md, add missing JEP to release notes)
- Replace alt-java patch with a binary separate from the JDK
- Drop stale patches that are of little use any more:
- * nss.cfg has been disabled since early PKCS11 work and long superseded by FIPS work
- * No accessibility subpackage to warrant RH1648242 patch any more
- * No use of system libjpeg turbo to warrant RH649512 patch any more
- Replace RH1684077 pcsc-lite-libs patch with better JDK-8009550 fix being upstreamed
- Related: rhbz#2192749
* Mon Aug 21 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-1
- Update to jdk-21.0.0+35
- Update release notes to 21.0.0+35
- Update documentation (README.md)
- Update system crypto policy & FIPS patch from new fips-21u tree
- Update generate_tarball.sh to sync with upstream vanilla script inc. no more ECC removal
- Drop fakefeaturever now it is no longer needed
@ -2026,20 +2191,13 @@ done
- Change top_level_dir_name to use the VCS tag, matching new upstream release style tarball
- Use upstream release URL for OpenJDK source
- Re-enable tzdata tests now we are on the latest JDK and things are back in sync
- Fix trailing '.' in tarball name
- Use rpmrelease in vendor version to avoid inclusion of dist tag
- Replace alt-java patch with a binary separate from the JDK
- Drop stale patches that are of little use any more:
- * nss.cfg has been disabled since early PKCS11 work and long superseded by FIPS work
- * No accessibility subpackage to warrant RH1648242 patch any more
- * No use of system libjpeg turbo to warrant RH649512 patch any more
- Replace RH1684077 pcsc-lite-libs patch with better JDK-8009550 fix being upstreamed
- Related: rhbz#2192749
* Sat Oct 28 2023 Petra Alice Mikova <pmikova@redhat.com> - 1:21.0.0.0.35-1
* Mon Aug 21 2023 Petra Alice Mikova <pmikova@redhat.com> - 1:21.0.0.0.35-1
- Replace smoke test files used in the staticlibs test, as fdlibm was removed by JDK-8303798
- Related: rhbz#2192749
* Fri Oct 27 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:20.0.2.0.9-1.1
* Wed Aug 16 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:20.0.0.0.36-1
- Update to jdk-20.0.2+9
- Update release notes to 20.0.2+9
- Update system crypto policy & FIPS patch from new fips-20u tree
@ -2047,12 +2205,12 @@ done
- Update CLDR reference data following update to 42 (Rocky Mountain-Normalzeit => Rocky-Mountain-Normalzeit)
- Related: rhbz#2192749
* Fri Oct 27 2023 Jiri Vanek <jvanek@redhat.com> - 1:20.0.0.0.36-1
* Wed Aug 16 2023 Jiri Vanek <jvanek@redhat.com> - 1:20.0.0.0.36-1
- Dropped JDK-8295447, JDK-8296239 & JDK-8299439 patches now upstream
- Adapted rh1750419-redhat_alt_java.patch
- Related: rhbz#2192749
* Fri Oct 27 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:19.0.1.0.10-1
* Tue Aug 15 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:19.0.1.0.10-1
- Update to jdk-19.0.2 release
- Update release notes to 19.0.2
- Rebase FIPS patches from fips-19u branch
@ -2061,7 +2219,7 @@ done
- Add local patches for JDK-8296239 & JDK-8299439 (Croatia Euro update) which are present in 8u, 11u & 17u releases
- Related: rhbz#2192749
* Tue Oct 24 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:18.0.2.0.9-1
* Thu Aug 10 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:18.0.2.0.9-1
- Update to jdk-18.0.2 release
- Update release notes to actually reflect OpenJDK 18
- Support JVM variant zero following JDK-8273494 no longer installing Zero's libjvm.so in the server directory
@ -2071,25 +2229,18 @@ done
- Drop tzdata patches added for 17.0.7 which will eventually appear in the upstream tarball when we reach OpenJDK 21
- Switch bootjdkver to java-21-openjdk
- Disable tzdata tests until we are on the latest JDK and things are back in sync
- Drop bootstrap JDKs and use the java-21-openjdk-rhel7 build
- Related: rhbz#2192749
* Tue Oct 24 2023 Petra Alice Mikova <pmikova@redhat.com> - 1:18.0.0.0.37-1
* Thu Aug 10 2023 Petra Alice Mikova <pmikova@redhat.com> - 1:18.0.0.0.37-1
- Update to ea version of jdk18
- Adjust rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch
* Tue Aug 22 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-2
- Define architectures we build on to avoid those without DTS 10 (e.g. s390)
* Tue Aug 22 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-2
- Switch to DTS 10
- Related: rhbz#2192749
* Mon May 15 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-2
- Create java-21-openjdk-portable package based on java-17-openjdk-portable
- Related: rhbz#2192749
* Thu Apr 13 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-1
* Tue Apr 25 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-2
- Update to jdk-17.0.7.0+7
- Update release notes to 17.0.7.0+7
- Require tzdata 2023c due to local inclusion of JDK-8274864 & JDK-8305113
@ -2102,12 +2253,20 @@ done
- * test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java: fixed jtreg main class
- * RH1940064: Enable XML Signature provider in FIPS mode
- * RH2173781: Avoid calling C_GetInfo() too early, before cryptoki is initialized
- Fix trailing '.' in tarball name
- Use rpmrelease in vendor version to avoid inclusion of dist tag
- ** This tarball is embargoed until 2023-04-18 @ 1pm PT. **
- Resolves: rhbz#2185182
- Resolves: rhbz#2134669
- Resolves: rhbz#1940064
- Resolves: rhbz#2173781
* Thu Apr 20 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.10-7
- Sync with existing RHEL 8 build, in order to start building portables on RHEL 8
- Restore system bootstrap JDK (RHEL 8 has java-17-openjdk)
- Remove use of devtoolset (RHEL 8 native compilers should be sufficient)
- Explicitly exclude x86, as on RHEL RPMs
* Tue Feb 21 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.10-6
- Add docs, icons and samples to the portable output
- Make sure generated checksums work and don't include full path

Loading…
Cancel
Save