diff --git a/CheckVendor.java b/CheckVendor.java new file mode 100644 index 0000000000000000000000000000000000000000..e2101cf4bb70b607dbcb50ca2d984da2904cf4bf --- /dev/null +++ b/CheckVendor.java @@ -0,0 +1,57 @@ +/* CheckVendor -- Check the vendor properties match specified values. + Copyright (C) 2020 Red Hat, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +*/ + +/** + * @test + */ +public class CheckVendor { + + public static void main(String[] args) { + if (args.length < 3) { + System.err.println("CheckVendor "); + System.exit(1); + } + + String vendor = System.getProperty("java.vendor"); + String expectedVendor = args[0]; + String vendorURL = System.getProperty("java.vendor.url"); + String expectedVendorURL = args[1]; + String vendorBugURL = System.getProperty("java.vendor.url.bug"); + String expectedVendorBugURL = args[2]; + + if (!expectedVendor.equals(vendor)) { + System.err.printf("Invalid vendor %s, expected %s\n", + vendor, expectedVendor); + System.exit(2); + } + + if (!expectedVendorURL.equals(vendorURL)) { + System.err.printf("Invalid vendor URL %s, expected %s\n", + vendorURL, expectedVendorURL); + System.exit(3); + } + + if (!expectedVendorBugURL.equals(vendorBugURL)) { + System.err.printf("Invalid vendor bug URL%s, expected %s\n", + vendorBugURL, expectedVendorBugURL); + System.exit(4); + } + + System.err.printf("Vendor information verified as %s, %s, %s\n", + vendor, vendorURL, vendorBugURL); + } +} diff --git a/NEWS b/NEWS index b1298ec3fe5211534bc8a3d4ba52f48a02e19044..ef9db68d771282981383f8ae428caa91b861ea9f 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,1165 @@ 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 8u312 (2021-10-19): +=========================================== +Live versions of these release notes can be found at: + * https://bitly.com/openjdk8u312 + * https://builds.shipilev.net/backports-monitor/release-notes-openjdk8u312.txt + +* Security fixes + - JDK-8130183, CVE-2021-35588: InnerClasses: VM permits wrong Throw ClassFormatError if InnerClasses attribute's inner_class_info_index is 0 + - JDK-8161016: Strange behavior of URLConnection with proxy + - JDK-8163326, CVE-2021-35550: Update the default enabled cipher suites preference + - JDK-8254967, CVE-2021-35565: com.sun.net.HttpsServer spins on TLS session close + - JDK-8263314: Enhance XML Dsig modes + - JDK-8265167, CVE-2021-35556: Richer Text Editors + - JDK-8265574: Improve handling of sheets + - JDK-8265580, CVE-2021-35559: Enhanced style for RTF kit + - JDK-8265776: Improve Stream handling for SSL + - JDK-8266097, CVE-2021-35561: Better hashing support + - JDK-8266103: Better specified spec values + - JDK-8266109: More Resilient Classloading + - JDK-8266115: More Manifest Jar Loading + - JDK-8266137, CVE-2021-35564: Improve Keystore integrity + - JDK-8266689, CVE-2021-35567: More Constrained Delegation + - JDK-8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic + - JDK-8267712: Better LDAP reference processing + - JDK-8267729, CVE-2021-35578: Improve TLS client handshaking + - JDK-8267735, CVE-2021-35586: Better BMP support + - JDK-8268193: Improve requests of certificates + - JDK-8268199: Correct certificate requests + - JDK-8268506: More Manifest Digests + - JDK-8269618, CVE-2021-35603: Better session identification + - JDK-8269624: Enhance method selection support + - JDK-8270398: Enhance canonicalization + - JDK-8270404: Better canonicalization +* Other changes + - JDK-6847157: java.lang.NullPointerException: HDC for component at sun.java2d.loops.Blit.Blit + - JDK-7146776: deadlock between URLStreamHandler.getHostAddress and file.Handler.openconnection + - JDK-7188942: Remove support of pbuffers in OGL Java2d pipeline + - JDK-8004148: NPE in sun.awt.SunToolkit.getWindowDeactivationTime + - JDK-8022323: [JavaSecurityScanner] review package com.sun.management.* Native methods should be private + - JDK-8027154: [TESTBUG] Test java/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java fails + - JDK-8035001: TEST_BUG: the retry logic in RMID.start() should check that the subprocess hasn't terminated + - JDK-8035424: (reflect) Performance problem in sun.reflect.generics.parser.SignatureParser + - JDK-8042557: compiler/uncommontrap/TestSpecTrapClassUnloading.java fails with: GC triggered before VM initialization completed + - JDK-8054118: java/net/ipv6tests/UdpTest.java failed intermittently + - JDK-8065215: Print warning summary at end of configure + - JDK-8072767: DefaultCellEditor for comboBox creates ActionEvent with wrong source object + - JDK-8079891: Store configure log in $BUILD/configure.log + - JDK-8080082: configure fails if you create an empty directory and then run configure from it + - JDK-8086003: Test fails on OSX with java.lang.RuntimeException 'Narrow klass base: 0x0000000000000000, Narrow klass shift: 3' missing + - JDK-8131062: aarch64: add support for GHASH acceleration + - JDK-8134869: AARCH64: GHASH intrinsic is not optimal + - JDK-8134989: java/net/MulticastSocket/TestInterfaces.java failed due to unexpected IP address + - JDK-8156584: Initialization race in sun.security.x509.AlgorithmId.get + - JDK-8157404: Unable to read certain PKCS12 keystores from SequenceInputStream + - JDK-8166673: The new implementation of Robot.waitForIdle() may hang + - JDK-8170467: (reflect) Optimize SignatureParser's use of StringBuilders + - JDK-8194246: JVM crashes when calling getStackTrace if stack contains a method that is a member of a very large class + - JDK-8196181: sun/java2d/GdiRendering/InsetClipping.java fails + - JDK-8202837: PBES2 AlgorithmId encoding error in PKCS12 KeyStore + - JDK-8206189: sun/security/pkcs12/EmptyPassword.java fails with Sequence tag error + - JDK-8214418: half-closed SSLEngine status may cause application dead loop + - JDK-8214513: A PKCS12 keystore from Java 8 using custom PBE parameters cannot be read in Java 11 + - JDK-8220786: Create new switch to redirect error reporting output to stdout or stderr + - JDK-8222751: closed/test/jdk/sun/security/util/DerIndefLenConverter/IndefBerPkcs12.java fail + - JDK-8229243: SunPKCS11-Solaris provider tests failing on Solaris 11.4 + - JDK-8231222: fix pkcs11 P11_DEBUG guarded native traces + - JDK-8237495: Java MIDI fails with a dereferenced memory error when asked to send a raw 0xF7 + - JDK-8238567: SoftMainMixer.processAudioBuffers(): Wrong handling of stoppedMixers + - JDK-8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print + - JDK-8241248: NullPointerException in sun.security.ssl.HKDF.extract(HKDF.java:93) + - JDK-8244154: Update SunPKCS11 provider with PKCS11 v3.0 header files + - JDK-8247469: getSystemCpuLoad() returns -1 on linux when some offline cpus are present and cpusets.effective_cpus is not available + - JDK-8248901: Signed immediate support in .../share/assembler.hpp is broken. + - JDK-8259338: Add expiry exception for identrustdstx3 alias to VerifyCACerts.java test + - JDK-8262000: jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParallelScavenge.java failed with "OutOfMemoryError: Java heap space" + - JDK-8262829: Native crash in Win32PrintServiceLookup.getAllPrinterNames() + - JDK-8263311: Watch registry changes for remote printers update instead of polling + - JDK-8263382: java/util/logging/ParentLoggersTest.java failed with "checkLoggers: getLoggerNames() returned unexpected loggers" + - JDK-8264752: SIGFPE crash with option FlightRecorderOptions:threadbuffersize=30M + - JDK-8265238: [8u] [macos] build failure in OpenJDK8u after JDK-8211301 in older xcode + - JDK-8265836: OperatingSystemImpl.getCpuLoad() returns incorrect CPU load inside a container + - JDK-8265978: make test should look for more locations when searching for exit code + - JDK-8266206: Build failure after JDK-8264752 with older GCCs + - JDK-8268103: JNI functions incorrectly return a double after JDK-8265836 + - JDK-8268965: TCP Connection Reset when connecting simple socket to SSL server + - JDK-8269594: assert(_handle_mark_nesting > 1) failed: memory leak: allocating handle outside HandleMark + - JDK-8269763: The JEditorPane is blank after JDK-8265167 + - JDK-8269810: [8u] Update generated_configure.sh after JDK-8250876 backport + - JDK-8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers + - JDK-8269859: BacktraceBuilder._cprefs needs to be accessed as unsigned short + - JDK-8269882: stack-use-after-scope in NewObjectA + - JDK-8269953: config.log is not in build directory after 8u backport of JDK-8079891 + - JDK-8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup + - JDK-8271466: StackGap test fails on aarch64 due to "-m64" + - JDK-8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon + - JDK-8272214: [8u] Build failure after backport of JDK-8248901 + - JDK-8272714: [8u] Build failure after backport of JDK-8248901 with MSVC 2013 +* Shenandoah + - [backport] JDK-8269661: JNI_GetStringCritical does not lock char array + - Re-cast JNI critical strings patch to be Shenandoah-specific + +Notes on individual issues: +=========================== + +core-libs/java.net: + +JDK-8164200: Modified HttpURLConnection behavior when no suitable proxy is found +================================================================================ +The behavior of HttpURLConnection when using a ProxySelector has been +modified with this JDK release. HttpURLConnection used to fall back to +a DIRECT connection attempt if the configured proxy(s) failed to make +a connection. This release introduces a change whereby no DIRECT +connection will be attempted in such a scenario. Instead, the +HttpURLConnection.connect() method will fail and throw an IOException +which occurred from the last proxy tested. + +security-libs/javax.net.ssl: + +JDK-8219551: Updated the Default Enabled Cipher Suites Preference +================================================================= +The preference of the default enabled cipher suites has been +changed. The compatibility impact should be minimal. If needed, +applications can customize the enabled cipher suites and the +preference. For more details, refer to the SunJSSE provider +documentation and the JSSE Reference Guide documentation. + +New in release OpenJDK 8u302 (2021-07-20): +=========================================== +Live versions of these release notes can be found at: + * https://bitly.com/openjdk8u302 + * https://builds.shipilev.net/backports-monitor/release-notes-openjdk8u302.txt + +* Security fixes + - JDK-8256157: Improve bytecode assembly + - JDK-8256491: Better HTTP transport + - JDK-8258432, CVE-2021-2341: Improve file transfers + - JDK-8260453: Improve Font Bounding + - JDK-8260960: Signs of jarsigner signing + - JDK-8260967, CVE-2021-2369: Better jar file validation + - JDK-8262380: Enhance XML processing passes + - JDK-8262403: Enhanced data transfer + - JDK-8262410: Enhanced rules for zones + - JDK-8262477: Enhance String Conclusions + - JDK-8262967: Improve Zip file support + - JDK-8264066, CVE-2021-2388: Enhance compiler validation + - JDK-8264079: Improve abstractions + - JDK-8264460: Improve NTLM support +* Other changes + - JDK-6878250: (so) IllegalBlockingModeException thrown when reading from a closed SocketChannel's InputStream + - JDK-6990210: [TEST_BUG] EventDispatchThread/HandleExceptionOnEDT/HandleExceptionOnEDT.java fails on gnome + - JDK-7059970: Test case: javax/imageio/plugins/png/ITXtTest.java is not closing a file + - JDK-7106851: Test should not use System.exit + - JDK-8019470: Changes needed to compile JDK 8 on MacOS with clang compiler + - JDK-8028618: [TEST BUG] javax/swing/JScrollBar/bug4202954/bug4202954.java fails + - JDK-8030123: java/beans/Introspector/Test8027648.java fails + - JDK-8032050: Clean up for java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java + - JDK-8033289: clang: clean up unused function warning + - JDK-8034856: gcc warnings compiling src/solaris/native/sun/security/pkcs11 + - JDK-8034857: gcc warnings compiling src/solaris/native/sun/management + - JDK-8035000: clean up ActivationLibrary.DestroyThread + - JDK-8035054: JarFacade.c should not include ctype.h + - JDK-8035287: gcc warnings compiling various libraries files + - JDK-8036095: RMI tests using testlibrary.RMID and testlibrary.JavaVM do not pass through vmoptions + - JDK-8037825: Fix warnings and enable "warnings as errors" in serviceability native libraries + - JDK-8042891: Format issues embedded in macros for two g1 source files + - JDK-8043264: hsdis library not picked up correctly on expected paths + - JDK-8043646: libosxapp.dylib fails to build on Mac OS 10.9 with clang + - JDK-8047939: [TESTBUG] Rewrite test/runtime/8001071/Test8001071.sh + - JDK-8055754: filemap.cpp does not compile with clang + - JDK-8064909: FragmentMetaspace.java got OutOfMemoryError + - JDK-8066508: JTReg tests timeout on slow devices when run using JPRT + - JDK-8066807: langtools/test/Makefile should use -agentvm not -samevm + - JDK-8071374: -XX:+PrintAssembly -XX:+PrintSignatureHandlers crash fastdebug VM with assert(limit == __null || limit <= nm->code_end()) in RelocIterator::initialize + - JDK-8073446: TimeZone getOffset API does not return a dst offset between years 2038-2137 + - JDK-8074835: Resolve disabled warnings for libj2gss + - JDK-8074836: Resolve disabled warnings for libosxkrb5 + - JDK-8075071: [TEST_BUG] TimSortStackSize2.java: OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction + - JDK-8077364: "if( !this )" construct prevents build on Xcode 6.3 + - JDK-8078855: [TEST_BUG] javax/swing/JComboBox/8032878/bug8032878.java fails in WindowsClassicLookAndFeel + - JDK-8081764: [TEST_BUG] Test javax/swing/plaf/aqua/CustomComboBoxFocusTest.java fails on Windows, Solaris Sparcv9 and Linux but passes on MacOSX + - JDK-8129511: PlatformMidi.c:83 uses malloc without malloc header + - JDK-8130308: Too low memory usage in TestPromotionFromSurvivorToTenuredAfterMinorGC.java + - JDK-8130430: [TEST_BUG] remove unnecessary internal calls from javax/swing/JRadioButton/8075609/bug8075609.java + - JDK-8132148: G1 hs_err region dump legend out of sync with region values + - JDK-8132709: [TESTBUG] gc/g1/TestHumongousShrinkHeap.java might fail on embedded + - JDK-8134672: [TEST_BUG] Some tests should check isDisplayChangeSupported + - JDK-8134883: C1 hard crash in range check elimination in Nashorn test262parallel + - JDK-8136592: [TEST_BUG] Fix 2 platform-specific closed regtests for jigsaw + - JDK-8138820: JDK Hotspot build fails with Xcode 7.0.1 + - JDK-8151786: [TESTBUG] java/beans/XMLEncoder/Test4625418.java timed out intermittently + - JDK-8159898: Negative array size in java/beans/Introspector/Test8027905.java + - JDK-8166046: [TESTBUG] compiler/stringopts/TestStringObjectInitialization.java fails with OOME + - JDK-8166724: gc/g1/TestHumongousShrinkHeap.java fails with OOME + - JDK-8172188: JDI tests fail due to "permission denied" when creating temp file + - JDK-8177809: File.lastModified() is losing milliseconds (always ends in 000) + - JDK-8178403: DirectAudio in JavaSound may hang and leak + - JDK-8180478: tools/launcher/MultipleJRE.sh fails on Windows because of extra-'' + - JDK-8183910: gc/arguments/TestAggressiveHeap.java fails intermittently + - JDK-8190332: PngReader throws NegativeArraySizeException/OOM error when IHDR width is very large + - JDK-8190679: java/util/Arrays/TimSortStackSize2.java fails with "Initial heap size set to a larger value than the maximum heap size" + - JDK-8191955: AArch64: incorrect prefetch distance causes an internal error + - JDK-8196092: javax/swing/JComboBox/8032878/bug8032878.java fails + - JDK-8199265: java/util/Arrays/TimSortStackSize2.java fails with OOM + - JDK-8200550: Xcode 9.3 produce warning -Wexpansion-to-defined + - JDK-8202299: Java Keystore fails to load PKCS12/PFX certificates created in WindowsServer2016 + - JDK-8203196: C1 emits incorrect code due to integer overflow in _tableswitch keys + - JDK-8205014: com/sun/jndi/ldap/DeadSSLLdapTimeoutTest.java failed with "Read timed out" + - JDK-8206243: java -XshowSettings fails if memory.limit_in_bytes overflows LONG.max + - JDK-8206925: Support the certificate_authorities extension + - JDK-8209996: [PPC64] Fix JFR profiling + - JDK-8214345: infinite recursion while checking super class + - JDK-8217230: assert(t == t_no_spec) failure in NodeHash::check_no_speculative_types() + - JDK-8217348: assert(thread->is_Java_thread()) failed: just checking + - JDK-8225081: Remove Telia Company CA certificate expiring in April 2021 + - JDK-8225116: Test OwnedWindowsLeak.java intermittently fails + - JDK-8228757: Fail fast if the handshake type is unknown + - JDK-8230428: Cleanup dead CastIP node code in formssel.cpp + - JDK-8231631: sun/net/ftp/FtpURLConnectionLeak.java fails intermittently with NPE + - JDK-8231841: AArch64: debug.cpp help() is missing an AArch64 line for pns + - JDK-8231949: [PPC64, s390]: Make async profiling more reliable + - JDK-8234011: (zipfs) Memory leak in ZipFileSystem.releaseDeflater() + - JDK-8239053: [8u] clean up undefined-var-template warnings + - JDK-8239400: [8u] clean up undefined-var-template warnings + - JDK-8241649: Optimize Character.toString + - JDK-8241829: Cleanup the code for PrinterJob on windows + - JDK-8242565: Policy initialization issues when the denyAfter constraint is enabled + - JDK-8243559: Remove root certificates with 1024-bit keys + - JDK-8247350: [aarch64] assert(false) failed: wrong size of mach node + - JDK-8249142: java/awt/FontClass/CreateFont/DeleteFont.sh is unstable + - JDK-8249278: Revert JDK-8226253 which breaks the spec of AccessibleState.SHOWING for JList + - JDK-8250876: Fix issues with cross-compile on macos + - JDK-8252883: AccessDeniedException caused by delayed file deletion on Windows + - JDK-8253375: OSX build fails with Xcode 12.0 (12A7209) + - JDK-8254631: Better support ALPN byte wire values in SunJSSE + - JDK-8255086: Update the root locale display names + - JDK-8255734: VM should ignore SIGXFSZ on ppc64, s390 too + - JDK-8256818: SSLSocket that is never bound or connected leaks socket resources + - JDK-8257039: [8u] GenericTaskQueue destructor is incorrect + - JDK-8257670: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java reports leaks + - JDK-8257884: Re-enable sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java as automatic test + - JDK-8257997: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java again reports leaks after JDK-8257884 + - JDK-8257999: Parallel GC crash in gc/parallel/TestDynShrinkHeap.java: new region is not in covered_region + - JDK-8258419: RSA cipher buffer cleanup + - JDK-8258669: fastdebug jvm crashes when do event based tracing for monitor inflation + - JDK-8258753: StartTlsResponse.close() hangs due to synchronization issues + - JDK-8259271: gc/parallel/TestDynShrinkHeap.java still fails "assert(covered_region.contains(new_memregion)) failed: new region is not in covered_region" + - JDK-8259619: C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect + - JDK-8259886: Improve SSL session cache performance and scalability + - JDK-8260029: aarch64: fix typo in verify_oop_array + - JDK-8260236: better init AnnotationCollector _contended_group + - JDK-8260255: C1: LoopInvariantCodeMotion constructor can leave some fields uninitialized + - JDK-8260484: CheckExamples.java / NoJavaLangTest.java fail with jtreg 4.2 + - JDK-8260704: ParallelGC: oldgen expansion needs release-store for _end + - JDK-8261355: No data buffering in SunPKCS11 Cipher encryption when the underlying mechanism has no padding + - JDK-8261867: Backport relevant test changes & additions from JDK-8130125 + - JDK-8262110: DST starts from incorrect time in 2038 + - JDK-8262446: DragAndDrop hangs on Windows + - JDK-8262726: AArch64: C1 StubAssembler::call_RT can corrupt stack + - JDK-8262730: Enable jdk8u MacOS external debug symbols + - JDK-8262864: No debug symbols in image for Windows --with-native-debug-symbols=external + - JDK-8263061: copy wrong unpack200 debuginfo to bin directory after 8252395 + - JDK-8263504: Some OutputMachOpcodes fields are uninitialized + - JDK-8263600: change rmidRunning to a simple lookup + - JDK-8264509: jdk8u MacOS zipped debug symbols won't build + - JDK-8264562: assert(verify_field_bit(1)) failed: Attempting to write an uninitialized event field: type + - JDK-8264640: CMS ParScanClosure misses a barrier + - JDK-8264816: Weak handles leak causes GC to take longer + - JDK-8265462: Handle multiple slots in the NSS Internal Module from SunPKCS11's Secmod + - JDK-8265666: Enable AIX build platform to make external debug symbols + - JDK-8265832: runtime/StackGap/testme.sh fails to compile in 8u + - JDK-8265988: Fix sun/text/IntHashtable/Bug4170614 for JDK 8u + - JDK-8266191: Missing aarch64 parts of JDK-8181872 (C1: possible overflow when strength reducing integer multiply by constant) + - JDK-8266723: JFR periodic events are causing extra allocations + - JDK-8266929: Unable to use algorithms from 3p providers + - JDK-8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash + - JDK-8267426: MonitorVmStartTerminate test timed out on Embedded VM + - JDK-8267545: [8u] Enable Xcode 12 builds on macOS + - JDK-8267689: [aarch64] Crash due to bad shift in indirect addressing mode + - JDK-8268444: keytool -v -list print is incorrect after backport JDK-8141457 + - JDK-8269388: Default build of OpenJDK 8 fails on newer GCCs with warnings as errors on format-overflow + - JDK-8269468: JDK-8269388 breaks the build on older GCCs + - JDK-8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS +* Shenandoah + - [backport] JDK-8259580: Shenandoah: uninitialized label in VerifyThreadGCState + - [backport] JDK-8259954: gc/shenandoah/mxbeans tests fail with -Xcomp + - [backport] JDK-8261251: Shenandoah: Use object size for full GC humongous + - [backport] JDK-8261413: Shenandoah: Disable class-unloading in I-U mode + - [backport] JDK-8265239: Shenandoah: Shenandoah heap region count could be off by 1 + - [backport] JDK-8266802: Shenandoah: Round up region size to page size unconditionally + - [backport] JDK-8267561: Shenandoah: Reference processing not properly setup for outside of cycle degenerated GC + - [backport] JDK-8268127: Shenandoah: Heap size may be too small for region to align to large page size + - [backport] JDK-8268699: Shenandoah: Add test for JDK-8268127 + - Shenandoah: Process weak roots during class unloading cycle + +Notes on individual issues: +=========================== + +security-libs/java.security: + +JDK-8256902: Removed Root Certificates with 1024-bit Keys +========================================================= +The following root certificates with weak 1024-bit RSA public keys +have been removed from the `cacerts` keystore: + +Alias Name: thawtepremiumserverca [jdk] +Distinguished Name: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA + +Alias Name: verisignclass2g2ca [jdk] +Distinguished Name: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US + +Alias Name: verisignclass3ca [jdk] +Distinguished Name: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US + +Alias Name: verisignclass3g2ca [jdk] +Distinguished Name: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US + +Alias Name: verisigntsaca [jdk] +Distinguished Name: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA + +JDK-8261361: Removed Telia Company's Sonera Class2 CA certificate +================================================================= + +The following root certificate have been removed from the cacerts truststore: + +Alias Name: soneraclass2ca +Distinguished Name: CN=Sonera Class2 CA, O=Sonera, C=FI + +security-libs/javax.net.ssl: + +JDK-8257548: Improve Encoding of TLS Application-Layer Protocol Negotiation (ALPN) Values +========================================================================================= +Certain TLS ALPN values couldn't be properly read or written by the +SunJSSE provider. This is due to the choice of Strings as the API +interface and the undocumented internal use of the UTF-8 Character Set +which converts characters larger than U+00007F (7-bit ASCII) into +multi-byte arrays that may not be expected by a peer. + +ALPN values are now represented using the network byte representation +expected by the peer, which should require no modification for +standard 7-bit ASCII-based character Strings. However, SunJSSE now +encodes/decodes String characters as 8-bit ISO_8859_1/LATIN-1 +characters. This means applications that used characters above +U+000007F that were previously encoded using UTF-8 may need to either +be modified to perform the UTF-8 conversion, or set the Java security +property `jdk.tls.alpnCharset` to "UTF-8" revert the behavior. + +See the updated guide at +https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/alpn.html +for more information. + +JDK-8244460: Support for certificate_authorities Extension +========================================================== +The "certificate_authorities" extension is an optional extension +introduced in TLS 1.3. It is used to indicate the certificate +authorities (CAs) that an endpoint supports and should be used by the +receiving endpoint to guide certificate selection. + +With this JDK release, the "certificate_authorities" extension is +supported for TLS 1.3 in both the client and the server sides. This +extension is always present for client certificate selection, while it +is optional for server certificate selection. + +Applications can enable this extension for server certificate +selection by setting the `jdk.tls.client.enableCAExtension` system +property to `true`. The default value of the property is `false`. + +Note that if the client trusts more CAs than the size limit of the +extension (less than 2^16 bytes), the extension is not enabled. Also, +some server implementations do not allow handshake messages to exceed +2^14 bytes. Consequently, there may be interoperability issues when +`jdk.tls.client.enableCAExtension` is set to `true` and the client +trusts more CAs than the server implementation limit. + +New in release OpenJDK 8u292 (2021-04-20): +=========================================== +Live versions of these release notes can be found at: + * https://bitly.com/openjdk8u292 + * https://builds.shipilev.net/backports-monitor/release-notes-openjdk8u292.txt + +* Security fixes + - JDK-8227467: Better class method invocations + - JDK-8244473: Contextualize registration for JNDI + - JDK-8244543: Enhanced handling of abstract classes + - JDK-8249906, CVE-2021-2163: Enhance opening JARs + - JDK-8250568, CVE-2021-2161: Less ambiguous processing + - JDK-8253799: Make lists of normal filenames +* Other changes + - JDK-6345095: regression test EmptyClipRenderingTest fails + - JDK-6896810: TEST_BUG: java/lang/ref/SoftReference/Pin.java fails with OOME during System.out.println + - JDK-6949753: [TEST BUG]: java/awt/print/PageFormat/PDialogTest.java needs update by removing a infinite loop + - JDK-7107012: sun.jvm.hotspot.code.CompressedReadStream readDouble() conversion to long mishandled + - JDK-7112454: TEST_BUG: java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.html failed + - JDK-7131835: [TEST_BUG] Test does not consider that the rounded edges of the window in Mac OS 10.7 + - JDK-7185221: [macosx] Regtest should not throw exception if a suitable display mode found + - JDK-8031126: java/lang/management/ThreadMXBean/ThreadUserTime.java fails intermittently + - JDK-8035166: Remove dependency on EC classes from pkcs11 provider + - JDK-8035186: j2se_jdk/jdk/test/java/lang/invoke/lambda/LogGeneratedClassesTest.java - assertion error + - JDK-8038723: Openup some PrinterJob tests + - JDK-8041464: [TEST_BUG] CustomClassLoaderTransferTest does not support OS X + - JDK-8041561: Inconsistent opacity behaviour between JCheckBox and JRadioButton + - JDK-8061777: (zipfs) IllegalArgumentException in ZipCoder.toString when using Shitft_JIS + - JDK-8078024: javac, several incorporation steps are silently failing when an error should be reported + - JDK-8078450: Implement consistent process for quarantine of tests + - JDK-8078614: WindowsClassicLookAndFeel MetalComboBoxUI.getbaseLine fails with IllegalArgumentException + - JDK-8080953: [TEST_BUG]Test java/awt/FontClass/DebugFonts.java fails due to wrongly typed bugid + - JDK-8081547: Prepare client libs regression tests for running in a concurrent, headless jtreg environment + - JDK-8129626: G1: set_in_progress() and clear_started() needs a barrier on non-TSO platforms + - JDK-8141457: keytool default cert fingerprint algorithm should be SHA-256 + - JDK-8145051: Wrong parameter name in synthetic lambda method leads to verifier error + - JDK-8150204: (fs) Enhance java/nio/file/Files/probeContentType/Basic.java debugging output + - JDK-8158525: Update a few java/net tests to use the loopback address instead of the host address + - JDK-8160217: JavaSound should clean up resources better + - JDK-8167281: IIOMetadataNode bugs in getElementsByTagName and NodeList.item methods + - JDK-8168996: C2 crash at postaloc.cpp:140 : assert(false) failed: unexpected yanked node + - JDK-8171410: aarch64: long multiplyExact shifts by 31 instead of 63 + - JDK-8172404: Tools should warn if weak algorithms are used before restricting them + - JDK-8185934: keytool shows "Signature algorithm: SHA1withECDSA, -1-bit key" + - JDK-8191915: JCK tests produce incorrect results with C2 + - JDK-8198334: java/awt/FileDialog/8003399/bug8003399.java fails in headless mode + - JDK-8202343: Disable TLS 1.0 and 1.1 + - JDK-8209333: Socket reset issue for TLS 1.3 socket close + - JDK-8211301: [macos] support full window content options + - JDK-8211339: NPE during SSL handshake caused by HostnameChecker + - JDK-8216987: ciMethodData::load_data() unpacks MDOs with non-atomic copy + - JDK-8217338: [Containers] Improve systemd slice memory limit support + - JDK-8219991: New fix of the deadlock in sun.security.ssl.SSLSocketImpl + - JDK-8221408: Windows 32bit build build errors/warnings in hotspot + - JDK-8223186: HotSpot compile warnings from GCC 9 + - JDK-8225435: Upgrade IANA Language Subtag Registry to the latest for JDK14 + - JDK-8225805: Java Access Bridge does not close the logger + - JDK-8226899: Problemlist compiler/rtm tests + - JDK-8227642: [TESTBUG] Make docker tests podman compatible + - JDK-8228434: jdk/net/Sockets/Test.java fails after JDK-8227642 + - JDK-8229284: jdk/internal/platform/cgroup/TestCgroupMetrics.java fails for - memory:getMemoryUsage + - JDK-8230388: Problemlist additional compiler/rtm tests + - JDK-8233228: Disable weak named curves by default in TLS, CertPath, and Signed JAR + - JDK-8234727: sun/security/ssl/X509TrustManagerImpl tests support TLSv1.3 + - JDK-8234728: Some security tests should support TLSv1.3 + - JDK-8235263: Revert TLS 1.3 change that wrapped IOExceptions + - JDK-8235311: Tag mismatch may alert bad_record_mac + - JDK-8235874: The ordering of Cipher Suites is not maintained provided through jdk.tls.client.cipherSuites and jdk.tls.server.cipherSuites system property. + - JDK-8236500: Windows ucrt.dll should be looked up in versioned WINSDK subdirectory + - JDK-8238579: HttpsURLConnection drops the timeout and hangs forever in read + - JDK-8239091: Reversed arguments in call to strstr in freetype "debug" code. + - JDK-8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1 + - JDK-8240827: Downport SSLSocketImpl.java from "8221882: Use fiber-friendly java.util.concurrent.locks in JSSE" + - JDK-8242141: New System Properties to configure the TLS signature schemes + - JDK-8244621: [macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11 + - JDK-8248336: AArch64: C2: offset overflow in BoxLockNode::emit + - JDK-8249183: JVM crash in "AwtFrame::WmSize" method + - JDK-8249251: [dark_mode ubuntu 20.04] The selected menu is not highlighted in GTKLookAndFeel + - JDK-8249588: libwindowsaccessbridge issues on 64bit Windows + - JDK-8250582: Revert Principal Name type to NT-UNKNOWN when requesting TGS Kerberos tickets + - JDK-8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities + - JDK-8251397: NPE on ClassValue.ClassValueMap.cacheArray + - JDK-8252470: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows + - JDK-8253368: TLS connection always receives close_notify exception + - JDK-8253476: TestUseContainerSupport.java fails on some Linux kernels w/o swap limit capabilities + - JDK-8253932: SSL debug log prints incorrect caller info + - JDK-8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations + - JDK-8255880: UI of Swing components is not redrawn after their internal state changed + - JDK-8255908: ExceptionInInitializerError due to UncheckedIOException while initializing cgroupv1 subsystem + - JDK-8255937: Better cleanup for test/jdk/javax/imageio/stream/StreamFlush.java + - JDK-8256421: Add 2 HARICA roots to cacerts truststore + - JDK-8256642: [TEST_BUG] jdk/test/javax/sound/midi/MidiSystem/DefaultProperties.java failed + - JDK-8258079: Eliminate ParNew's use of klass_or_null() + - JDK-8256682: JDK-8202343 is incomplete + - JDK-8257746: Regression introduced with JDK-8250984 - memory might be null in some machines + - JDK-8258241: [8u] Missing doPrivileged() hunks from JDK-8226575 + - JDK-8258247: Couple of issues in fix for JDK-8249906 + - JDK-8258396: SIGILL in jdk.jfr.internal.PlatformRecorder.rotateDisk() + - JDK-8258430: 8u backport of JDK-8063107 missing test/javax/swing/JRadioButton/8041561/bug8041561.java changes + - JDK-8258833: Cancel multi-part cipher operations in SunPKCS11 after failures + - JDK-8258933: G1 needs klass_or_null_acquire + - JDK-8259048: (tz) Upgrade time-zone data to tzdata2020f + - JDK-8259312: VerifyCACerts.java fails as soneraclass2ca cert will + - JDK-8259384: CUP version wrong in THIRD_PARTY_README after JDK-8233548 + - JDK-8259428: AlgorithmId.getEncodedParams() should return copy + - JDK-8259568: PPC64 builds broken after JDK-8221408 8u backport + - JDK-8260349: Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS + - JDK-8260356: (tz) Upgrade time-zone data to tzdata2021a + - JDK-8260930: AARCH64: Invalid value passed to critical JNI function + - JDK-8261183: Follow on to Make lists of normal filenames + - JDK-8261231: Windows IME was disabled after DnD operation + - JDK-8261766: [8u] hotspot needs to recognise cl.exe 19.16 to build with VS2017 + - JDK-8262073: assert(allocates2(pc)) failed: not in CodeBuffer memory + - JDK-8262075: sun/security/krb5/auto/UseCacheAndStoreKey.java timed out intermittently + - JDK-8263008: AARCH64: Add debug info for libsaproc.so + - JDK-8264171: Missing aarch64 parts of JDK-8236179 (C1 register allocation failure with T_ADDRESS) +* Shenandoah + - Normalise whitespace in AArch64 sources prior to merge of upstreamed version in 8u292-b01. + - Revert differences against upstream 8u + - [backport] 8202976: Add C1 lea patching support for x86 + - [backport] 8221507: Implement JFR Events for Shenandoah + - [backport] 8224573: Fix windows build after JDK-8221507 + - [backport] 8228369: Shenandoah: Refactor LRB C1 stubs + - [backport] 8229474: Shenandoah: Cleanup CM::update_roots() + - [backport] 8229709: x86_32 build and test failures after JDK-8228369 (Shenandoah: Refactor LRB C1 stubs) + - [backport] 8231087: Shenandoah: Self-fixing load reference barriers for C1/C2 + - [backport] 8232747: Shenandoah: Concurrent GC should deactivate SATB before processing weak roots + - [backport] 8232992: Shenandoah: Implement self-fixing interpreter LRB + - [backport] 8233021: Shenandoah: SBSC2::is_shenandoah_lrb_call should match all LRB shapes + - [backport] 8233165: Shenandoah:SBSA::gen_load_reference_barrier_stub() should use pointer register for address on aarch64 + - [backport] 8233574: Shenandoah: build is broken without jfr + - [backport] 8237837: Shenandoah: assert(mem == __null) failed: only one safepoint + - [backport] 8238153: CTW: C2 (Shenandoah) compilation fails with "Unknown node in get_load_addr: CreateEx" + - [backport] 8238851: Shenandoah: C1: Resolve into registers of correct type + - [backport] 8240315: Shenandoah: Rename ShLBN::get_barrier_strength() + - [backport] 8240751: Shenandoah: fold ShenandoahTracer definition + - [backport] 8241765: Shenandoah: AARCH64 need to save/restore call clobbered registers before calling keepalive barrier + - [backport] 8244510: Shenandoah: invert SHC2Support::is_in_cset condition + - [backport] 8244663: Shenandoah: C2 assertion fails in Matcher::collect_null_checks + - [backport] 8244721: CTW: C2 (Shenandoah) compilation fails with "unexpected infinite loop graph shape" + - [backport] 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U + - [backport] 8252660: Shenandoah: support manageable SoftMaxHeapSize option + - [backport] 8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues() + - [backport] 8253778: ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads + - [backport] 8255457: Shenandoah: cleanup ShenandoahMarkTask + - [backport] 8255760: Shenandoah: match constants style in ShenandoahMarkTask fallback + - [backport] 8256806: Shenandoah: optimize shenandoah/jni/TestPinnedGarbage.java test + - [backport] 8257641: Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false + - Fix register allocation for thread register is 32bit LRB + - Fix Shenandoah bindings in ADLC formssel + - Shenandoah: Backed out weak roots cleaning during full gc + +Notes on individual issues: +=========================== + +security-libs/java.security: + +JDK-8260597: Added 2 HARICA Root CA Certificates +================================================ + +The following root certificates have been added to the cacerts truststore: + +Alias Name: haricarootca2015 +Distinguished Name: CN=Hellenic Academic and Research Institutions RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR + +Alias Name: haricaeccrootca2015 +Distinguished Name: CN=Hellenic Academic and Research Institutions ECC RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR + +JDK-8236730: Weak Named Curves in TLS, CertPath, and Signed JAR Disabled by Default +=================================================================================== +Weak named curves are disabled by default by adding them to the +following `disabledAlgorithms` security properties: + +* jdk.tls.disabledAlgorithms +* jdk.certpath.disabledAlgorithms +* jdk.jar.disabledAlgorithms + +Red Hat has always disabled many of the curves provided by upstream, +so the only addition in this release is: + +* secp256k1 + +The curves that remain enabled are: + +* secp256r1 +* secp384r1 +* secp521r1 +* X25519 +* X448 + +When large numbers of weak named curves need to be disabled, adding +individual named curves to each `disabledAlgorithms` property would be +overwhelming. To relieve this, a new security property, +`jdk.disabled.namedCurves`, is implemented that can list the named +curves common to all of the `disabledAlgorithms` properties. To use +the new property in the `disabledAlgorithms` properties, precede the +full property name with the keyword `include`. Users can still add +individual named curves to `disabledAlgorithms` properties separate +from this new property. No other properties can be included in the +`disabledAlgorithms` properties. + +To restore the named curves, remove the `include +jdk.disabled.namedCurves` either from specific or from all +`disabledAlgorithms` security properties. To restore one or more +curves, remove the specific named curve(s) from the +`jdk.disabled.namedCurves` property. + +JDK-8244286: Tools Warn If Weak Algorithms Are Used +=================================================== +The `keytool` and `jarsigner` tools have been updated to warn users +when weak cryptographic algorithms are used in keys, certificates, and +signed JARs before they are disabled. The weak algorithms are set in +the `jdk.security.legacyAlgorithms` security property in the +`java.security` configuration file. In this release, the tools issue +warnings for the SHA-1 hash algorithm and 1024-bit RSA/DSA keys. + +security-libs/javax.net.ssl: + +JDK-8256490: Disable TLS 1.0 and 1.1 +==================================== +TLS 1.0 and 1.1 are versions of the TLS protocol that are no longer +considered secure and have been superseded by more secure and modern +versions (TLS 1.2 and 1.3). + +These versions have now been disabled by default. If you encounter +issues, you can, at your own risk, re-enable the versions by removing +"TLSv1" and/or "TLSv1.1" from the `jdk.tls.disabledAlgorithms` +security property in the `java.security` configuration file. + +JDK-8242147: New System Properties to Configure the TLS Signature Schemes +========================================================================= +Two new system properties have been added to customize the TLS +signature schemes in JDK. `jdk.tls.client.SignatureSchemes` has been +added for the TLS client side, and `jdk.tls.server.SignatureSchemes` +has been added for the server side. + +Each system property contains a comma-separated list of supported +signature scheme names specifying the signature schemes that could be +used for the TLS connections. + +The names are described in the "Signature Schemes" section of the +*Java Security Standard Algorithm Names Specification*. + +tools/javac: + +JDK-8177368: Several incorporation steps are silently failing when an error should be reported +============================================================================================== +Reporting previously silent errors found during incorporation, JLS +8§18.3, was supposed to be a clean-up with performance only +implications. But consider the test case: + +import java.util.Arrays; +import java.util.List; + +class Klass { + public static List> foo(List... lists) { + return foo(Arrays.asList(lists)); + } + + public static List> foo(List> lists) { + return null; + } +} + +This code was not accepted before the patch for [1], but after this +patch the compiler is accepting it. Accepting this code is the right +behavior as not reporting incorporation errors was a bug in the +compiler. While determining the applicability of method: +List> foo(List> lists) for which +we have the constraints: b <: Object t <: List t<:Object +List <: t first, inference variable b is selected for +instantiation: b = CAP1 of ? extends A so this implies that: t <: +List t<: Object List <: t + +Now all the bounds are checked for consistency. While checking if +List is a subtype of List +a bound error is reported. Before the compiler was just swallowing +it. As now the error is reported while inference variable b is being +instantiated, the bound set is rolled back to it's initial state, 'b' +is instantiated to Object, and with this instantiation the constraint +set is solvable, the method is applicable, it's the only applicable +one and the code is accepted as correct. The compiler behavior in this +case is defined at JLS 8 §18.4 + +This fix has source compatibility impact, right now code that wasn't +being accepted is now being accepted by the javac compiler. Currently +there are no reports of any other kind of incompatibility. + +[1] https://bugs.openjdk.java.net/browse/JDK-8078024 + +New in release OpenJDK 8u282 (2021-01-19): +=========================================== +Live versions of these release notes can be found at: + * https://bitly.com/openjdk8u282 + * https://builds.shipilev.net/backports-monitor/release-notes-openjdk8u282.txt + +* Security fixes + - JDK-8247619: Improve Direct Buffering of Characters +* Other changes + - JDK-6962725: Regtest javax/swing/JFileChooser/6738668/bug6738668.java fails under Linux + - JDK-8008657: JSpinner setComponentOrientation doesn't affect on text orientation + - JDK-8022535: [TEST BUG] javax/swing/text/html/parser/Test8017492.java fails + - JDK-8025936: Windows .pdb and .map files does not have proper dependencies setup + - JDK-8030350: Enable additional compiler warnings for GCC + - JDK-8031423: Test java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails by Timeout on Windows + - JDK-8036122: Fix warning 'format not a string literal' + - JDK-8039279: Move awt tests to openjdk repository + - JDK-8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk + - JDK-8043126: move awt automated functional tests from AWT_Events/Lw and AWT_Events/AWT to OpenJDK repository + - JDK-8043131: Move ShapedAndTranslucentWindows and GC functional AWT tests to regression tree + - JDK-8043899: compiler/5091921/Test7005594.java fails if specified -Xmx is less than 1600m + - JDK-8044157: [TEST_BUG] Improve recently submitted AWT_Mixing tests + - JDK-8044172: [TEST_BUG] Move regtests for 4523758 and AltPlusNumberKeyCombinationsTest to jdk + - JDK-8044429: move awt automated tests for AWT_Modality to OpenJDK repository + - JDK-8044765: Move functional tests AWT_SystemTray/Automated to openjdk repository + - JDK-8046221: [TEST_BUG] Cleanup datatransfer tests + - JDK-8047180: Move functional tests AWT_Headless/Automated to OpenJDK repository + - JDK-8047367: move awt automated tests from AWT_Modality to OpenJDK repository - part 2 + - JDK-8048246: Move AWT_DnD/Clipboard/Automated functional tests to OpenJDK + - JDK-8049617: move awt automated tests from AWT_Modality to OpenJDK repository - part 3 + - JDK-8049694: Migrate functional AWT_DesktopProperties/Automated tests to OpenJDK + - JDK-8050885: move awt automated tests from AWT_Modality to OpenJDK repository - part 4 + - JDK-8051440: move tests about maximizing undecorated to OpenJDK + - JDK-8051853: new URI("x/").resolve("..").getSchemeSpecificPart() returns null! + - JDK-8052012: move awt automated tests from AWT_Modality to OpenJDK repository - part 5 + - JDK-8052408: Move AWT_BAT functional tests to OpenJDK (3 of 3) + - JDK-8053657: [TEST_BUG] move some 5 tests related to undecorated Frame/JFrame to JDK + - JDK-8054143: move awt automated tests from AWT_Modality to OpenJDK repository - part 6 + - JDK-8054358: move awt automated tests from AWT_Modality to OpenJDK repository - part 7 + - JDK-8054359: move awt automated tests from AWT_Modality to OpenJDK repository - part 8 + - JDK-8055360: Move the rest part of AWT ShapedAndTranslucent tests to OpenJDK + - JDK-8055664: move 14 tests about setLocationRelativeTo to jdk + - JDK-8055836: move awt tests from AWT_Modality to OpenJDK repository - part 9 + - JDK-8057694: move awt tests from AWT_Modality to OpenJDK repository - part 10 + - JDK-8058805: [TEST_BUG]Test java/awt/TrayIcon/SecurityCheck/NoPermissionTest/NoPermissionTest.java fails + - JDK-8062808: Turn on the -Wreturn-type warning + - JDK-8063102: Change open awt regression tests to avoid sun.awt.SunToolkit.realSync, part 1 + - JDK-8063104: Change open awt regression tests to avoid sun.awt.SunToolkit.realSync, part 2 + - JDK-8063106: Change open swing regression tests to avoid sun.awt.SunToolkit.realSync, part 1 + - JDK-8063107: Change open swing regression tests to avoid sun.awt.SunToolkit.realSync, part 2 + - JDK-8064573: [TEST_BUG] javax/swing/text/AbstractDocument/6968363/Test6968363.java is asocial pressing VK_LEFT and not releasing + - JDK-8064575: [TEST_BUG] javax/swing/JEditorPane/6917744/bug6917744.java 100 times press keys and never releases + - JDK-8064809: [TEST_BUG] javax/swing/JComboBox/4199622/bug4199622.java contains a lot of keyPress and not a single keyRelease + - JDK-8067441: Some tests fails with error: cannot find symbol getSystemMnemonicKeyCodes() + - JDK-8068228: Test closed/java/awt/Mouse/MaximizedFrameTest/MaximizedFrameTest fails with GTKLookAndFeel + - JDK-8068275: Some tests failed after JDK-8063104 + - JDK-8069211: (zipfs) ZipFileSystem creates corrupted zip if entry output stream gets closed more than once + - JDK-8074807: Fix some tests unnecessary using internal API + - JDK-8076315: move 4 manual functional swing tests to regression suite + - JDK-8130772: Util.hitMnemonics does not work: getSystemMnemonicKeyCodes() returns ALT_MASK rather than VK_ALT + - JDK-8132664: closed/javax/swing/DataTransfer/DefaultNoDrop/DefaultNoDrop.java locks on Windows + - JDK-8134632: Mark javax/sound/midi/Devices/InitializationHang.java as headful + - JDK-8148854: Class names "SomeClass" and "LSomeClass;" treated by JVM as an equivalent + - JDK-8148916: Mark bug6400879.java as intermittently failing + - JDK-8148983: Fix extra comma in changes for JDK-8148916 + - JDK-8152545: Use preprocessor instead of compiling a program to generate native nio constants + - JDK-8156803: Turn StressLCM/StressGCM flags to diagnostic + - JDK-8160438: javax/swing/plaf/nimbus/8057791/bug8057791.java fails + - JDK-8160761: [TESTBUG] Several compiler tests fail with product bits + - JDK-8163161: [PIT][TEST_BUG] increase timeout in javax/swing/plaf/nimbus/8057791/bug8057791.java + - JDK-8165808: Add release barriers when allocating objects with concurrent collection + - JDK-8166015: [PIT][TEST_BUG] stray character in java/awt/Focus/ModalDialogActivationTest/ModalDialogActivationTest.java + - JDK-8166583: Add oopDesc::klass_or_null_acquire() + - JDK-8166663: Simplify oops_on_card_seq_iterate_careful + - JDK-8166862: CMS needs klass_or_null_acquire + - JDK-8168292: [TESTBUG] [macosx] Test java/awt/TrayIcon/DragEventSource/DragEventSource.java fails on OS X + - JDK-8168682: jdk/test/java/lang/ClassLoader/forNameLeak/ClassForNameLeak.java fails with -Xcomp + - JDK-8179083: Uninitialized notifier in Java Monitor Wait tracing event + - JDK-8185003: JMX: Add a version of ThreadMXBean.dumpAllThreads with a maxDepth argument + - JDK-8197981: Missing return statement in __sync_val_compare_and_swap_8 + - JDK-8202076: test/jdk/java/io/File/WinSpecialFiles.java on windows with VS2017 + - JDK-8205507: jdk/javax/xml/crypto/dsig/GenerationTests.java timed out + - JDK-8207766: [testbug] Adapt tests for Aix. + - JDK-8212070: Introduce diagnostic flag to abort VM on failed JIT compilation + - JDK-8213448: [TESTBUG] enhance jfr/jvm/TestDumpOnCrash + - JDK-8215727: Restore JFR thread sampler loop to old / previous behavior + - JDK-8217362: Emergency dump does not work when disk=false is set + - JDK-8217766: Container Support doesn't work for some Join Controllers combinations + - JDK-8219013: Update Apache Santuario (XML Signature) to version 2.1.3 + - JDK-8219562: Line of code in osContainer_linux.cpp L102 appears unreachable + - JDK-8220579: [Containers] SubSystem.java out of sync with osContainer_linux.cpp + - JDK-8220657: JFR.dump does not work when filename is set + - JDK-8221340: [TESTBUG] TestCgroupMetrics.java fails after fix for JDK-8219562 + - JDK-8221342: [TESTBUG] Generate Dockerfile for docker testing + - JDK-8221710: [TESTBUG] more configurable parameters for docker testing + - JDK-8223108: Test java/awt/EventQueue/NonComponentSourcePost.java is unstable + - JDK-8224502: [TESTBUG] JDK docker test TestSystemMetrics.java fails with access issues and OOM + - JDK-8225072: Add LuxTrust certificate that is expiring in March 2021 to list of allowed but expired certs + - JDK-8227006: [linux] Runtime.availableProcessors execution time increased by factor of 100 + - JDK-8229868: Update Apache Santuario TPRM version + - JDK-8231209: [REDO] ThreadMXBean::getThreadAllocatedBytes() can be quicker for self thread + - JDK-8231968: getCurrentThreadAllocatedBytes default implementation s/b getThreadAllocatedBytes + - JDK-8232114: JVM crashed at imjpapi.dll in native code + - JDK-8233548: Update CUP to v0.11b + - JDK-8234270: [REDO] JDK-8204128 NMT might report incorrect numbers for Compiler area + - JDK-8234339: replace JLI_StrTok in java_md_solinux.c + - JDK-8238448: RSASSA-PSS signature verification fail when using certain odd key sizes + - JDK-8239105: Add exception for expiring Digicert root certificates to VerifyCACerts test + - JDK-8242335: Additional Tests for RSASSA-PSS + - JDK-8242480: Negative value may be returned by getFreeSwapSpaceSize() in the docker + - JDK-8244225: stringop-overflow warning on strncpy call from compile_the_world_in + - JDK-8245400: Upgrade to LittleCMS 2.11 + - JDK-8246648: issue with OperatingSystemImpl getFreeSwapSpaceSize in docker after 8242480 + - JDK-8248214: Add paddings for TaskQueueSuper to reduce false-sharing cache contention + - JDK-8249176: Update GlobalSignR6CA test certificates + - JDK-8249846: Change of behavior after JDK-8237117: Better ForkJoinPool behavior + - JDK-8250636: iso8601_time returns incorrect offset part on MacOS + - JDK-8250665: Wrong translation for the month name of May in ar_JO,LB,SY + - JDK-8250928: JFR: Improve hash algorithm for stack traces + - JDK-8251365: Build failure on AIX after 8250636 + - JDK-8251469: Better cleanup for test/jdk/javax/imageio/SetOutput.java + - JDK-8251840: Java_sun_awt_X11_XToolkit_getDefaultScreenData should not be in make/mapfiles/libawt_xawt/mapfile-vers + - JDK-8252384: [TESTBUG] Some tests refer to COMPAT provider rather than JRE + - JDK-8252395: [8u] --with-native-debug-symbols=external doesn't include debuginfo files for binaries + - JDK-8252497: Incorrect numeric currency code for ROL + - JDK-8252754: Hash code calculation of JfrStackTrace is inconsistent + - JDK-8252904: VM crashes when JFR is used and JFR event class is transformed + - JDK-8252975: [8u] JDK-8252395 breaks the build for --with-native-debug-symbols=internal + - JDK-8253036: Support building the Zero assembler port on AArch64 + - JDK-8253284: Zero OrderAccess barrier mappings are incorrect + - JDK-8253550: [8u] JDK-8252395 breaks the build for make STRIP_POLICY=no_strip + - JDK-8253752: test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java fails randomly + - JDK-8253837: JFR 8u fix symbol and cstring hashtable equals implementaion + - JDK-8254081: java/security/cert/PolicyNode/GetPolicyQualifiers.java fails due to an expired certificate + - JDK-8254144: Non-x86 Zero builds fail with return-type warning in os_linux_zero.cpp + - JDK-8254166: Zero: return-type warning in zeroInterpreter_zero.cpp + - JDK-8254683: [TEST_BUG] jdk/test/sun/tools/jconsole/WorkerDeadlockTest.java fails + - JDK-8254982: (tz) Upgrade time-zone data to tzdata2020c + - JDK-8255003: Build failures on Solaris + - JDK-8255226: (tz) Upgrade time-zone data to tzdata2020d + - JDK-8255269: Unsigned overflow in g1Policy.cpp + - JDK-8255603: Memory/Performance regression after JDK-8210985 + - JDK-8255717: Fix JFR crash in WriteObjectSampleStacktrace due to object not initialized + - JDK-8256618: Zero: Linux x86_32 build still fails + - JDK-8256671: Incorrect assignment operator used in guarantee() in genCollectedHeap + - JDK-8256752: 8252395 incorrect copy rule for macos .dSYM folder + - JDK-8257397: [TESTBUG] test/lib/containers/docker/Common.java refers to -Xlog:os+container=trace + - JDK-8258630: Add expiry exception for QuoVadis root certificate +* AArch64 port + - Fix AArch64 build failure after JDK-8062808 backport +* Shenandoah + - Fix racy update of code roots + +Notes on individual issues: +=========================== + +security-libs/javax.xml.crypto: + +JDK-8230839: Updated XML Signature Implementation to Apache Santuario 2.1.3 +=========================================================================== +The XML Signature implementation in the `java.xml.crypto` module has +been updated to version 2.1.3 of Apache Santuario. New features +include: + +* Added support for embedding elliptic curve public keys in the + KeyValue element + +New in release OpenJDK 8u275 (2020-11-05): +=========================================== +Live versions of these release notes can be found at: + * https://bitly.com/openjdk8u275 + * https://builds.shipilev.net/backports-monitor/release-notes-openjdk8u275.txt + +* Regression fixes + - JDK-8214440: ldap over a TLS connection negotiate failed with "javax.net.ssl.SSLPeerUnverifiedException: hostname of the server '' does not match the hostname in the server's certificate" + - JDK-8223940: Private key not supported by chosen signature algorithm + - JDK-8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding + - JDK-8250861: Crash in MinINode::Ideal(PhaseGVN*, bool) + +New in release OpenJDK 8u272 (2020-10-20): +=========================================== +Live versions of these release notes can be found at: + * https://bitly.com/openjdk8u272 + * https://builds.shipilev.net/backports-monitor/release-notes-openjdk8u272.txt + +* New features + - JDK-8245468: Add TLSv1.3 implementation classes from 11.0.7 +* Security fixes + - JDK-8233624: Enhance JNI linkage + - JDK-8236196: Improve string pooling + - JDK-8236862, CVE-2020-14779: Enhance support of Proxy class + - JDK-8237990, CVE-2020-14781: Enhanced LDAP contexts + - JDK-8237995, CVE-2020-14782: Enhance certificate processing + - JDK-8240124: Better VM Interning + - JDK-8241114, CVE-2020-14792: Better range handling + - JDK-8242680, CVE-2020-14796: Improved URI Support + - JDK-8242685, CVE-2020-14797: Better Path Validation + - JDK-8242695, CVE-2020-14798: Enhanced buffer support + - JDK-8243302: Advanced class supports + - JDK-8244136, CVE-2020-14803: Improved Buffer supports + - JDK-8244479: Further constrain certificates + - JDK-8244955: Additional Fix for JDK-8240124 + - JDK-8245407: Enhance zoning of times + - JDK-8245412: Better class definitions + - JDK-8245417: Improve certificate chain handling + - JDK-8248574: Improve jpeg processing + - JDK-8249927: Specify limits of jdk.serialProxyInterfaceLimit + - JDK-8253019: Enhanced JPEG decoding +* Other changes + - JDK-6574989: TEST_BUG: javax/sound/sampled/Clip/bug5070081.java fails sometimes + - JDK-8006205: [TESTBUG] NEED_TEST: please JTREGIFY test/compiler/7177917/Test7177917.java + - JDK-8023697: failed class resolution reports different class name in detail message for the first and subsequent times + - JDK-8025886: replace [[ and == bash extensions in regtest + - JDK-8026236: Add PrimeTest for BigInteger + - JDK-8031625: javadoc problems referencing inner class constructors + - JDK-8035493: JVMTI PopFrame capability must instruct compilers not to prune locals + - JDK-8036088: Replace strtok() with its safe equivalent strtok_s() in DefaultProxySelector.c + - JDK-8039082: [TEST_BUG] Test java/awt/dnd/BadSerializationTest/BadSerializationTest.java fails + - JDK-8046274: Removing dependency on jakarta-regexp + - JDK-8048933: -XX:+TraceExceptions output should include the message + - JDK-8057003: Large reference arrays cause extremely long synchronization times + - JDK-8060721: Test runtime/SharedArchiveFile/LimitSharedSizes.java fails in jdk 9 fcs new platforms/compiler + - JDK-8061616: HotspotDiagnosticMXBean.getVMOption() throws IllegalArgumentException for flags of type double + - JDK-8062947: Fix exception message to correctly represent LDAP connection failure + - JDK-8064319: Need to enable -XX:+TraceExceptions in release builds + - JDK-8075774: Small readability and performance improvements for zipfs + - JDK-8076151: [TESTBUG] Test java/awt/FontClass/CreateFont/fileaccess/FontFile.java fails + - JDK-8078334: Mark regression tests using randomness + - JDK-8078880: Mark a few more intermittently failuring security-libs + - JDK-8080462: Update SunPKCS11 provider with PKCS11 v2.40 support + - JDK-8132206: move ScanTest.java into OpenJDK + - JDK-8132376: Add @requires os.family to the client tests with access to internal OS-specific API + - JDK-8132745: minor cleanup of java/util/Scanner/ScanTest.java + - JDK-8137087: [TEST_BUG] Cygwin failure of java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh + - JDK-8144539: Update PKCS11 tests to run with security manager + - JDK-8145808: java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java hangs on Win. 8 + - JDK-8148754: C2 loop unrolling fails due to unexpected graph shape + - JDK-8148854: Class names "SomeClass" and "LSomeClass;" treated by JVM as an equivalent + - JDK-8151678: com/sun/jndi/ldap/LdapTimeoutTest.java failed due to timeout on DeadServerNoTimeoutTest is incorrect + - JDK-8151788: NullPointerException from ntlm.Client.type3 + - JDK-8151834: Test SmallPrimeExponentP.java times out intermittently + - JDK-8152077: (cal) Calendar.roll does not always roll the hours during daylight savings + - JDK-8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout + - JDK-8153583: Make OutputAnalyzer.reportDiagnosticSummary public + - JDK-8154313: Generated javadoc scattered all over the place + - JDK-8156169: Some sound tests rarely hangs because of incorrect synchronization + - JDK-8160768: Add capability to custom resolve host/domain names within the default JNDI LDAP provider + - JDK-8161973: PKIXRevocationChecker.getSoftFailExceptions() not working + - JDK-8163251: Hard coded loop limit prevents reading of smart card data greater than 8k + - JDK-8165936: Potential Heap buffer overflow when seaching timezone info files + - JDK-8165996: PKCS11 using NSS throws an error regarding secmod.db when NSS uses sqlite + - JDK-8166148: Fix for JDK-8165936 broke solaris builds + - JDK-8167300: Scheduling failures during gcm should be fatal + - JDK-8167615: Opensource unit/regression tests for JavaSound + - JDK-8168517: java/lang/ProcessBuilder/Basic.java failed + - JDK-8169925: PKCS #11 Cryptographic Token Interface license + - JDK-8172012: [TEST_BUG] delays needed in javax/swing/JTree/4633594/bug4633594.java + - JDK-8173300: [TESTBUG]compiler/tiered/NonTieredLevelsTest.java fails with compiler.whitebox.SimpleTestCaseHelper(int) must be compiled + - JDK-8177334: Update xmldsig implementation to Apache Santuario 2.1.1 + - JDK-8177628: Opensource unit/regression tests for ImageIO + - JDK-8183341: Better cleanup for javax/imageio/AllowSearch.java + - JDK-8183349: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java and WriteAfterAbort.java + - JDK-8183351: Better cleanup for jdk/test/javax/imageio/spi/AppletContextTest/BadPluginConfigurationTest.sh + - JDK-8184762: ZapStackSegments should use optimized memset + - JDK-8191678: [TESTBUG] Add keyword headful in java/awt FocusTransitionTest test. + - JDK-8192953: sun/management/jmxremote/bootstrap/*.sh tests fail with error : revokeall.exe: Permission denied + - JDK-8193137: Nashorn crashes when given an empty script file + - JDK-8193234: When using -Xcheck:jni an internally allocated buffer can leak + - JDK-8194298: Add support for per Socket configuration of TCP keepalive + - JDK-8198004: javax/swing/JFileChooser/6868611/bug6868611.java throws error + - JDK-8200313: java/awt/Gtk/GtkVersionTest/GtkVersionTest.java fails + - JDK-8201633: Problems with AES-GCM native acceleration + - JDK-8203357: Container Metrics + - JDK-8209113: Use WeakReference for lastFontStrike for created Fonts + - JDK-8210147: adjust some WSAGetLastError usages in windows network coding + - JDK-8211049: Second parameter of "initialize" method is not used + - JDK-8211163: UNIX version of Java_java_io_Console_echo does not return a clean boolean + - JDK-8211714: Need to update vm_version.cpp to recognise VS2017 minor versions + - JDK-8214862: assert(proj != __null) at compile.cpp:3251 + - JDK-8216283: Allow shorter method sampling interval than 10 ms + - JDK-8217606: LdapContext#reconnect always opens a new connection + - JDK-8217647: JFR: recordings on 32-bit systems unreadable + - JDK-8217878: ENVELOPING XML signature no longer works in JDK 11 + - JDK-8218629: XML Digital Signature throws NAMESPACE_ERR exception on OpenJDK 11, works 8/9/10 + - JDK-8219566: JFR did not collect call stacks when MaxJavaStackTraceDepth is set to zero + - JDK-8219919: RuntimeStub name lost with PrintFrameConverterAssembly + - JDK-8220165: Encryption using GCM results in RuntimeException- input length out of bound + - JDK-8220313: [TESTBUG] Update base image for Docker testing to OL 7.6 + - JDK-8220555: JFR tool shows potentially misleading message when it cannot access a file + - JDK-8220674: [TESTBUG] MetricsMemoryTester failcount test in docker container only works with debug JVMs + - JDK-8221569: JFR tool produces incorrect output when both --categories and --events are specified + - JDK-8222079: Don't use memset to initialize fields decode_env constructor in disassembler.cpp + - JDK-8224217: RecordingInfo should use textual representation of path + - JDK-8225695: 32-bit build failures after JDK-8080462 (Update SunPKCS11 provider with PKCS11 v2.40 support) + - JDK-8226575: OperatingSystemMXBean should be made container aware + - JDK-8226697: Several tests which need the @key headful keyword are missing it. + - JDK-8226809: Circular reference in printed stack trace is not correctly indented & ambiguous + - JDK-8228835: Memory leak in PKCS11 provider when using AES GCM + - JDK-8229378: jdwp library loader in linker_md.c quietly truncates on buffer overflow + - JDK-8230303: JDB hangs when running monitor command + - JDK-8230711: ConnectionGraph::unique_java_object(Node* N) return NULL if n is not in the CG + - JDK-8231213: Migrate SimpleDateFormatConstTest to JDK Repo + - JDK-8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate + - JDK-8233097: Fontmetrics for large Fonts has zero width + - JDK-8233621: Mismatch in jsse.enableMFLNExtension property name + - JDK-8234617: C1: Incorrect result of field load due to missing narrowing conversion + - JDK-8235243: handle VS2017 15.9 and VS2019 in abstract_vm_version + - JDK-8235325: build failure on Linux after 8235243 + - JDK-8235687: Contents/MacOS/libjli.dylib cannot be a symlink + - JDK-8236645: JDK 8u231 introduces a regression with incompatible handling of XML messages + - JDK-8237951: CTW: C2 compilation fails with "malformed control flow" + - JDK-8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary + - JDK-8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10 + - JDK-8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10 + - JDK-8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10 + - JDK-8238898: Missing hash characters for header on license file + - JDK-8239385: KerberosTicket client name refers wrongly to sAMAccountName in AD + - JDK-8239819: XToolkit: Misread of screen information memory + - JDK-8240295: hs_err elapsed time in seconds is not accurate enough + - JDK-8240676: Meet not symmetric failure when running lucene on jdk8 + - JDK-8241888: Mirror jdk.security.allowNonCaAnchor system property with a security one + - JDK-8242498: Invalid "sun.awt.TimedWindowEvent" object leads to JVM crash + - JDK-8242556: Cannot load RSASSA-PSS public key with non-null params from byte array + - JDK-8243138: Enhance BaseLdapServer to support starttls extended request + - JDK-8243320: Add SSL root certificates to Oracle Root CA program + - JDK-8243321: Add Entrust root CA - G4 to Oracle Root CA program + - JDK-8243489: Thread CPU Load event may contain wrong data for CPU time under certain conditions + - JDK-8244151: Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26 + - JDK-8244818: Java2D Queue Flusher crash while moving application window to external monitor + - JDK-8245467: Remove 8u TLSv1.2 implementation files + - JDK-8245469: Remove DTLS protocol implementation + - JDK-8245470: Fix JDK8 compatibility issues + - JDK-8245471: Revert JDK-8148188 + - JDK-8245472: Backport JDK-8038893 to JDK8 + - JDK-8245473: OCSP stapling support + - JDK-8245474: Add TLS_KRB5 cipher suites support according to RFC-2712 + - JDK-8245476: Disable TLSv1.3 protocol in the ClientHello message by default + - JDK-8245477: Adjust TLS tests location + - JDK-8245653: Remove 8u TLS tests + - JDK-8245681: Add TLSv1.3 regression test from 11.0.7 + - JDK-8246193: Possible NPE in ENC-PA-REP search in AS-REQ + - JDK-8246310: Clean commented-out code about ModuleEntry andPackageEntry in JFR + - JDK-8246384: Enable JFR by default on supported architectures for October 2020 release + - JDK-8248643: Remove extra leading space in JDK-8240295 8u backport + - JDK-8248851: CMS: Missing memory fences between free chunk check and klass read + - JDK-8249158: THREAD_START and THREAD_END event posted in primordial phase + - JDK-8249610: Make sun.security.krb5.Config.getBooleanObject(String... keys) method public + - JDK-8249677: Regression in 8u after JDK-8237117: Better ForkJoinPool behavior + - JDK-8250546: Expect changed behaviour reported in JDK-8249846 + - JDK-8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics + - JDK-8250755: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java + - JDK-8250875: Incorrect parameter type for update_number in JDK_Version::jdk_update + - JDK-8251117: Cannot check P11Key size in P11Cipher and P11AEADCipher + - JDK-8251120: [8u] HotSpot build assumes ENABLE_JFR is set to either true or false + - JDK-8251341: Minimal Java specification change + - JDK-8251478: Backport TLSv1.3 regression tests to JDK8u + - JDK-8251546: 8u backport of JDK-8194298 breaks AIX and Solaris builds + - JDK-8252084: Minimal VM fails to bootcycle: undefined symbol: AgeTableTracer::is_tenuring_distribution_event_enabled + - JDK-8252573: 8u: Windows build failed after 8222079 backport + - JDK-8252886: [TESTBUG] sun/security/ec/TestEC.java : Compilation failed + - JDK-8254673: Call to JvmtiExport::post_vm_start() was removed by the fix for JDK-8249158 + - JDK-8254937: Revert JDK-8148854 for 8u272 + +Notes on individual issues: +=========================== + +core-svc/java.lang.management: + +JDK-8236876: OperatingSystemMXBean Methods Inside a Container Return Container Specific Data +============================================================================================ +When executing in a container, or other virtualized operating +environment, the following `OperatingSystemMXBean` methods in this +release return container specific information, if +available. Otherwise, they return host specific data: + +* getFreePhysicalMemorySize() +* getTotalPhysicalMemorySize() +* getFreeSwapSpaceSize() +* getTotalSwapSpaceSize() +* getSystemCpuLoad() + +security-libs/java.security: + +JDK-8250756: Added Entrust Root Certification Authority - G4 certificate +======================================================================== +The Entrust root certificate has been added to the cacerts truststore: + +Alias Name: entrustrootcag4 +Distinguished Name: CN=Entrust Root Certification Authority - G4, OU="(c) 2015 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US + +JDK-8250860: Added 3 SSL Corporation Root CA Certificates +========================================================= +The following root certificates have been added to the cacerts truststore for the SSL Corporation: + +Alias Name: sslrootrsaca +Distinguished Name: CN=SSL.com Root Certification Authority RSA, O=SSL Corporation, L=Houston, ST=Texas, C=US + +Alias Name: sslrootevrsaca +Distinguished Name: CN=SSL.com EV Root Certification Authority RSA R2, O=SSL Corporation, L=Houston, ST=Texas, C=US + +Alias Name: sslrooteccca +Distinguished Name: CN=SSL.com Root Certification Authority ECC, O=SSL Corporation, L=Houston, ST=Texas, C=US + +security-libs/javax.crypto:pkcs11: + +JDK-8221441: SunPKCS11 Provider Upgraded with Support for PKCS#11 v2.40 +======================================================================= +The SunPKCS11 provider has been updated with support for PKCS#11 +v2.40. This version adds support for more algorithms such as the +AES/GCM/NoPadding cipher, DSA signatures using SHA-2 family of message +digests, and RSASSA-PSS signatures when the corresponding PKCS11 +mechanisms are supported by the underlying PKCS11 library. + +security-libs/javax.security: + +JDK-8242059: Support for canonicalize in krb5.conf +================================================== +The 'canonicalize' flag in the [krb5.conf file][0] is now supported by +the JDK Kerberos implementation. When set to *true*, RFC 6806 [1] name +canonicalization is requested by clients in TGT requests to KDC +services (AS protocol). Otherwise, and by default, it is not +requested. + +The new default behavior is different from previous releases where +name canonicalization was always requested by clients in TGT requests +to KDC services (provided that support for RFC 6806[1] was not +explicitly disabled with the *sun.security.krb5.disableReferrals* +system or security properties). + +[0]: https://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html +[1]: https://tools.ietf.org/html/rfc6806 + +security-libs/javax.xml.crypto: + +JDK-8202891: Updated xmldsig Implementation to Apache Santuario 2.1.1 +===================================================================== +The XMLDSig provider implementation in the `java.xml.crypto` module has been updated to version 2.1.1 of Apache Santuario. + +New features include: + +1. Support for the SHA-224 and SHA-3 DigestMethod algorithms specified +in RFC 6931. +2. Support for the HMAC-SHA224, RSA-SHA224, ECDSA-SHA224, and +RSASSA-PSS family of SignatureMethod algorithms specified in RFC 6931. + +JDK-8238185: New OpenJDK-specific JDK 8 Updates System Property to fallback to legacy Base64 Encoding format +============================================================================================================ +The upgrade to the Apache Santuario libraries (see above) introduced +an issue where XML signature using Base64 encoding resulted in +appending ` ` or ` ` to the encoded output. This behavioural +change was made in the Apache Santuario codebase to comply with RFC +2045. The Santuario team has adopted a position of keeping their +libraries compliant with RFC 2045. + +Earlier versions of OpenJDK 8 using the legacy encoder returns encoded +data in a format without ` ` or ` `. + +Therefore a new system property, specific to the 8 update stream, +`com.sun.org.apache.xml.internal.security.lineFeedOnly` is made +available to fall back to the legacy Base64 encoded format. + +Users can set this flag in one of two ways: + +1. -Dcom.sun.org.apache.xml.internal.security.lineFeedOnly=true + +2. System.setProperty("com.sun.org.apache.xml.internal.security.lineFeedOnly", "true") + +This new system property is disabled by default. It has no effect on +default behaviour nor when +`com.sun.org.apache.xml.internal.security.ignoreLineBreaks` property +is set. + +Later JDK family versions will only support the recommended property: + +`com.sun.org.apache.xml.internal.security.ignoreLineBreaks` + +JDK-8254177: US/Pacific-New Zone name removed as part of tzdata2020b +==================================================================== +Following JDK's update to tzdata2020b, the long-obsolete files +pacificnew and systemv have been removed. As a result, the +"US/Pacific-New" zone name declared in the pacificnew data file is no +longer available for use. + +Information regarding the update can be viewed at +https://mm.icann.org/pipermail/tz-announce/2020-October/000059.html + +New in release OpenJDK 8u265 (2020-07-27): +=========================================== +Live versions of these release notes can be found at: + * https://bitly.com/openjdk8u265 + * https://builds.shipilev.net/backports-monitor/release-notes-openjdk8u265.txt + +* Bug fixes + - JDK-8249677: Regression in 8u after JDK-8237117: Better ForkJoinPool behavior + - JDK-8250546: Expect changed behaviour reported in JDK-8249846 + New in release OpenJDK 8u262 (2020-07-14): =========================================== Live versions of these release notes can be found at: @@ -67,7 +1226,6 @@ Live versions of these release notes can be found at: - JDK-8195818: JFR.start should increase autogenerated name by one - JDK-8195819: Remove recording=x from jcmd JFR.check output - JDK-8196969: JTreg Failure: serviceability/sa/ClhsdbJstack.java causes NPE - - JDK-8197441: Signature#initSign/initVerify for an invalid private/public key fails with ClassCastException for SunPKCS11 provider - JDK-8199712: Flight Recorder - JDK-8202578: Revisit location for class unload events - JDK-8202835: jfr/event/os/TestSystemProcess.java fails on missing events @@ -76,7 +1234,6 @@ Live versions of these release notes can be found at: - JDK-8203664: JFR start failure after AppCDS archive created with JFR StartFlightRecording - JDK-8203921: JFR thread sampling is missing fixes from JDK-8194552 - JDK-8203929: Limit amount of data for JFR.dump - - JDK-8204152: SignedObject throws NullPointerException for null keys with an initialized Signature object - JDK-8205516: JFR tool - JDK-8207392: [PPC64] Implement JFR profiling - JDK-8207829: FlightRecorderMXBeanImpl is leaking the first classloader which calls it @@ -112,28 +1269,20 @@ Live versions of these release notes can be found at: - JDK-8217744: [TESTBUG] JFR TestShutdownEvent fails on some systems due to process surviving SIGINT - JDK-8217748: [TESTBUG] Exclude TestSig test case from JFR TestShutdownEvent - JDK-8218935: Make jfr strncpy uses GCC 8.x friendly - - JDK-8219597: (bf) Heap buffer state changes could provoke unexpected exceptions - JDK-8220293: Deadlock in JFR string pool - JDK-8223689: Add JFR Thread Sampling Support - JDK-8223690: Add JFR BiasedLock Event Support - JDK-8223691: Add JFR G1 Region Type Change Event Support - JDK-8223692: Add JFR G1 Heap Summary Event Support - - JDK-8223898: Forward references to Nashorn - - JDK-8223904: Improve Nashorn matching - JDK-8224172: assert(jfr_is_event_enabled(id)) failed: invariant - JDK-8224475: JTextPane does not show images in HTML rendering - - JDK-8224541: Better mapping of serial ENUMs - - JDK-8224549: Less Blocking Array Queues - JDK-8225068: Remove DocuSign root certificate that is expiring in May 2020 - JDK-8225069: Remove Comodo root certificate that is expiring in May 2020 - - JDK-8225130: Add exception for expiring Comodo roots to VerifyCACerts test - - JDK-8225603: Enhancement for big integers - JDK-8226253: JAWS reports wrong number of radio buttons when buttons are hidden. - JDK-8226779: [TESTBUG] Test JFR API from Java agent - JDK-8226892: ActionListeners on JRadioButtons don't get notified when selection is changed with arrow keys - JDK-8227011: Starting a JFR recording in response to JVMTI VMInit and / or Java agent premain corrupts memory - JDK-8227269: Slow class loading when running with JDWP - - JDK-8227542: Manifest improved jar headers - JDK-8227605: Kitchensink fails "assert((((klass)->trace_id() & (JfrTraceIdEpoch::leakp_in_use_this_epoch_bit())) != 0)) failed: invariant" - JDK-8229366: JFR backport allows unchecked writing to memory - JDK-8229401: Fix JFR code cache test failures @@ -141,7 +1290,6 @@ Live versions of these release notes can be found at: - JDK-8229873: 8229401 broke jdk8u-jfr-incubator - JDK-8229888: (zipfs) Updating an existing zip file does not preserve original permissions - JDK-8229899: Make java.io.File.isInvalid() less racy - - JDK-8230235: Rendering HTML with empty img attribute and documentBaseKey cause Exception - JDK-8230448: [test] JFRSecurityTestSuite.java is failing on Windows - JDK-8230597: Update GIFlib library to the 5.2.1 - JDK-8230707: JFR related tests are failing @@ -150,41 +1298,27 @@ Live versions of these release notes can be found at: - JDK-8230856: Java_java_net_NetworkInterface_getByName0 on unix misses ReleaseStringUTFChars in early return - JDK-8230926: [macosx] Two apostrophes are entered instead of one with "U.S. International - PC" layout - JDK-8230947: TestLookForUntestedEvents.java is failing after JDK-8230707 - - JDK-8231415: Better signatures in XML - JDK-8231995: two jtreg tests failed after 8229366 is fixed - JDK-8233197: Invert JvmtiExport::post_vm_initialized() and Jfr:on_vm_start() start-up order for correct option parsing - - JDK-8233250: Better X11 rendering - - JDK-8233410: Better Build Scripting - JDK-8233623: Add classpath exception to copyright in EventHandlerProxyCreator.java file - JDK-8233880: Support compilers with multi-digit major version numbers - - JDK-8234027: Better JCEKS key support - - JDK-8234408: Improve TLS session handling - - JDK-8234825: Better Headings for HTTP Servers - - JDK-8234841: Enhance buffering of byte buffers - - JDK-8235274: Enhance typing of methods - - JDK-8235744: PIT: test/jdk/javax/swing/text/html/TestJLabelWithHTMLText.java times out in linux-x64 - JDK-8236002: CSR for JFR backport suggests not leaving out the package-info - JDK-8236008: Some backup files were accidentally left in the hotspot tree - JDK-8236074: Missed package-info - JDK-8236174: Should update javadoc since tags - - JDK-8236201: Better Scanner conversions - JDK-8236996: Incorrect Roboto font rendering on Windows with subpixel antialiasing - JDK-8238076: Fix OpenJDK 7 Bootstrap Broken by JFR Backport - JDK-8238452: Keytool generates wrong expiration date if validity is set to 2050/01/01 - JDK-8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB - JDK-8238589: Necessary code cleanup in JFR for JDK8u - JDK-8238590: Enable JFR by default during compilation in 8u - - JDK-8238960: linux-i586 builds are inconsistent as the newly build jdk is not able to reserve enough space for object heap - JDK-8239055: Wrong implementation of VMState.hasListener - JDK-8239476: JDK-8238589 broke windows build by moving OrderedPair - JDK-8239479: minimal1 and zero builds are failing - JDK-8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed - JDK-8239867: correct over use of INCLUDE_JFR macro - JDK-8240375: Disable JFR by default for July 2020 release - - JDK-8240521: Revert backport of 8231584: Deadlock with ClassLoader.findLibrary and System.loadLibrary call - JDK-8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges - - JDK-8241296: Segfault in JNIHandleBlock::oops_do() - - JDK-8241307: Marlin renderer should not be the default in 8u252 - JDK-8241444: Metaspace::_class_vsm not initialized if compressed class pointers are disabled - JDK-8241638: launcher time metrics always report 1 on Linux when _JAVA_LAUNCHER_DEBUG set - JDK-8241750: x86_32 build failure after JDK-8227269 diff --git a/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b10-4curve.tar.xz b/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u312-b07-4curve.tar.xz similarity index 81% rename from aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b10-4curve.tar.xz rename to aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u312-b07-4curve.tar.xz index 52e51be6b2af870a74de9592495065c77738301b..2d41405b8ba48f30f485169ea837b5f0d6394067 100644 Binary files a/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b10-4curve.tar.xz and b/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u312-b07-4curve.tar.xz differ diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index 4a1f1ae05e0f18ffc8dbfdd62de45d48ef0940d6..3c5af08cb2dfe1306c2a475812dfa9a89cb6a134 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -13,9 +13,9 @@ # if you want only debug build but providing java build only normal build but set normalbuild_parameter %global debugbuild_parameter slowdebug %global normalbuild_parameter release -%global debug_warning This package has full debug on. Install only in need and remove asap. -%global debug_on with full debug on -%global for_debug for packages with debug on +%global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP. +%global debug_on unoptimised with full debugging on +%global for_debug for packages with debugging on and no optimisation # by default we build normal build always. %global include_normal_build 1 @@ -35,7 +35,7 @@ # MetaspaceShared::generate_vtable_methods not implemented for PPC JIT # See https://bugzilla.redhat.com/show_bug.cgi?id=513605 %global share_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} -%global jfr_arches x86_64 sparcv9 sparc64 %{aarch64} %{power64} +%global jfr_arches %{jit_arches} # By default, we build a debug build during main build on JIT architectures %ifarch %{jit_arches} @@ -63,8 +63,11 @@ %global bootstrap_build 1 %endif +# Remove build artifacts by default +%global with_artifacts 0 + %global bootstrap_targets images -%global release_targets images zip-docs +%global release_targets images docs-zip # No docs nor bootcycle for debug builds %global debug_targets images @@ -181,10 +184,31 @@ %global origin openjdk %global origin_nice OpenJDK %global top_level_dir_name %{origin} + +# Define vendor information used by OpenJDK +%global oj_vendor Red Hat, Inc. +%global oj_vendor_url "https://www.redhat.com/" +# Define what url should JVM offer in case of a crash report +# order may be important, epel may have rhel declared +%if 0%{?epel} +%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{name}&version=epel%{epel} +%else +%if 0%{?fedora} +# Does not work for rawhide, keeps the version field empty +%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora} +%else +%if 0%{?rhel} +%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{rhel}&component=%{name} +%else +%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi +%endif +%endif +%endif + # note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there. %global shenandoah_project aarch64-port %global shenandoah_repo jdk8u-shenandoah -%global shenandoah_revision aarch64-shenandoah-jdk8u262-b10 +%global shenandoah_revision aarch64-shenandoah-jdk8u312-b07 # Define old aarch64/jdk8u tree variables for compatibility %global project %{shenandoah_project} %global repo %{shenandoah_repo} @@ -229,6 +253,7 @@ %global jdkimage j2sdk-image # output dir stub %define buildoutputdir() %{expand:build/jdk8.build%1} +%define installoutputdir() %{expand:install/jdk8.install%1} #we can copy the javadoc to not arched dir, or make it not noarch %global uniquejavadocdir() %{expand:%{fullversion}%1} #main id and dir of this jdk @@ -552,9 +577,9 @@ exit 0 %global files_jre_headless() %{expand: %defattr(-,root,root,-) -%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/ASSEMBLY_EXCEPTION -%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE -%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/THIRD_PARTY_README +%license %{_jvmdir}/%{jredir %%1}/ASSEMBLY_EXCEPTION +%license %{_jvmdir}/%{jredir %%1}/LICENSE +%license %{_jvmdir}/%{jredir %%1}/THIRD_PARTY_README %doc %{_defaultdocdir}/%{uniquejavadocdir %%1}/NEWS %dir %{_jvmdir}/%{sdkdir %%1} %{_jvmdir}/%{jrelnk %%1} @@ -598,9 +623,9 @@ exit 0 %global files_devel() %{expand: %defattr(-,root,root,-) -%license %{buildoutputdir %%1}/images/%{jdkimage}/ASSEMBLY_EXCEPTION -%license %{buildoutputdir %%1}/images/%{jdkimage}/LICENSE -%license %{buildoutputdir %%1}/images/%{jdkimage}/THIRD_PARTY_README +%license %{_jvmdir}/%{sdkdir %%1}/ASSEMBLY_EXCEPTION +%license %{_jvmdir}/%{sdkdir %%1}/LICENSE +%license %{_jvmdir}/%{sdkdir %%1}/THIRD_PARTY_README %dir %{_jvmdir}/%{sdkdir %%1}/bin %dir %{_jvmdir}/%{sdkdir %%1}/include %dir %{_jvmdir}/%{sdkdir %%1}/lib @@ -649,7 +674,7 @@ exit 0 %global files_demo() %{expand: %defattr(-,root,root,-) -%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE +%license %{installoutputdir %%1}/images/%{jdkimage}/jre/LICENSE } %global files_src() %{expand: @@ -661,13 +686,13 @@ exit 0 %global files_javadoc() %{expand: %defattr(-,root,root,-) %doc %{_javadocdir}/%{uniquejavadocdir %%1} -%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE +%license %{installoutputdir %%1}/images/%{jdkimage}/jre/LICENSE } %global files_javadoc_zip() %{expand: %defattr(-,root,root,-) %doc %{_javadocdir}/%{uniquejavadocdir %%1}.zip -%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE +%license %{installoutputdir %%1}/images/%{jdkimage}/jre/LICENSE } %global files_accessibility() %{expand: @@ -713,8 +738,8 @@ Requires: ca-certificates # Require jpackage-utils for ownership of /usr/lib/jvm/ Requires: jpackage-utils # Require zoneinfo data provided by tzdata-java subpackage. -# 2020a required as of JDK-8243541 -Requires: tzdata-java >= 2020a +# 2021a required as of JDK-8260356 in April CPU +Requires: tzdata-java >= 2021a # libsctp.so.1 is being `dlopen`ed on demand Requires: lksctp-tools%{?_isa} # tool to copy jdk's configs - should be Recommends only, but then only dnf/yum enforce it, @@ -858,7 +883,7 @@ Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist} # provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0". Epoch: 1 -Summary: %{origin_nice} Runtime Environment %{majorver} +Summary: %{origin_nice} %{majorver} Runtime Environment Group: Development/Languages # HotSpot code is licensed under GPLv2 @@ -918,6 +943,9 @@ Source20: repackReproduciblePolycies.sh Source100: config.guess Source101: config.sub +# Ensure vendor settings are correct +Source16: CheckVendor.java + ############################################ # # RPM/distribution specific patches @@ -934,6 +962,8 @@ Patch1: rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch Patch3: rh1648644-java_access_bridge_privileged_security.patch # Turn on AssumeMP by default on RHEL systems Patch534: rh1648246-always_instruct_vm_to_assume_multiple_processors_are_available.patch +# RH1750419: Enable build of speculative store bypass hardened alt-java (CVE-2018-3639) +Patch600: rh1750419-redhat_alt_java.patch ############################################# # @@ -953,15 +983,13 @@ Patch512: rh1649664-awt2dlibraries_compiled_with_no_strict_overflow.patch Patch523: pr2974-rh1337583-add_systemlineendings_option_to_keytool_and_use_line_separator_instead_of_crlf_in_pkcs10.patch # PR3083, RH1346460: Regression in SSL debug output without an ECC provider Patch528: pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch -# RH1566890: CVE-2018-3639 -Patch529: rh1566890-CVE_2018_3639-speculative_store_bypass.patch -Patch531: rh1566890-CVE_2018_3639-speculative_store_bypass_toggle.patch -# PR3601: Fix additional -Wreturn-type issues introduced by 8061651 -Patch530: pr3601-fix_additional_Wreturn_type_issues_introduced_by_8061651_for_prims_jvm_cpp.patch # PR2888: OpenJDK should check for system cacerts database (e.g. /etc/pki/java/cacerts) # PR3575, RH1567204: System cacerts database handling should not affect jssecacerts Patch539: pr2888-openjdk_should_check_for_system_cacerts_database_eg_etc_pki_java_cacerts.patch +# RH1684077: Find pcsc-lite library without pcsc-lite-devel installed Patch541: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch +# RH1862929: Optimise common separator cases in Scanner.useLocale +Patch542: rh1862929-scanner_performance.patch ############################################# # @@ -978,8 +1006,6 @@ Patch541: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite Patch103: pr3593-s390_use_z_format_specifier_for_size_t_arguments_as_size_t_not_equals_to_int.patch # x86: S8199936, PR3533: HotSpot generates code with unaligned stack, crashes on SSE operations (-mstackrealign workaround) Patch105: jdk8199936-pr3533-enable_mstackrealign_on_x86_linux_as_well_as_x86_mac_os_x.patch -# AArch64: PR3519: Fix further functions with a missing return value (AArch64) -Patch106: pr3519-fix_further_functions_with_a_missing_return_value.patch # S390 ambiguous log2_intptr calls Patch107: s390-8214206_fix.patch @@ -995,16 +1021,10 @@ Patch107: s390-8214206_fix.patch # S8074839, PR2462: Resolve disabled warnings for libunpack and the unpack200 binary # This fixes printf warnings that lead to build failure with -Werror=format-security from optflags Patch502: pr2462-resolve_disabled_warnings_for_libunpack_and_the_unpack200_binary.patch -# S8154313: Generated javadoc scattered all over the place -Patch400: jdk8154313-generated_javadoc_scattered_all_over_the_place.patch # PR3591: Fix for bug 3533 doesn't add -mstackrealign to JDK code Patch571: jdk8199936-pr3591-enable_mstackrealign_on_x86_linux_as_well_as_x86_mac_os_x_jdk.patch # 8143245, PR3548: Zero build requires disabled warnings Patch574: jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch -# 8197981, PR3548: Missing return statement in __sync_val_compare_and_swap_8 -Patch575: jdk8197981-pr3548-missing_return_statement_in_sync_val_compare_and_swap_8.patch -# 8062808, PR3548: Turn on the -Wreturn-type warning -Patch577: jdk8062808-pr3548-turn_on_the_wreturn_type_warning.patch # s390: JDK-8203030, Type fixing for s390 Patch102: jdk8203030-zero_s390_31_bit_size_t_type_conflicts_in_shared_code.patch # 8035341: Allow using a system installed libpng @@ -1017,7 +1037,7 @@ Patch12: jdk8186464-rh1433262-zip64_failure.patch ############################################# # -# Patches appearing in 8u222 +# Patches appearing in 8u302 # # This section includes patches which are present # in the listed OpenJDK 8u release and should be @@ -1109,8 +1129,8 @@ BuildRequires: java-1.8.0-openjdk-devel %ifnarch %{jit_arches} BuildRequires: libffi-devel %endif -# 2020a required as of JDK-8243541 -BuildRequires: tzdata-java >= 2020a +# 2021a required as of JDK-8260356 in April CPU +BuildRequires: tzdata-java >= 2021a # Earlier versions have a bug in tree vectorization on PPC BuildRequires: gcc >= 4.8.3-8 @@ -1123,110 +1143,110 @@ BuildRequires: systemtap-sdt-devel %{java_rpo %{nil}} %description -The %{origin_nice} runtime environment. +The %{origin_nice} %{majorver} runtime environment. %if %{include_debug_build} %package debug -Summary: %{origin_nice} Runtime Environment %{majorver} %{debug_on} +Summary: %{origin_nice} %{majorver} Runtime Environment %{debug_on} Group: Development/Languages %{java_rpo -- %{debug_suffix_unquoted}} %description debug -The %{origin_nice} runtime environment. +The %{origin_nice} %{majorver} runtime environment. %{debug_warning} %endif %if %{include_normal_build} %package headless -Summary: %{origin_nice} Headless Runtime Environment %{majorver} +Summary: %{origin_nice} %{majorver} Headless Runtime Environment Group: Development/Languages %{java_headless_rpo %{nil}} %description headless -The %{origin_nice} runtime environment %{majorver} without audio and video support. +The %{origin_nice} %{majorver} runtime environment without audio and video support. %endif %if %{include_debug_build} %package headless-debug -Summary: %{origin_nice} Runtime Environment %{debug_on} +Summary: %{origin_nice} %{majorver} Runtime Environment %{debug_on} Group: Development/Languages %{java_headless_rpo -- %{debug_suffix_unquoted}} %description headless-debug -The %{origin_nice} runtime environment %{majorver} without audio and video support. +The %{origin_nice} %{majorver} runtime environment without audio and video support. %{debug_warning} %endif %if %{include_normal_build} %package devel -Summary: %{origin_nice} Development Environment %{majorver} +Summary: %{origin_nice} %{majorver} Development Environment Group: Development/Tools %{java_devel_rpo %{nil}} %description devel -The %{origin_nice} development tools %{majorver}. +The %{origin_nice} %{majorver} development tools. %endif %if %{include_debug_build} %package devel-debug -Summary: %{origin_nice} Development Environment %{majorver} %{debug_on} +Summary: %{origin_nice} %{majorver} Development Environment %{debug_on} Group: Development/Tools %{java_devel_rpo -- %{debug_suffix_unquoted}} %description devel-debug -The %{origin_nice} development tools %{majorver}. +The %{origin_nice} %{majorver} development tools. %{debug_warning} %endif %if %{include_normal_build} %package demo -Summary: %{origin_nice} Demos %{majorver} +Summary: %{origin_nice} %{majorver} Demos Group: Development/Languages %{java_demo_rpo %{nil}} %description demo -The %{origin_nice} demos %{majorver}. +The %{origin_nice} %{majorver} demos. %endif %if %{include_debug_build} %package demo-debug -Summary: %{origin_nice} Demos %{majorver} %{debug_on} +Summary: %{origin_nice} %{majorver} Demos %{debug_on} Group: Development/Languages %{java_demo_rpo -- %{debug_suffix_unquoted}} %description demo-debug -The %{origin_nice} demos %{majorver}. +The %{origin_nice} %{majorver} demos. %{debug_warning} %endif %if %{include_normal_build} %package src -Summary: %{origin_nice} Source Bundle %{majorver} +Summary: %{origin_nice} %{majorver} Source Bundle Group: Development/Languages %{java_src_rpo %{nil}} %description src -The java-%{origin}-src sub-package contains the complete %{origin_nice} %{majorver} +The %{compatiblename}-src sub-package contains the complete %{origin_nice} %{majorver} class library source code for use by IDE indexers and debuggers. %endif %if %{include_debug_build} %package src-debug -Summary: %{origin_nice} Source Bundle %{majorver} %{for_debug} +Summary: %{origin_nice} %{majorver} Source Bundle %{for_debug} Group: Development/Languages %{java_src_rpo -- %{debug_suffix_unquoted}} %description src-debug -The java-%{origin}-src-slowdebug sub-package contains the complete %{origin_nice} %{majorver} - class library source code for use by IDE indexers and debuggers. Debugging %{for_debug}. +The %{compatiblename}-src-debug sub-package contains the complete %{origin_nice} %{majorver} + class library source code for use by IDE indexers and debuggers, %{for_debug}. %endif %if %{include_normal_build} @@ -1381,7 +1401,6 @@ sh %{SOURCE12} %patch107 # AArch64 fixes -%patch106 # x86 fixes %patch105 @@ -1390,21 +1409,17 @@ sh %{SOURCE12} %patch502 %patch504 %patch512 -%patch400 %patch523 %patch528 -%patch529 -%patch531 -%patch530 %patch571 %patch574 -%patch575 -%patch577 %patch541 +%patch542 %patch12 # RPM-only fixes %patch539 +%patch600 # RHEL-only patches %if ! 0%{?fedora} && 0%{?rhel} <= 7 @@ -1501,20 +1516,30 @@ export EXTRA_CFLAGS EXTRA_ASFLAGS function buildjdk() { local outputdir=${1} - local buildjdk=${2} - local maketargets=${3} - local debuglevel=${4} + local installdir=${2} + local buildjdk=${3} + local maketargets=${4} + local debuglevel=${5} local top_srcdir_abs_path=$(pwd)/%{top_level_dir_name} # Variable used in hs_err hook on build failures local top_builddir_abs_path=$(pwd)/${outputdir} - mkdir -p ${outputdir} + echo "Using output directory: ${outputdir}"; + echo "Checking build JDK ${buildjdk} is operational..." + ${buildjdk}/bin/java -version + echo "Using make targets: ${maketargets}" + echo "Using debuglevel: ${debuglevel}" + echo "Building 8u%{updatever}-%{buildver}, milestone %{milestone}" + + mkdir -p ${outputdir} ${installdir} pushd ${outputdir} bash ${top_srcdir_abs_path}/configure \ %ifarch %{jfr_arches} --enable-jfr \ +%else + --disable-jfr \ %endif %ifnarch %{jit_arches} --with-jvm-variants=zero \ @@ -1523,6 +1548,10 @@ function buildjdk() { --with-milestone=%{milestone} \ --with-update-version=%{updatever} \ --with-build-number=%{buildver} \ + --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} \ --enable-unlimited-crypto \ @@ -1563,6 +1592,23 @@ function buildjdk() { find images/%{jdkimage}/bin/ -exec chmod +x {} \; popd >& /dev/null + + echo "Installing build from ${outputdir} to ${installdir}..." + echo "Installing images..." + mv ${outputdir}/images ${installdir} + if [ -d ${outputdir}/bundles ] ; then + echo "Installing bundles..."; + mv ${outputdir}/bundles ${installdir} ; + fi + if [ -d ${outputdir}/docs ] ; then + echo "Installing docs..."; + mv ${outputdir}/docs ${installdir} ; + fi + +%if !%{with_artifacts} + echo "Removing output directory..."; + rm -rf ${outputdir} +%endif } for suffix in %{build_loop} ; do @@ -1575,6 +1621,8 @@ fi systemjdk=/usr/lib/jvm/java-openjdk builddir=%{buildoutputdir $suffix} bootbuilddir=boot${builddir} +installdir=%{installoutputdir $suffix} +bootinstalldir=boot${installdir} # Debug builds don't need same targets as release for # build speed-up @@ -1584,15 +1632,17 @@ if echo $debugbuild | grep -q "debug" ; then fi %if %{bootstrap_build} -buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} -buildjdk ${builddir} $(pwd)/${bootbuilddir}/images/%{jdkimage} "${maketargets}" ${debugbuild} -rm -rf ${bootbuilddir} +buildjdk ${bootbuilddir} ${bootinstalldir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} +buildjdk ${builddir} ${installdir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} +%if !%{with_artifacts} +rm -rf ${bootinstalldir} +%endif %else -buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} +buildjdk ${builddir} ${installdir} ${systemjdk} "${maketargets}" ${debugbuild} %endif # Install nss.cfg right away as we will be using the JRE above -export JAVA_HOME=$(pwd)/%{buildoutputdir $suffix}/images/%{jdkimage} +export JAVA_HOME=$(pwd)/%{installoutputdir $suffix}/images/%{jdkimage} # Install nss.cfg right away as we will be using the JRE above install -m 644 nss.cfg $JAVA_HOME/jre/lib/security/ @@ -1601,11 +1651,8 @@ install -m 644 nss.cfg $JAVA_HOME/jre/lib/security/ rm $JAVA_HOME/jre/lib/tzdb.dat ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/jre/lib/tzdb.dat -# Create fake alt-java as a placeholder for future alt-java -pushd ${JAVA_HOME} -cp -a jre/bin/java jre/bin/%{alt_java_name} -cp -a bin/java bin/%{alt_java_name} # add alt-java man page +pushd ${JAVA_HOME} echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1 cat man/man1/java.1 >> man/man1/%{alt_java_name}.1 popd @@ -1618,7 +1665,7 @@ done # We test debug first as it will give better diagnostics on a crash for suffix in %{rev_build_loop} ; do -export JAVA_HOME=$(pwd)/%{buildoutputdir $suffix}/images/%{jdkimage} +export JAVA_HOME=$(pwd)/%{installoutputdir $suffix}/images/%{jdkimage} # Check unlimited policy has been used $JAVA_HOME/bin/javac -d . %{SOURCE13} @@ -1628,6 +1675,10 @@ $JAVA_HOME/bin/java TestCryptoLevel $JAVA_HOME/bin/javac -d . %{SOURCE14} $JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||") +# Check correct vendor values have been set +$JAVA_HOME/bin/javac -d . %{SOURCE16} +$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" %{oj_vendor_url} %{oj_vendor_bug_url} + # Check debug symbols are present and can identify code find "$JAVA_HOME" -iname '*.so' -print0 | while read -d $'\0' lib do @@ -1713,7 +1764,7 @@ STRIP_KEEP_SYMTAB=libjvm* for suffix in %{build_loop} ; do # Install the jdk -pushd %{buildoutputdir $suffix}/images/%{jdkimage} +pushd %{installoutputdir $suffix}/images/%{jdkimage} # Install jsa directories so we can owe them mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/server/ @@ -1721,9 +1772,9 @@ mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/client/ # Install main files. install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix} - cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix} + cp -a bin include lib src.zip {ASSEMBLY_EXCEPTION,LICENSE,THIRD_PARTY_README} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix} install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix} - cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix} + cp -a jre/bin jre/lib jre/{ASSEMBLY_EXCEPTION,LICENSE,THIRD_PARTY_README} $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix} %if %{with_systemtap} # Install systemtap support files @@ -1816,8 +1867,8 @@ popd # Install Javadoc documentation # Always take docs from normal build to avoid building them twice install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir} -cp -a %{buildoutputdir $normal_suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix} -cp -a %{buildoutputdir $normal_suffix}/bundles/jdk-%{javaver}_%{updatever}%{milestone_version}${normal_suffix}-%{buildver}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}.zip +cp -a %{installoutputdir $normal_suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix} +cp -a %{installoutputdir $normal_suffix}/bundles/jdk-%{javaver}_%{updatever}%{milestone_version}${normal_suffix}-%{buildver}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}.zip # Install release notes commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir $suffix} @@ -2118,6 +2169,346 @@ require "copy_jdk_configs.lua" %endif %changelog +* Fri Oct 15 2021 Andrew Hughes - 1:1.8.0.312.b07-1 +- Update to aarch64-shenandoah-jdk8u312-b07 (EA) +- Update release notes for 8u312-b07. +- Switch to GA mode for final release. +- This tarball is embargoed until 2021-10-19 @ 1pm PT. +- Resolves: rhbz#2011826 + +* Wed Oct 13 2021 Andrew Hughes - 1:1.8.0.312.b05-0.3.ea +- Add patch to improve performance of common separators in Scanner.useLocale +- Move alt-java patch to correct section. +- Resolves: rhbz#1862929 + +* Tue Oct 12 2021 Andrew Hughes - 1:1.8.0.312.b05-0.2.ea +- Update to aarch64-shenandoah-jdk8u312-b05-shenandoah-merge-2021-10-07 +- Update release notes for 8u312-b05-shenandoah-merge-2021-10-07. +- Resolves: rhbz#1999735 + +* Thu Sep 30 2021 Andrew Hughes - 1:1.8.0.312.b05-0.1.ea +- Update to aarch64-shenandoah-jdk8u312-b05 (EA) +- Update release notes for 8u312-b05. +- Related: rhbz#1999735 + +* Mon Sep 27 2021 Andrew Hughes - 1:1.8.0.312.b04-0.2.ea +- Reduce disk footprint by removing build artifacts by default. +- Related: rhbz#1999735 + +* Sun Sep 26 2021 Andrew Hughes - 1:1.8.0.312.b04-0.1.ea +- Update to aarch64-shenandoah-jdk8u312-b04 (EA) +- Update release notes for 8u312-b04. +- Related: rhbz#1999735 + +* Fri Sep 24 2021 Andrew Hughes - 1:1.8.0.312.b03-0.1.ea +- Update to aarch64-shenandoah-jdk8u312-b03 (EA) +- Update release notes for 8u312-b03. +- Related: rhbz#1999735 + +* Sun Sep 19 2021 Andrew Hughes - 1:1.8.0.312.b02-0.1.ea +- Update to aarch64-shenandoah-jdk8u312-b02 (EA) +- Update release notes for 8u312-b02. +- Related: rhbz#1999735 + +* Sun Sep 19 2021 Andrew Hughes - 1:1.8.0.312.b01-0.1.ea +- Update to aarch64-shenandoah-jdk8u312-b01 (EA) +- Update release notes for 8u312-b01. +- Switch to EA mode. +- Remove "-clean" suffix as no 8u312 builds are unclean. +- Related: rhbz#1999735 + +* Fri Sep 10 2021 Andrew Hughes - 1:1.8.0.302.b08-1 +- Remove non-Free test and demo files from source tarball. +- Related: rhbz#1999735 + +* Fri Jul 16 2021 Andrew Hughes - 1:1.8.0.302.b08-0 +- Update to aarch64-shenandoah-jdk8u302-b08 (EA) +- Update release notes for 8u302-b08. +- Switch to GA mode for final release. +- This tarball is embargoed until 2021-07-20 @ 1pm PT. +- Resolves: rhbz#1972395 + +* Thu Jul 08 2021 Andrew Hughes - 1:1.8.0.302.b07-0.0.ea +- Update to aarch64-shenandoah-jdk8u302-b07 (EA) +- Update release notes for 8u302-b07. +- Resolves: rhbz#1967809 + +* Tue Jul 06 2021 Andrew Hughes - 1:1.8.0.302.b06-0.0.ea +- Update to aarch64-shenandoah-jdk8u302-b06 (EA) +- Update release notes for 8u302-b06. +- Resolves: rhbz#1967809 + +* Fri Jul 02 2021 Andrew Hughes - 1:1.8.0.302.b05-0.0.ea +- Update to aarch64-shenandoah-jdk8u302-b05 (EA) +- Update release notes for 8u302-b05. +- Remove JDK-8266929/RH1960024 as now upstream. +- Resolves: rhbz#1967809 + +* Wed Jun 30 2021 Andrew Hughes - 1:1.8.0.302.b04-0.0.ea +- Update to aarch64-shenandoah-jdk8u302-b04 (EA) +- Update release notes for 8u302-b04. +- Resolves: rhbz#1967809 + +* Tue Jun 29 2021 Andrew Hughes - 1:1.8.0.302.b03-0.1.ea +- Update to aarch64-shenandoah-jdk8u302-b03-shenandoah-merge-2021-06-23 (EA) +- Update release notes for 8u302-b03-shenandoah-merge-2021-06-23. +- Resolves: rhbz#1967809 + +* Sun Jun 27 2021 Andrew Hughes - 1:1.8.0.302.b03-0.0.ea +- Update to aarch64-shenandoah-jdk8u302-b03 (EA) +- Update release notes for 8u302-b03. +- Resolves: rhbz#1967809 + +* Sat Jun 26 2021 Andrew Hughes - 1:1.8.0.302.b02-0.0.ea +- Update to aarch64-shenandoah-jdk8u302-b02 (EA) +- Update release notes for 8u302-b02. +- Resolves: rhbz#1967809 + +* Fri Jun 25 2021 Andrew Hughes - 1:1.8.0.302.b01-0.0.ea +- Update to aarch64-shenandoah-jdk8u302-b01 (EA) +- Update release notes for 8u302-b01. +- Switch to EA mode. +- Resolves: rhbz#1967809 + +* Fri May 28 2021 Andrew Hughes - 1:1.8.0.292.b10-2 +- Add JDK-8266929 backport for RH1960024. +- Resolves: rhbz#1960024 + +* Fri Apr 09 2021 Andrew Hughes - 1:1.8.0.292.b10-1 +- Add CVE numbers. +- Require tzdata 2021a due to JDK-8260356 +- Resolves: rhbz#1938201 + +* Thu Apr 08 2021 Andrew Hughes - 1:1.8.0.292.b10-0 +- Update to aarch64-shenandoah-jdk8u292-b10 (GA) +- Update release notes for 8u292-b10. +- This tarball is embargoed until 2021-04-20 @ 1pm PT. +- Resolves: rhbz#1938201 + +* Tue Mar 30 2021 Andrew Hughes - 1:1.8.0.292.b09-0.0.ea +- Update to aarch64-shenandoah-jdk8u292-b09 (EA) +- Update release notes for 8u292-b09. +- Resolves: rhbz#1938081 + +* Sat Mar 27 2021 Andrew Hughes - 1:1.8.0.292.b08-0.0.ea +- Update to aarch64-shenandoah-jdk8u292-b08 (EA) +- Update release notes for 8u292-b08. +- Resolves: rhbz#1938081 + +* Thu Mar 25 2021 Andrew Hughes - 1:1.8.0.292.b07-0.0.ea +- Update to aarch64-shenandoah-jdk8u292-b07 (EA) +- Update release notes for 8u292-b07. +- Resolves: rhbz#1938081 + +* Mon Mar 22 2021 Andrew Hughes - 1:1.8.0.292.b06-0.0.ea +- Update to aarch64-shenandoah-jdk8u292-b06 (EA) +- Update release notes for 8u292-b06. +- Require tzdata 2020f due to JDK-8259048 +- Resolves: rhbz#1938081 + +* Thu Mar 18 2021 Andrew Hughes - 1:1.8.0.292.b05-0.2.ea +- Update to aarch64-shenandoah-jdk8u292-b05-shenandoah-merge-2021-03-11 (EA) +- Update release notes for 8u292-b05-shenandoah-merge-2021-03-11. +- Extend s390 patch to fix issue caused by JDK-8252660 backport and lack of JDK-8188813 in 8u. +- Revise JDK-8252660 s390 failure to make _soft_max_size a jlong so pointer types are accurate. +- Resolves: rhbz#1938081 + +* Thu Mar 18 2021 Andrew Hughes - 1:1.8.0.292.b05-0.1.ea +- Re-organise S/390 patches for upstream submission, separating 8u upstream from Shenandoah fixes. +- Add new formatting case found in memprofiler.cpp on debug builds to PR3593 patch. +- Resolves: rhbz#1938081 + +* Mon Mar 08 2021 Andrew Hughes - 1:1.8.0.292.b05-0.0.ea +- Update to aarch64-shenandoah-jdk8u292-b05 (EA) +- Update release notes for 8u292-b05. +- Resolves: rhbz#1938081 + +* Fri Mar 05 2021 Andrew Hughes - 1:1.8.0.292.b04-0.0.ea +- Update to aarch64-shenandoah-jdk8u292-b04 (EA) +- Update release notes for 8u292-b04. +- Resolves: rhbz#1938081 + +* Thu Mar 04 2021 Andrew Hughes - 1:1.8.0.292.b03-0.0.ea +- Update to aarch64-shenandoah-jdk8u292-b03 (EA) +- Update release notes for 8u292-b03. +- Resolves: rhbz#1938081 + +* Tue Mar 02 2021 Andrew Hughes - 1:1.8.0.292.b02-0.0.ea +- Update to aarch64-shenandoah-jdk8u292-b02 (EA) +- Update release notes for 8u292-b02. +- Resolves: rhbz#1938081 + +* Fri Feb 12 2021 Andrew Hughes - 1:1.8.0.292.b01-0.0.ea +- Update to aarch64-shenandoah-jdk8u292-b01 (EA) +- Update release notes for 8u292-b01. +- Switch to EA mode. +- Update tarball generation script to use PR3822 which handles + JDK-8233228 & JDK-8035166 changes +- Resolves: rhbz#1938081 + +* Sun Jan 17 2021 Andrew Hughes - 1:1.8.0.282.b08-1 +- Cleanup package descriptions and version number placement. +- Resolves: rhbz#1908963 + +* Fri Jan 15 2021 Andrew Hughes - 1:1.8.0.282.b08-0 +- Update to aarch64-shenandoah-jdk8u282-b08 (GA) +- Update release notes for 8u282-b08. +- This tarball is embargoed until 2021-01-19 @ 1pm PT. +- Resolves: rhbz#1908963 + +* Fri Jan 15 2021 Andrew Hughes - 1:1.8.0.282.b07-0.0.ea +- Update to aarch64-shenandoah-jdk8u282-b07 (EA) +- Update release notes for 8u282-b07. +- Fix placement issue in release notes, caught by comparing with vanilla version. +- Resolves: rhbz#1903903 + +* Wed Jan 13 2021 Andrew Hughes - 1:1.8.0.282.b06-0.0.ea +- Update to aarch64-shenandoah-jdk8u282-b06 (EA) +- Update release notes for 8u282-b06. +- Resolves: rhbz#1903903 + +* Mon Jan 11 2021 Andrew Hughes - 1:1.8.0.282.b05-0.0.ea +- Update to aarch64-shenandoah-jdk8u282-b05 (EA) +- Update release notes for 8u282-b05 and make some minor corrections. +- Resolves: rhbz#1903903 + +* Wed Jan 06 2021 Andrew Hughes - 1:1.8.0.282.b04-0.0.ea +- Update to aarch64-shenandoah-jdk8u282-b04 (EA) +- Update release notes for 8u282-b04. +- Remove upstreamed patch PR3519 +- Resolves: rhbz#1903903 + +* Sat Jan 02 2021 Andrew Hughes - 1:1.8.0.282.b03-0.0.ea +- Update to aarch64-shenandoah-jdk8u282-b03 (EA) +- Update release notes for 8u282-b03. +- Resolves: rhbz#1903903 + +* Wed Dec 16 2020 Andrew Hughes - 1:1.8.0.282.b02-0.0.ea +- Update to aarch64-shenandoah-jdk8u282-b02 (EA) +- Update release notes for 8u282-b02. +- Resolves: rhbz#1903903 + +* Tue Dec 08 2020 Andrew Hughes - 1:1.8.0.282.b01-0.1.ea +- Extend RH1750419 alt-java fix to include external debuginfo, following JDK-8252395 in 8u282-b01 +- Resolves: rhbz#1901690 + +* Tue Dec 08 2020 Jiri Vanek - 1:1.8.0.282.b01-0.1.ea +- Added patch600: rh1750419-redhat_alt_java.patch +- Replaced alt-java placeholder with real patched alt-java +- Removed patch529: rh1566890-CVE_2018_3639-speculative_store_bypass.patch +- Removed patch531: rh1566890-CVE_2018_3639-speculative_store_bypass_toggle.patch +- Both surpassed by new patch +- Resolves: rhbz#1901690 + +* Mon Dec 07 2020 Andrew Hughes - 1:1.8.0.282.b01-0.0.ea +- Update to aarch64-shenandoah-jdk8u282-b01 (EA) +- Update release notes for 8u282-b01. +- Switch to EA mode. +- Require tzdata 2020b due to resource changes in JDK-8254177 +- Remove PR3601, covered upstream by JDK-8062808. +- Remove upstreamed JDK-8197981/PR3548, JDK-8062808/PR3548, JDK-8254177 & JDK-8215727. +- Resolves: rhbz#1903903 + +* Fri Nov 06 2020 Andrew Hughes - 1:1.8.0.275.b01-0 +- Update to aarch64-shenandoah-jdk8u275-b01 (GA) +- Update release notes for 8u275. +- Resolves: rhbz#1895062 + +* Tue Oct 20 2020 Andrew Hughes - 1:1.8.0.272.b10-1 +- Add backport of JDK-8215727: "Restore JFR thread sampler loop to old / previous behaviour" +- Resolves: rhbz#1876665 + +* Sat Oct 17 2020 Andrew Hughes - 1:1.8.0.272.b10-0 +- Update to aarch64-shenandoah-jdk8u272-b10. +- Switch to GA mode for final release. +- Update release notes for 8u272 release. +- Add backport of JDK-8254177 to update to tzdata 2020b +- Require tzdata 2020b due to resource changes in JDK-8254177 +- Delay tzdata 2020b dependency until tzdata update has shipped. +- Adjust JDK-8062808/PR3548 following constantPool.hpp context change in JDK-8243302 +- Adjust PR3593 following g1StringDedupTable.cpp context change in JDK-8240124 & JDK-8244955 +- This tarball is embargoed until 2020-10-20 @ 1pm PT. +- Resolves: rhbz#1876665 + +* Thu Oct 15 2020 Andrew Hughes - 1:1.8.0.272.b09-0.1.ea +- Include a test in the RPM to check the build has the correct vendor information. +- Use 'oj_' prefix on new vendor globals to avoid a conflict with RPM's vendor value. +- Improve quoting of vendor name +- Resolves: rhbz#1876665 + +* Thu Oct 15 2020 Jiri Vanek - 1:1.8.0.272.b09-0.1.ea +- Set vendor property and vendor URLs +- Made URLs to be preconfigured by OS +- Resolves: rhbz#1876665 + +* Wed Oct 14 2020 Andrew Hughes - 1:1.8.0.272.b09-0.0.ea +- Update to aarch64-shenandoah-jdk8u272-b09 (EA). +- Resolves: rhbz#1876665 + +* Tue Oct 13 2020 Andrew Hughes - 1:1.8.0.272.b08-0.0.ea +- Update to aarch64-shenandoah-jdk8u272-b08 (EA). +- Resolves: rhbz#1876665 + +* Tue Oct 13 2020 Andrew Hughes - 1:1.8.0.272.b07-0.0.ea +- Update to aarch64-shenandoah-jdk8u272-b07. +- Resolves: rhbz#1876665 + +* Tue Oct 13 2020 Andrew Hughes - 1:1.8.0.272.b06-0.0.ea +- Update to aarch64-shenandoah-jdk8u272-b06. +- Update tarball generation script to use PR3799, following inclusion of JDK-8245468 (TLSv1.3) +- Resolves: rhbz#1876665 + +* Mon Oct 12 2020 Andrew Hughes - 1:1.8.0.272.b05-0.2.ea +- Enable JFR on x86, now we have JDK-8252096: Shenandoah: adjust SerialPageShiftCount for x86_32 and JFR +- Resolves: rhbz#1876665 + +* Mon Oct 12 2020 Andrew Hughes - 1:1.8.0.272.b05-0.1.ea +- Update to aarch64-shenandoah-jdk8u272-b05-shenandoah-merge-2020-08-28. +- Add additional s390 log2_intptr case in shenandoahUtils.cpp introduced by JDK-8245464 +- Resolves: rhbz#1876665 + +* Thu Oct 08 2020 Andrew Hughes - 1:1.8.0.272.b05-0.0.ea +- Update to aarch64-shenandoah-jdk8u272-b05. +- Fix context in JDK-8186464/RH1433262 patch, following JDK-8078334 @randomness tag addition. +- Add additional s390 size_t case in g1ConcurrentMarkObjArrayProcessor.cpp introduced by JDK-8057003 +- Resolves: rhbz#1876665 + +* Thu Oct 08 2020 Andrew Hughes - 1:1.8.0.272.b04-0.0.ea +- Update to aarch64-shenandoah-jdk8u272-b04. +- Update tarball generation script to use PR3795, following inclusion of JDK-8177334 +- Resolves: rhbz#1876665 + +* Wed Oct 07 2020 Andrew Hughes - 1:1.8.0.272.b03-0.0.ea +- Update to aarch64-shenandoah-jdk8u272-b03. +- Resolves: rhbz#1876665 + +* Tue Oct 06 2020 Andrew Hughes - 1:1.8.0.272.b02-0.0.ea +- Update to aarch64-shenandoah-jdk8u272-b02. +- Remove JDK-8154313 backport now applied upstream. +- Change target from 'zip-docs' to 'docs-zip', which is the naming used upstream. +- Resolves: rhbz#1876665 + +* Mon Oct 05 2020 Andrew Hughes - 1:1.8.0.272.b01-0.1.ea +- Update to aarch64-shenandoah-jdk8u272-b01. +- Switch to EA mode. +- Add debugging output for build. +- JFR must now be explicitly disabled when unwanted (e.g. x86), following switch of upstream default. +- Remove ZipConstants change from JDK-8186464 backport, now provided upstream by JDK-8075774 +- Resolves: rhbz#1876665 + +* Mon Jul 27 2020 Jiri Vanek - 1:1.8.0.265.b01-1 +- ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README moved to fully versioned dirs +- Resolves: rhbz#1861222 + +* Mon Jul 27 2020 Andrew Hughes - 1:1.8.0.265.b01-0 +- Update to aarch64-shenandoah-jdk8u265-b01. +- Update release notes for 8u265 release. +- Resolves: rhbz#1860456 + +* Thu Jul 16 2020 Andrew Hughes - 1:1.8.0.262.b10-2 +- Remove issues in NEWS file duplicated between 8u252 & 8u262 releases. +- Resolves: rhbz#1838811 + * Sun Jul 12 2020 Andrew Hughes - 1:1.8.0.262.b10-1 - Update to aarch64-shenandoah-jdk8u262-b10. - Switch to GA mode for final release. diff --git a/jdk8062808-pr3548-turn_on_the_wreturn_type_warning.patch b/jdk8062808-pr3548-turn_on_the_wreturn_type_warning.patch deleted file mode 100644 index e91abd3a5409e84edc355643b50c7c5560fd2d3e..0000000000000000000000000000000000000000 --- a/jdk8062808-pr3548-turn_on_the_wreturn_type_warning.patch +++ /dev/null @@ -1,191 +0,0 @@ -# HG changeset patch -# User stefank -# Date 1525453613 -3600 -# Fri May 04 18:06:53 2018 +0100 -# Node ID 07a1135a327362f157955d470fad5df07cc35164 -# Parent de79964656fc652f2085dac4fe99bcc128b5a3b1 -8062808, PR3548: Turn on the -Wreturn-type warning -Reviewed-by: mgerdin, tschatzl, coleenp, jrose, kbarrett - -diff --git openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make ---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make -+++ openjdk/hotspot/make/linux/makefiles/gcc.make -@@ -210,7 +210,7 @@ - WARNINGS_ARE_ERRORS += -Wno-return-type -Wno-empty-body - endif - --WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -+WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wreturn-type - - ifeq ($(USE_CLANG),) - # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit -diff --git openjdk.orig/hotspot/src/cpu/x86/vm/x86_32.ad openjdk/hotspot/src/cpu/x86/vm/x86_32.ad ---- openjdk.orig/hotspot/src/cpu/x86/vm/x86_32.ad -+++ openjdk/hotspot/src/cpu/x86/vm/x86_32.ad -@@ -1250,6 +1250,7 @@ - - - Unimplemented(); -+ return 0; // Mute compiler - } - - #ifndef PRODUCT -diff --git openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp ---- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp -+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp -@@ -541,6 +541,7 @@ - err.report_and_die(); - - ShouldNotReachHere(); -+ return true; // Mute compiler - } - - void os::Linux::init_thread_fpu_state(void) { -diff --git openjdk.orig/hotspot/src/share/vm/classfile/defaultMethods.cpp openjdk/hotspot/src/share/vm/classfile/defaultMethods.cpp ---- openjdk.orig/hotspot/src/share/vm/classfile/defaultMethods.cpp -+++ openjdk/hotspot/src/share/vm/classfile/defaultMethods.cpp -@@ -506,7 +506,7 @@ - ss.write((const char*)name->bytes(), name->utf8_length()); - ss.write((const char*)signature->bytes(), signature->utf8_length()); - ss.print(" is abstract"); -- return SymbolTable::new_symbol(ss.base(), (int)ss.size(), CHECK_NULL); -+ return SymbolTable::new_symbol(ss.base(), (int)ss.size(), THREAD); - } - - Symbol* MethodFamily::generate_conflicts_message(GrowableArray* methods, TRAPS) const { -@@ -521,7 +521,7 @@ - ss.print("."); - ss.write((const char*)name->bytes(), name->utf8_length()); - } -- return SymbolTable::new_symbol(ss.base(), (int)ss.size(), CHECK_NULL); -+ return SymbolTable::new_symbol(ss.base(), (int)ss.size(), THREAD); - } - - -diff --git openjdk.orig/hotspot/src/share/vm/classfile/symbolTable.cpp openjdk/hotspot/src/share/vm/classfile/symbolTable.cpp ---- openjdk.orig/hotspot/src/share/vm/classfile/symbolTable.cpp -+++ openjdk/hotspot/src/share/vm/classfile/symbolTable.cpp -@@ -249,7 +249,7 @@ - MutexLocker ml(SymbolTable_lock, THREAD); - - // Otherwise, add to symbol to table -- return the_table()->basic_add(index, (u1*)name, len, hashValue, true, CHECK_NULL); -+ return the_table()->basic_add(index, (u1*)name, len, hashValue, true, THREAD); - } - - Symbol* SymbolTable::lookup(const Symbol* sym, int begin, int end, TRAPS) { -@@ -288,7 +288,7 @@ - // Grab SymbolTable_lock first. - MutexLocker ml(SymbolTable_lock, THREAD); - -- return the_table()->basic_add(index, (u1*)buffer, len, hashValue, true, CHECK_NULL); -+ return the_table()->basic_add(index, (u1*)buffer, len, hashValue, true, THREAD); - } - - Symbol* SymbolTable::lookup_only(const char* name, int len, -diff --git openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp ---- openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp -+++ openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp -@@ -229,15 +229,15 @@ - class_name->as_C_string(), - class_loader.is_null() ? "null" : class_loader->klass()->name()->as_C_string())); - if (FieldType::is_array(class_name)) { -- return resolve_array_class_or_null(class_name, class_loader, protection_domain, CHECK_NULL); -+ return resolve_array_class_or_null(class_name, class_loader, protection_domain, THREAD); - } else if (FieldType::is_obj(class_name)) { - ResourceMark rm(THREAD); - // Ignore wrapping L and ;. - TempNewSymbol name = SymbolTable::new_symbol(class_name->as_C_string() + 1, - class_name->utf8_length() - 2, CHECK_NULL); -- return resolve_instance_class_or_null(name, class_loader, protection_domain, CHECK_NULL); -+ return resolve_instance_class_or_null(name, class_loader, protection_domain, THREAD); - } else { -- return resolve_instance_class_or_null(class_name, class_loader, protection_domain, CHECK_NULL); -+ return resolve_instance_class_or_null(class_name, class_loader, protection_domain, THREAD); - } - } - -diff --git openjdk.orig/hotspot/src/share/vm/memory/heapInspection.hpp openjdk/hotspot/src/share/vm/memory/heapInspection.hpp ---- openjdk.orig/hotspot/src/share/vm/memory/heapInspection.hpp -+++ openjdk/hotspot/src/share/vm/memory/heapInspection.hpp -@@ -367,7 +367,7 @@ - _csv_format(csv_format), _print_help(print_help), - _print_class_stats(print_class_stats), _columns(columns) {} - void heap_inspection(outputStream* st) NOT_SERVICES_RETURN; -- size_t populate_table(KlassInfoTable* cit, BoolObjectClosure* filter = NULL) NOT_SERVICES_RETURN; -+ size_t populate_table(KlassInfoTable* cit, BoolObjectClosure* filter = NULL) NOT_SERVICES_RETURN_(0); - static void find_instances_at_safepoint(Klass* k, GrowableArray* result) NOT_SERVICES_RETURN; - private: - void iterate_over_heap(KlassInfoTable* cit, BoolObjectClosure* filter = NULL); -diff --git openjdk.orig/hotspot/src/share/vm/memory/metaspaceShared.hpp openjdk/hotspot/src/share/vm/memory/metaspaceShared.hpp ---- openjdk.orig/hotspot/src/share/vm/memory/metaspaceShared.hpp -+++ openjdk/hotspot/src/share/vm/memory/metaspaceShared.hpp -@@ -93,7 +93,7 @@ - static void preload_and_dump(TRAPS) NOT_CDS_RETURN; - static int preload_and_dump(const char * class_list_path, - GrowableArray* class_promote_order, -- TRAPS) NOT_CDS_RETURN; -+ TRAPS) NOT_CDS_RETURN_(0); - - static ReservedSpace* shared_rs() { - CDS_ONLY(return _shared_rs); -diff --git openjdk.orig/hotspot/src/share/vm/oops/constantPool.hpp openjdk/hotspot/src/share/vm/oops/constantPool.hpp ---- openjdk.orig/hotspot/src/share/vm/oops/constantPool.hpp -+++ openjdk/hotspot/src/share/vm/oops/constantPool.hpp -@@ -352,7 +352,7 @@ - - Klass* klass_at(int which, TRAPS) { - constantPoolHandle h_this(THREAD, this); -- return klass_at_impl(h_this, which, CHECK_NULL); -+ return klass_at_impl(h_this, which, THREAD); - } - - Symbol* klass_name_at(int which); // Returns the name, w/o resolving. -diff --git openjdk.orig/hotspot/src/share/vm/prims/jvm.cpp openjdk/hotspot/src/share/vm/prims/jvm.cpp ---- openjdk.orig/hotspot/src/share/vm/prims/jvm.cpp -+++ openjdk/hotspot/src/share/vm/prims/jvm.cpp -@@ -4244,7 +4244,7 @@ - JVM_DTraceProvider* providers)) - JVMWrapper("JVM_DTraceActivate"); - return DTraceJSDT::activate( -- version, module_name, providers_count, providers, CHECK_0); -+ version, module_name, providers_count, providers, THREAD); - JVM_END - - JVM_ENTRY(jboolean,JVM_DTraceIsProbeEnabled(JNIEnv* env, jmethodID method)) -diff --git openjdk.orig/hotspot/src/share/vm/runtime/reflection.cpp openjdk/hotspot/src/share/vm/runtime/reflection.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/reflection.cpp -+++ openjdk/hotspot/src/share/vm/runtime/reflection.cpp -@@ -1093,7 +1093,7 @@ - } else { - if (rtype == T_BOOLEAN || rtype == T_BYTE || rtype == T_CHAR || rtype == T_SHORT) - narrow((jvalue*) result.get_value_addr(), rtype, CHECK_NULL); -- return box((jvalue*) result.get_value_addr(), rtype, CHECK_NULL); -+ return box((jvalue*) result.get_value_addr(), rtype, THREAD); - } - } - -diff --git openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp -+++ openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp -@@ -1046,7 +1046,7 @@ - // last java frame on stack (which includes native call frames) - vframeStream vfst(thread, true); // Do not skip and javaCalls - -- return find_callee_info_helper(thread, vfst, bc, callinfo, CHECK_(Handle())); -+ return find_callee_info_helper(thread, vfst, bc, callinfo, THREAD); - } - - -diff --git openjdk.orig/hotspot/src/share/vm/services/memTracker.hpp openjdk/hotspot/src/share/vm/services/memTracker.hpp ---- openjdk.orig/hotspot/src/share/vm/services/memTracker.hpp -+++ openjdk/hotspot/src/share/vm/services/memTracker.hpp -@@ -64,7 +64,7 @@ - const NativeCallStack& stack, MEMFLAGS flag = mtNone) { } - static inline void record_virtual_memory_commit(void* addr, size_t size, const NativeCallStack& stack) { } - static inline Tracker get_virtual_memory_uncommit_tracker() { return Tracker(); } -- static inline Tracker get_virtual_memory_release_tracker() { } -+ static inline Tracker get_virtual_memory_release_tracker() { return Tracker(); } - static inline void record_virtual_memory_type(void* addr, MEMFLAGS flag) { } - static inline void record_thread_stack(void* addr, size_t size) { } - static inline void release_thread_stack(void* addr, size_t size) { } diff --git a/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch b/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch index 98d3903c6732dc4a0b1d01b1e7cc2d6c67eb3e9d..239cd68a418a34b22d44b507120baf81bdfb3578 100644 --- a/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch +++ b/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch @@ -34,12 +34,12 @@ diff --git openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hots diff --git openjdk.orig/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp --- openjdk.orig/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp +++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp -@@ -100,7 +100,7 @@ - case T_DOUBLE: - case T_VOID: +@@ -102,7 +102,7 @@ return result; -- default : ShouldNotReachHere(); -+ default : ShouldNotReachHere(); return NULL_WORD; + default: + ShouldNotReachHere(); +- return result; // silence compiler warnings ++ return NULL_WORD; // silence compiler warnings } } diff --git a/jdk8154313-generated_javadoc_scattered_all_over_the_place.patch b/jdk8154313-generated_javadoc_scattered_all_over_the_place.patch deleted file mode 100644 index 3a43c5f03dc6b073e1fe79d7772dc944e72d152b..0000000000000000000000000000000000000000 --- a/jdk8154313-generated_javadoc_scattered_all_over_the_place.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- jdk8/make/Javadoc.gmk 2016-04-01 16:53:41.069477682 +0200 -+++ jdk8/make/Javadoc.gmk 2016-04-01 16:53:41.014477059 +0200 -@@ -220,6 +220,12 @@ - JRE_API_DOCSDIR = $(DOCSDIR)/jre/api - PLATFORM_DOCSDIR = $(DOCSDIR)/platform - -+ -+JAVADOC_ARCHIVE_NAME := jdk-$(FULL_VERSION)-docs.zip -+JAVADOC_ARCHIVE_ASSEMBLY_DIR := $(DOCSTMPDIR)/zip-docs -+JAVADOC_ARCHIVE_DIR := $(OUTPUT_ROOT)/bundles -+JAVADOC_ARCHIVE := $(JAVADOC_ARCHIVE_DIR)/$(JAVADOC_ARCHIVE_NAME) -+ - # The non-core api javadocs need to be able to access the root of the core - # api directory, so for jdk/api or jre/api to get to the core api/ - # directory we would use this: -@@ -319,6 +325,37 @@ - all: docs - docs: coredocs otherdocs - -+# -+# Optional target which bundles all generated javadocs into a zip -+# archive. The dependency on docs is handled in Main.gmk. Incremental -+# building of docs is currently broken so if you invoke zip-docs after -+# docs, the docs are always rebuilt. -+# -+ -+zip-docs: $(JAVADOC_ARCHIVE) -+ -+# -+# Add the core docs as prerequisite to the archive to trigger a rebuild -+# if the core docs were rebuilt. Ideally any doc rebuild should trigger -+# this, but the way prerequisites are currently setup in this file, that -+# is hard to achieve. -+# -+ -+$(JAVADOC_ARCHIVE): $(COREAPI_INDEX_FILE) -+ @$(ECHO) "Compressing javadoc to single $(JAVADOC_ARCHIVE_NAME)" ; -+ $(MKDIR) -p $(JAVADOC_ARCHIVE_DIR) ; -+ $(RM) -r $(JAVADOC_ARCHIVE_ASSEMBLY_DIR) ; -+ $(MKDIR) -p $(JAVADOC_ARCHIVE_ASSEMBLY_DIR); -+ all_roots=`$(FIND) $(DOCSDIR) | $(GREP) index.html `; \ -+ pushd $(JAVADOC_ARCHIVE_ASSEMBLY_DIR); \ -+ for index_file in $${all_roots} ; do \ -+ target_dir=`dirname $${index_file}`; \ -+ name=`$(ECHO) $${target_dir} | $(SED) "s;/spec;;" | $(SED) "s;.*/;;"`; \ -+ $(LN) -s $${target_dir} $${name}; \ -+ done; \ -+ $(ZIP) -q -r $(JAVADOC_ARCHIVE) * ; \ -+ popd ; -+ - ################################################################# - # Production Targets -- USE THESE TARGETS WHEN: - # a) You're generating docs outside of release engineering's ---- jdk8/make/Main.gmk 2016-04-01 16:53:41.311480424 +0200 -+++ jdk8/make/Main.gmk 2016-04-01 16:53:41.266479914 +0200 -@@ -165,6 +165,12 @@ - @($(CD) $(SRC_ROOT)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk docs) - @$(call TargetExit) - -+zip-docs: docs zip-docs-only -+zip-docs-only: start-make -+ @$(call TargetEnter) -+ @($(CD) $(SRC_ROOT)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk zip-docs) -+ @$(call TargetExit) -+ - sign-jars: jdk sign-jars-only - sign-jars-only: start-make - @$(call TargetEnter) diff --git a/jdk8186464-rh1433262-zip64_failure.patch b/jdk8186464-rh1433262-zip64_failure.patch index 026227f89043aa483d9e562865ab633407b41424..2d36fe2304126f0d0ed64d9811d8a4d66e3b6141 100644 --- a/jdk8186464-rh1433262-zip64_failure.patch +++ b/jdk8186464-rh1433262-zip64_failure.patch @@ -7,27 +7,6 @@ 8186464: ZipFile cannot read some InfoZip ZIP64 zip files Reviewed-by: martin -diff --git openjdk.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java openjdk/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java ---- openjdk.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java -+++ openjdk/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java -@@ -204,6 +204,17 @@ - return LG(b, 0); - } - -+ private static boolean pkSigAt(byte[] b, int n, int b1, int b2) { -+ return b[n] == 'P' & b[n + 1] == 'K' & b[n + 2] == b1 & b[n + 3] == b2; -+ } -+ -+ static boolean cenSigAt(byte[] b, int n) { return pkSigAt(b, n, 1, 2); } -+ static boolean locSigAt(byte[] b, int n) { return pkSigAt(b, n, 3, 4); } -+ static boolean endSigAt(byte[] b, int n) { return pkSigAt(b, n, 5, 6); } -+ static boolean extSigAt(byte[] b, int n) { return pkSigAt(b, n, 7, 8); } -+ static boolean end64SigAt(byte[] b, int n) { return pkSigAt(b, n, 6, 6); } -+ static boolean locator64SigAt(byte[] b, int n) { return pkSigAt(b, n, 6, 7); } -+ - // local file (LOC) header fields - static final long LOCSIG(byte[] b) { return LG(b, 0); } // signature - static final int LOCVER(byte[] b) { return SH(b, 4); } // version needed to extract diff --git openjdk.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java openjdk/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java --- openjdk.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java +++ openjdk/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java @@ -211,8 +190,8 @@ diff --git a/test/javopenjdk.orig/jdk/util/zip/ZipFile/ReadZip.java openjdk/jdk/ - * @bug 4241361 4842702 4985614 6646605 5032358 6923692 6233323 8144977 8184993 + * @bug 4241361 4842702 4985614 6646605 5032358 6923692 6233323 8144977 8184993 8186464 * @summary Make sure we can read a zip file. + @key randomness * @run main/othervm ReadZip - * @run main/othervm -Djdk.util.zip.ensureTrailingSlash=true ReadZip @@ -30,12 +30,24 @@ */ diff --git a/jdk8197981-pr3548-missing_return_statement_in_sync_val_compare_and_swap_8.patch b/jdk8197981-pr3548-missing_return_statement_in_sync_val_compare_and_swap_8.patch deleted file mode 100644 index 5f6d9ce9e4b5ab3f937f3b6be883838404caf414..0000000000000000000000000000000000000000 --- a/jdk8197981-pr3548-missing_return_statement_in_sync_val_compare_and_swap_8.patch +++ /dev/null @@ -1,32 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1518667645 0 -# Thu Feb 15 04:07:25 2018 +0000 -# Node ID 1d35411eb7bdf16191e220ffe3b1dc4d5d0c6041 -# Parent 999983606f5c61b093c6f6316a7b26c4cd4ca79e -8197981, PR3548: Missing return statement in __sync_val_compare_and_swap_8 -Summary: Fix issue discovered by -Wreturn-type on systems without LP64. -Reviewed-by: aph - -diff --git openjdk.orig/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp openjdk/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp ---- openjdk.orig/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp -+++ openjdk/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp -@@ -457,6 +457,7 @@ - long long unsigned int oldval, - long long unsigned int newval) { - ShouldNotCallThis(); -+ return 0; - } - }; - #endif // !_LP64 -diff --git openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp ---- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp -+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp -@@ -498,6 +498,7 @@ - long long unsigned int oldval, - long long unsigned int newval) { - ShouldNotCallThis(); -+ return 0; - } - }; - #endif // !_LP64 diff --git a/jdk8203030-zero_s390_31_bit_size_t_type_conflicts_in_shared_code.patch b/jdk8203030-zero_s390_31_bit_size_t_type_conflicts_in_shared_code.patch index 843158ec789fe18e27e99178199ddf07ecbc3eef..4098bdca1bf2412fa213ff139788c9ade8077165 100644 --- a/jdk8203030-zero_s390_31_bit_size_t_type_conflicts_in_shared_code.patch +++ b/jdk8203030-zero_s390_31_bit_size_t_type_conflicts_in_shared_code.patch @@ -1,7 +1,7 @@ -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp -@@ -2659,7 +2659,7 @@ +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Tue Sep 08 22:20:44 2020 -0400 +@@ -2689,7 +2689,7 @@ if (ResizeOldPLAB && CMSOldPLABResizeQuicker) { size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks); n_blks += CMSOldPLABReactivityFactor*multiple*n_blks; @@ -10,10 +10,10 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSwe } assert(n_blks > 0, "Error"); _cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl); -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp -@@ -957,7 +957,7 @@ +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Tue Sep 08 22:20:44 2020 -0400 +@@ -961,7 +961,7 @@ if (free_percentage < desired_free_percentage) { size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage)); assert(desired_capacity >= capacity(), "invalid expansion size"); @@ -22,7 +22,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSwe if (PrintGCDetails && Verbose) { size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage)); gclog_or_tty->print_cr("\nFrom compute_new_size: "); -@@ -6577,7 +6577,7 @@ +@@ -6591,7 +6591,7 @@ HeapWord* curAddr = _markBitMap.startWord(); while (curAddr < _markBitMap.endWord()) { size_t remaining = pointer_delta(_markBitMap.endWord(), curAddr); @@ -31,7 +31,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSwe _markBitMap.clear_large_range(chunk); if (ConcurrentMarkSweepThread::should_yield() && !foregroundGCIsActive() && -@@ -6875,7 +6875,7 @@ +@@ -6889,7 +6889,7 @@ return; } // Double capacity if possible @@ -40,30 +40,34 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSwe // Do not give up existing stack until we have managed to // get the double capacity that we desired. ReservedSpace rs(ReservedSpace::allocation_align_size_up( -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp -@@ -3902,7 +3902,7 @@ +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/concurrentMark.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Tue Sep 08 22:20:44 2020 -0400 +@@ -3916,7 +3916,7 @@ // of things to do) or totally (at the very end). size_t target_size; if (partially) { - target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize); -+ target_size = MIN2((size_t)(_task_queue->max_elems()/3), (size_t) GCDrainStackTargetSize); ++ target_size = MIN2((size_t)_task_queue->max_elems()/3, (size_t)GCDrainStackTargetSize); } else { target_size = 0; } -@@ -4706,7 +4706,7 @@ - // The > 0 check is to deal with the prev and next live bytes which - // could be 0. - if (*hum_bytes > 0) { -- bytes = MIN2(HeapRegion::GrainBytes, *hum_bytes); -+ bytes = MIN2(HeapRegion::GrainBytes, (size_t)*hum_bytes); - *hum_bytes -= bytes; +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1BiasedArray.hpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp Tue Sep 08 22:20:44 2020 -0400 +@@ -78,7 +78,8 @@ + size_t num_target_elems = pointer_delta(end, bottom, mapping_granularity_in_bytes); + idx_t bias = (uintptr_t)bottom / mapping_granularity_in_bytes; + address base = create_new_base_array(num_target_elems, target_elem_size_in_bytes); +- initialize_base(base, num_target_elems, bias, target_elem_size_in_bytes, log2_intptr(mapping_granularity_in_bytes)); ++ initialize_base(base, num_target_elems, bias, target_elem_size_in_bytes, ++ log2_intptr((uintptr_t)mapping_granularity_in_bytes)); } - return bytes; -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp + + size_t bias() const { return _bias; } +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Tue Sep 08 22:20:44 2020 -0400 @@ -1729,7 +1729,7 @@ verify_region_sets_optional(); @@ -73,21 +77,33 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHea ergo_verbose1(ErgoHeapSizing, "attempt heap expansion", ergo_format_reason("allocation request failed") -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp -@@ -117,7 +117,7 @@ - return reserved_size() - committed_size(); +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp Tue Sep 08 22:20:44 2020 -0400 +@@ -41,7 +41,7 @@ } --size_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const { -+uintptr_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const { - return (addr - _low_boundary) / _page_size; - } + size_t G1CMObjArrayProcessor::process_array_slice(objArrayOop obj, HeapWord* start_from, size_t remaining) { +- size_t words_to_scan = MIN2(remaining, ObjArrayMarkingStride); ++ size_t words_to_scan = MIN2(remaining, (size_t)ObjArrayMarkingStride); + + if (remaining > ObjArrayMarkingStride) { + push_array_slice(start_from + ObjArrayMarkingStride); +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.hpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.hpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.hpp Tue Sep 08 22:20:44 2020 -0400 +@@ -89,7 +89,7 @@ + void pretouch_internal(size_t start_page, size_t end_page); -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp + // Returns the index of the page which contains the given address. +- uintptr_t addr_to_page_index(char* addr) const; ++ size_t addr_to_page_index(char* addr) const; + // Returns the address of the given page index. + char* page_start(size_t index) const; + +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp Tue Sep 08 22:20:44 2020 -0400 @@ -38,7 +38,7 @@ _cancel(false), _empty(true), @@ -97,9 +113,9 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQ _queues = NEW_C_HEAP_ARRAY(G1StringDedupWorkerQueue, _nqueues, mtGC); for (size_t i = 0; i < _nqueues; i++) { new (_queues + i) G1StringDedupWorkerQueue(G1StringDedupWorkerQueue::default_segment_size(), _max_cache_size, _max_size); -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp Tue Sep 08 22:20:44 2020 -0400 @@ -120,7 +120,7 @@ }; @@ -109,10 +125,10 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupT _max_list_length(0), _cached(PaddedArray::create_unfreeable((uint)_nlists)), _overflowed(PaddedArray::create_unfreeable((uint)_nlists)) { -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp -@@ -109,7 +109,7 @@ +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/heapRegion.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp Tue Sep 08 22:20:44 2020 -0400 +@@ -110,7 +110,7 @@ if (FLAG_IS_DEFAULT(G1HeapRegionSize)) { size_t average_heap_size = (initial_heap_size + max_heap_size) / 2; region_size = MAX2(average_heap_size / HeapRegionBounds::target_number(), @@ -121,9 +137,9 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp } int region_size_log = log2_long((jlong) region_size); -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/parNew/parNewGeneration.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Tue Sep 08 22:20:44 2020 -0400 @@ -194,7 +194,7 @@ const size_t num_overflow_elems = of_stack->size(); const size_t space_available = queue->max_elems() - queue->size(); @@ -133,29 +149,27 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGene num_overflow_elems); // Transfer the most recent num_take_elems from the overflow // stack to our work queue. -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp -@@ -910,8 +910,8 @@ +diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Tue Sep 08 22:20:44 2020 -0400 +@@ -912,7 +912,7 @@ + void PSParallelCompact::initialize_dead_wood_limiter() { - const size_t max = 100; -- _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0; -- _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0; -+ _dwl_mean = double(MIN2((size_t)ParallelOldDeadWoodLimiterMean, max)) / 100.0; -+ _dwl_std_dev = double(MIN2((size_t)ParallelOldDeadWoodLimiterStdDev, max)) / 100.0; +- const size_t max = 100; ++ const uintx max = 100; + _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0; + _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0; _dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev); - DEBUG_ONLY(_dwl_initialized = true;) - _dwl_adjustment = normal_distribution(1.0); -diff --git openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp ---- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp -+++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp +diff -r 4689eaf1a5c9 src/share/vm/memory/collectorPolicy.cpp +--- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp Tue Sep 08 22:20:44 2020 -0400 @@ -385,7 +385,7 @@ uintx calculated_size = NewSize + OldSize; double shrink_factor = (double) MaxHeapSize / calculated_size; uintx smaller_new_size = align_size_down((uintx)(NewSize * shrink_factor), _gen_alignment); - FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), smaller_new_size)); -+ FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), (size_t)smaller_new_size)); ++ FLAG_SET_ERGO(uintx, NewSize, MAX2((uintx)young_gen_size_lower_bound(), smaller_new_size)); _initial_gen0_size = NewSize; // OldSize is already aligned because above we aligned MaxHeapSize to @@ -168,7 +182,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/ } assert(max_new_size > 0, "All paths should set max_new_size"); -@@ -455,24 +455,23 @@ +@@ -455,23 +455,25 @@ // lower limit. _min_gen0_size = NewSize; desired_new_size = NewSize; @@ -190,15 +204,16 @@ diff --git openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/ // NewRatio is overly large, the resulting sizes can be too // small. - _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), NewSize); -+ _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), (size_t)NewSize); ++ _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), ++ (size_t)NewSize); desired_new_size = - MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize); -- } -+ MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize); } ++ MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), ++ (size_t)NewSize); + } assert(_min_gen0_size > 0, "Sanity check"); - _initial_gen0_size = desired_new_size; -@@ -573,7 +572,7 @@ +@@ -573,7 +575,7 @@ } else { // It's been explicitly set on the command line. Use the // OldSize and then determine the consequences. @@ -207,9 +222,9 @@ diff --git openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/ _initial_gen1_size = OldSize; // If the user has explicitly set an OldSize that is inconsistent -diff --git openjdk.orig/hotspot/src/share/vm/memory/metaspace.cpp openjdk/hotspot/src/share/vm/memory/metaspace.cpp ---- openjdk.orig/hotspot/src/share/vm/memory/metaspace.cpp -+++ openjdk/hotspot/src/share/vm/memory/metaspace.cpp +diff -r 4689eaf1a5c9 src/share/vm/memory/metaspace.cpp +--- openjdk.orig/hotspot/src/share/vm/memory/metaspace.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/memory/metaspace.cpp Tue Sep 08 22:20:44 2020 -0400 @@ -1482,7 +1482,7 @@ void MetaspaceGC::post_initialize() { @@ -237,38 +252,18 @@ diff --git openjdk.orig/hotspot/src/share/vm/memory/metaspace.cpp openjdk/hotspo if (PrintGCDetails && Verbose) { gclog_or_tty->print_cr(" " " maximum_free_percentage: %6.2f" -@@ -3361,7 +3361,7 @@ +@@ -3320,7 +3320,7 @@ + // Make the first class chunk bigger than a medium chunk so it's not put // on the medium chunk list. The next chunk will be small and progress // from there. This size calculated by -version. - _first_class_chunk_word_size = MIN2((size_t)MediumChunk*6, -- (CompressedClassSpaceSize/BytesPerWord)*2); -+ (size_t)(CompressedClassSpaceSize/BytesPerWord)*2); +- _first_class_chunk_word_size = MIN2((size_t)MediumChunk*6, ++ _first_class_chunk_word_size = MIN2((uintx)MediumChunk*6, + (CompressedClassSpaceSize/BytesPerWord)*2); _first_class_chunk_word_size = align_word_size_up(_first_class_chunk_word_size); // Arbitrarily set the initial virtual space to a multiple - // of the boot class loader size. -diff --git openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp ---- openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp -+++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp -@@ -250,13 +250,13 @@ - size_t init_sz = 0; - - if (TLABSize > 0) { -- init_sz = TLABSize / HeapWordSize; -+ init_sz = (size_t)(TLABSize / HeapWordSize); - } else if (global_stats() != NULL) { - // Initial size is a function of the average number of allocating threads. - unsigned nof_threads = global_stats()->allocating_threads_avg(); - -- init_sz = (Universe::heap()->tlab_capacity(myThread()) / HeapWordSize) / -- (nof_threads * target_refills()); -+ init_sz = (size_t)((Universe::heap()->tlab_capacity(myThread()) / HeapWordSize) / -+ (nof_threads * target_refills())); - init_sz = align_object_size(init_sz); - } - init_sz = MIN2(MAX2(init_sz, min_size()), max_size()); -diff --git openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp ---- openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp -+++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp +diff -r 4689eaf1a5c9 src/share/vm/oops/objArrayKlass.inline.hpp +--- openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp Tue Sep 08 22:20:44 2020 -0400 @@ -48,7 +48,7 @@ const size_t beg_index = size_t(index); assert(beg_index < len || len == 0, "index too large"); @@ -287,10 +282,10 @@ diff --git openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp openj const size_t end_index = beg_index + stride; T* const base = (T*)a->base(); T* const beg = base + beg_index; -diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp -+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp -@@ -1289,7 +1289,7 @@ +diff -r 4689eaf1a5c9 src/share/vm/runtime/arguments.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp Tue Sep 08 22:20:44 2020 -0400 +@@ -1301,7 +1301,7 @@ // NewSize was set on the command line and it is larger than // preferred_max_new_size. if (!FLAG_IS_DEFAULT(NewSize)) { // NewSize explicitly set at command-line @@ -299,7 +294,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotsp } else { FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size); } -@@ -1314,8 +1314,8 @@ +@@ -1326,8 +1326,8 @@ // Unless explicitly requested otherwise, make young gen // at least min_new, and at most preferred_max_new_size. if (FLAG_IS_DEFAULT(NewSize)) { @@ -310,7 +305,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotsp if (PrintGCDetails && Verbose) { // Too early to use gclog_or_tty tty->print_cr("CMS ergo set NewSize: " SIZE_FORMAT, NewSize); -@@ -1325,7 +1325,7 @@ +@@ -1337,7 +1337,7 @@ // so it's NewRatio x of NewSize. if (FLAG_IS_DEFAULT(OldSize)) { if (max_heap > NewSize) { @@ -319,3 +314,15 @@ diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotsp if (PrintGCDetails && Verbose) { // Too early to use gclog_or_tty tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize); +diff -r 4689eaf1a5c9 src/share/vm/runtime/os.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp Mon Aug 31 07:09:56 2020 +0100 ++++ openjdk/hotspot/src/share/vm/runtime/os.cpp Tue Sep 08 22:20:44 2020 -0400 +@@ -1272,7 +1272,7 @@ + } + + void os::set_memory_serialize_page(address page) { +- int count = log2_intptr(sizeof(class JavaThread)) - log2_int(64); ++ int count = log2_intptr((uintptr_t)sizeof(class JavaThread)) - log2_int(64); + _mem_serialize_page = (volatile int32_t *)page; + // We initialize the serialization page shift count here + // We assume a cache line size of 64 bytes diff --git a/pr3519-fix_further_functions_with_a_missing_return_value.patch b/pr3519-fix_further_functions_with_a_missing_return_value.patch deleted file mode 100644 index 51ca7f168739ea03ac0d0d28df34e096526dfbc1..0000000000000000000000000000000000000000 --- a/pr3519-fix_further_functions_with_a_missing_return_value.patch +++ /dev/null @@ -1,19 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1518669922 0 -# Thu Feb 15 04:45:22 2018 +0000 -# Node ID adaf109718c10888cce5b6e73af7f3e15a7ab0db -# Parent 3ade0115344b77e6d00462044e0cf68722685bfe -PR3519: Fix further functions with a missing return value. - -diff --git openjdk.orig/hotspot/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp openjdk/hotspot/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp ---- openjdk.orig/hotspot/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp -+++ openjdk/hotspot/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp -@@ -205,6 +205,7 @@ - return Address(base, tmp, Address::lsl(addr->scale())); - } - } -+ return Address(); - } - - Address LIR_Assembler::as_Address_hi(LIR_Address* addr) { diff --git a/pr3593-s390_use_z_format_specifier_for_size_t_arguments_as_size_t_not_equals_to_int.patch b/pr3593-s390_use_z_format_specifier_for_size_t_arguments_as_size_t_not_equals_to_int.patch index 2700f3c56d62a3d8ac08a0bcc25862262890cbee..a98089567828b5459ff149468294dc28b50bda4a 100644 --- a/pr3593-s390_use_z_format_specifier_for_size_t_arguments_as_size_t_not_equals_to_int.patch +++ b/pr3593-s390_use_z_format_specifier_for_size_t_arguments_as_size_t_not_equals_to_int.patch @@ -32,7 +32,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupT - " [Entries: " UINTX_FORMAT ", Load: " G1_STRDEDUP_PERCENT_FORMAT_NS ", Cached: " UINTX_FORMAT ", Added: " UINTX_FORMAT ", Removed: " UINTX_FORMAT "]\n" + " [Entries: " UINTX_FORMAT ", Load: " G1_STRDEDUP_PERCENT_FORMAT_NS ", Cached: " SIZE_FORMAT ", Added: " UINTX_FORMAT ", Removed: " UINTX_FORMAT "]\n" " [Resize Count: " UINTX_FORMAT ", Shrink Threshold: " UINTX_FORMAT "(" G1_STRDEDUP_PERCENT_FORMAT_NS "), Grow Threshold: " UINTX_FORMAT "(" G1_STRDEDUP_PERCENT_FORMAT_NS ")]\n" - " [Rehash Count: " UINTX_FORMAT ", Rehash Threshold: " UINTX_FORMAT ", Hash Seed: 0x%x]\n" + " [Rehash Count: " UINTX_FORMAT ", Rehash Threshold: " UINTX_FORMAT ", Hash Seed: " UINT64_FORMAT "]\n" " [Age Threshold: " UINTX_FORMAT "]", diff --git openjdk.orig/hotspot/src/share/vm/memory/blockOffsetTable.cpp openjdk/hotspot/src/share/vm/memory/blockOffsetTable.cpp --- openjdk.orig/hotspot/src/share/vm/memory/blockOffsetTable.cpp @@ -141,3 +141,26 @@ diff --git openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp ope #define INTX_FORMAT "%" PRIdPTR #define UINTX_FORMAT "%" PRIuPTR +diff --git openjdk.orig/hotspot/src/share/vm/runtime/memprofiler.cpp openjdk/hotspot/src/share/vm/runtime/memprofiler.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/memprofiler.cpp ++++ openjdk/hotspot/src/share/vm/runtime/memprofiler.cpp +@@ -117,16 +117,16 @@ + } + + // Print trace line in log +- fprintf(_log_fp, "%6.1f,%5d,%5d," UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) ",", ++ fprintf(_log_fp, "%6.1f,%5d,%5d," SIZE_FORMAT_W(6) "," SIZE_FORMAT_W(6) ",", + os::elapsedTime(), + Threads::number_of_threads(), + SystemDictionary::number_of_classes(), + Universe::heap()->used() / K, + Universe::heap()->capacity() / K); + +- fprintf(_log_fp, UINTX_FORMAT_W(6) ",", CodeCache::capacity() / K); ++ fprintf(_log_fp, SIZE_FORMAT_W(6) ",", CodeCache::capacity() / K); + +- fprintf(_log_fp, UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) "\n", ++ fprintf(_log_fp, SIZE_FORMAT_W(6) "," SIZE_FORMAT_W(6) "," SIZE_FORMAT_W(6) "\n", + handles_memory_usage / K, + resource_memory_usage / K, + OopMapCache::memory_usage() / K); diff --git a/pr3601-fix_additional_Wreturn_type_issues_introduced_by_8061651_for_prims_jvm_cpp.patch b/pr3601-fix_additional_Wreturn_type_issues_introduced_by_8061651_for_prims_jvm_cpp.patch deleted file mode 100644 index d1e95765c54a59eb5cedb654648e0b6fec55f962..0000000000000000000000000000000000000000 --- a/pr3601-fix_additional_Wreturn_type_issues_introduced_by_8061651_for_prims_jvm_cpp.patch +++ /dev/null @@ -1,38 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1529475043 -3600 -# Wed Jun 20 07:10:43 2018 +0100 -# Node ID f6341f4635dacb56678264d29a88cd052b74036b -# Parent 30520d5018b509b0ae68f5fcc9a5c540e3e5b2de -PR3601: Fix additional -Wreturn-type issues introduced by 8061651 - -diff --git openjdk.orig/hotspot/src/share/vm/prims/jvm.cpp openjdk/hotspot/src/share/vm/prims/jvm.cpp ---- openjdk.orig/hotspot/src/share/vm/prims/jvm.cpp -+++ openjdk/hotspot/src/share/vm/prims/jvm.cpp -@@ -835,7 +835,7 @@ - JVM_ENTRY(jboolean, JVM_KnownToNotExist(JNIEnv *env, jobject loader, const char *classname)) - JVMWrapper("JVM_KnownToNotExist"); - #if INCLUDE_CDS -- return ClassLoaderExt::known_to_not_exist(env, loader, classname, CHECK_(false)); -+ return ClassLoaderExt::known_to_not_exist(env, loader, classname, THREAD); - #else - return false; - #endif -@@ -845,7 +845,7 @@ - JVM_ENTRY(jobjectArray, JVM_GetResourceLookupCacheURLs(JNIEnv *env, jobject loader)) - JVMWrapper("JVM_GetResourceLookupCacheURLs"); - #if INCLUDE_CDS -- return ClassLoaderExt::get_lookup_cache_urls(env, loader, CHECK_NULL); -+ return ClassLoaderExt::get_lookup_cache_urls(env, loader, THREAD); - #else - return NULL; - #endif -@@ -855,7 +855,7 @@ - JVM_ENTRY(jintArray, JVM_GetResourceLookupCache(JNIEnv *env, jobject loader, const char *resource_name)) - JVMWrapper("JVM_GetResourceLookupCache"); - #if INCLUDE_CDS -- return ClassLoaderExt::get_lookup_cache(env, loader, resource_name, CHECK_NULL); -+ return ClassLoaderExt::get_lookup_cache(env, loader, resource_name, THREAD); - #else - return NULL; - #endif diff --git a/rh1566890-CVE_2018_3639-speculative_store_bypass.patch b/rh1566890-CVE_2018_3639-speculative_store_bypass.patch deleted file mode 100644 index d8f3a5a6fe71114dee13bbf492388369d229eb52..0000000000000000000000000000000000000000 --- a/rh1566890-CVE_2018_3639-speculative_store_bypass.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp ---- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp -+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp -@@ -103,6 +103,8 @@ - # include - # include - -+#include -+ - PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC - - #ifndef _GNU_SOURCE -@@ -4997,6 +4999,31 @@ - } - } - -+/* Per task speculation control */ -+#ifndef PR_GET_SPECULATION_CTRL -+#define PR_GET_SPECULATION_CTRL 52 -+#endif -+#ifndef PR_SET_SPECULATION_CTRL -+#define PR_SET_SPECULATION_CTRL 53 -+#endif -+/* Speculation control variants */ -+# undef PR_SPEC_STORE_BYPASS -+# define PR_SPEC_STORE_BYPASS 0 -+/* Return and control values for PR_SET/GET_SPECULATION_CTRL */ -+# undef PR_SPEC_NOT_AFFECTED -+# undef PR_SPEC_PRCTL -+# undef PR_SPEC_ENABLE -+# undef PR_SPEC_DISABLE -+# define PR_SPEC_NOT_AFFECTED 0 -+# define PR_SPEC_PRCTL (1UL << 0) -+# define PR_SPEC_ENABLE (1UL << 1) -+# define PR_SPEC_DISABLE (1UL << 2) -+ -+static void set_speculation() __attribute__((constructor)); -+static void set_speculation() { -+ prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0); -+} -+ - // this is called _before_ most of the global arguments have been parsed - void os::init(void) { - char dummy; /* used to get a guess on initial stack address */ diff --git a/rh1566890-CVE_2018_3639-speculative_store_bypass_toggle.patch b/rh1566890-CVE_2018_3639-speculative_store_bypass_toggle.patch deleted file mode 100644 index 94ef9d42d3f8e2f0dddab52796c671b27f89374c..0000000000000000000000000000000000000000 --- a/rh1566890-CVE_2018_3639-speculative_store_bypass_toggle.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp ---- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp -+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp -@@ -5001,26 +5001,43 @@ - - /* Per task speculation control */ - #ifndef PR_GET_SPECULATION_CTRL --#define PR_GET_SPECULATION_CTRL 52 -+# define PR_GET_SPECULATION_CTRL 52 - #endif - #ifndef PR_SET_SPECULATION_CTRL --#define PR_SET_SPECULATION_CTRL 53 -+# define PR_SET_SPECULATION_CTRL 53 - #endif - /* Speculation control variants */ --# undef PR_SPEC_STORE_BYPASS -+#ifndef PR_SPEC_STORE_BYPASS - # define PR_SPEC_STORE_BYPASS 0 -+#endif - /* Return and control values for PR_SET/GET_SPECULATION_CTRL */ --# undef PR_SPEC_NOT_AFFECTED --# undef PR_SPEC_PRCTL --# undef PR_SPEC_ENABLE --# undef PR_SPEC_DISABLE -+ -+#ifndef PR_SPEC_NOT_AFFECTED - # define PR_SPEC_NOT_AFFECTED 0 -+#endif -+#ifndef PR_SPEC_PRCTL - # define PR_SPEC_PRCTL (1UL << 0) -+#endif -+#ifndef PR_SPEC_ENABLE - # define PR_SPEC_ENABLE (1UL << 1) -+#endif -+#ifndef PR_SPEC_DISABLE - # define PR_SPEC_DISABLE (1UL << 2) -+#endif -+#ifndef PR_SPEC_FORCE_DISABLE -+# define PR_SPEC_FORCE_DISABLE (1UL << 3) -+#endif -+#ifndef PR_SPEC_DISABLE_NOEXEC -+# define PR_SPEC_DISABLE_NOEXEC (1UL << 4) -+#endif - - static void set_speculation() __attribute__((constructor)); - static void set_speculation() { -+ if ( prctl(PR_SET_SPECULATION_CTRL, -+ PR_SPEC_STORE_BYPASS, -+ PR_SPEC_DISABLE_NOEXEC, 0, 0) == 0 ) { -+ return; -+ } - prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0); - } - diff --git a/rh1750419-redhat_alt_java.patch b/rh1750419-redhat_alt_java.patch new file mode 100644 index 0000000000000000000000000000000000000000..bdb67b3bba93a30dcd1c53365bfdfd90de487d2a --- /dev/null +++ b/rh1750419-redhat_alt_java.patch @@ -0,0 +1,128 @@ +diff --git openjdk.orig/jdk/make/CompileLaunchers.gmk openjdk/jdk/make/CompileLaunchers.gmk +--- openjdk.orig/jdk/make/CompileLaunchers.gmk ++++ openjdk/jdk/make/CompileLaunchers.gmk +@@ -255,6 +255,32 @@ + endif + endif + ++$(eval $(call SetupLauncher,alt-java, \ ++ -DEXPAND_CLASSPATH_WILDCARDS -DREDHAT_ALT_JAVA,,,user32.lib comctl32.lib, \ ++ $(JDK_OUTPUTDIR)/objs/jli_static.lib, $(JAVA_RC_FLAGS), \ ++ $(JDK_TOPDIR)/src/windows/resource/java.rc, $(JDK_OUTPUTDIR)/objs/java_objs,true)) ++ ++$(JDK_OUTPUTDIR)/bin$(OUTPUT_SUBDIR)/alt-java$(EXE_SUFFIX): $(BUILD_LAUNCHER_alt-java) ++ $(MKDIR) -p $(@D) ++ $(RM) $@ ++ $(CP) $(JDK_OUTPUTDIR)/objs/java_objs$(OUTPUT_SUBDIR)/alt-java$(EXE_SUFFIX) $@ ++ ++$(JDK_OUTPUTDIR)/bin$(OUTPUT_SUBDIR)/alt-java$(DEBUGINFO_EXT): $(BUILD_LAUNCHER_alt-java) ++ $(MKDIR) -p $(@D) ++ $(RM) $@ ++ $(CP) $(JDK_OUTPUTDIR)/objs/java_objs$(OUTPUT_SUBDIR)/alt-java$(DEBUGINFO_EXT) $@ ++ ++ifeq ($(OPENJDK_TARGET_OS), linux) ++ BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin$(OUTPUT_SUBDIR)/alt-java$(EXE_SUFFIX) ++ ifeq ($(ENABLE_DEBUG_SYMBOLS), true) ++ ifneq ($(POST_STRIP_CMD), ) ++ ifneq ($(STRIP_POLICY), no_strip) ++ BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin$(OUTPUT_SUBDIR)/alt-java$(DEBUGINFO_EXT) ++ endif ++ endif ++ endif ++endif ++ + ifeq ($(OPENJDK_TARGET_OS), windows) + $(eval $(call SetupLauncher,javaw, \ + -DJAVAW -DEXPAND_CLASSPATH_WILDCARDS,,,user32.lib comctl32.lib, \ +diff --git openjdk.orig/jdk/src/share/bin/alt_main.h openjdk/jdk/src/share/bin/alt_main.h +new file mode 100644 +--- /dev/null ++++ openjdk/jdk/src/share/bin/alt_main.h +@@ -0,0 +1,73 @@ ++/* ++ * Copyright (c) 2019, Red Hat, Inc. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. Oracle designates this ++ * particular file as subject to the "Classpath" exception as provided ++ * by Oracle in the LICENSE file that accompanied this code. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA ++ * or visit www.oracle.com if you need additional information or have any ++ * questions. ++ */ ++ ++#ifdef REDHAT_ALT_JAVA ++ ++#include ++ ++ ++/* Per task speculation control */ ++#ifndef PR_GET_SPECULATION_CTRL ++# define PR_GET_SPECULATION_CTRL 52 ++#endif ++#ifndef PR_SET_SPECULATION_CTRL ++# define PR_SET_SPECULATION_CTRL 53 ++#endif ++/* Speculation control variants */ ++#ifndef PR_SPEC_STORE_BYPASS ++# define PR_SPEC_STORE_BYPASS 0 ++#endif ++/* Return and control values for PR_SET/GET_SPECULATION_CTRL */ ++ ++#ifndef PR_SPEC_NOT_AFFECTED ++# define PR_SPEC_NOT_AFFECTED 0 ++#endif ++#ifndef PR_SPEC_PRCTL ++# define PR_SPEC_PRCTL (1UL << 0) ++#endif ++#ifndef PR_SPEC_ENABLE ++# define PR_SPEC_ENABLE (1UL << 1) ++#endif ++#ifndef PR_SPEC_DISABLE ++# define PR_SPEC_DISABLE (1UL << 2) ++#endif ++#ifndef PR_SPEC_FORCE_DISABLE ++# define PR_SPEC_FORCE_DISABLE (1UL << 3) ++#endif ++#ifndef PR_SPEC_DISABLE_NOEXEC ++# define PR_SPEC_DISABLE_NOEXEC (1UL << 4) ++#endif ++ ++static void set_speculation() __attribute__((constructor)); ++static void set_speculation() { ++ if ( prctl(PR_SET_SPECULATION_CTRL, ++ PR_SPEC_STORE_BYPASS, ++ PR_SPEC_DISABLE_NOEXEC, 0, 0) == 0 ) { ++ return; ++ } ++ prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0); ++} ++ ++#endif // REDHAT_ALT_JAVA +diff --git openjdk.orig/jdk/src/share/bin/main.c openjdk/jdk/src/share/bin/main.c +--- openjdk.orig/jdk/src/share/bin/main.c ++++ openjdk/jdk/src/share/bin/main.c +@@ -32,6 +32,10 @@ + + #include "defines.h" + ++#if defined(linux) && defined(__x86_64) ++#include "alt_main.h" ++#endif ++ + #ifdef _MSC_VER + #if _MSC_VER > 1400 && _MSC_VER < 1600 + diff --git a/rh1862929-scanner_performance.patch b/rh1862929-scanner_performance.patch new file mode 100644 index 0000000000000000000000000000000000000000..8d72068a870d1a4534007c11a143d2dcf113d4f7 --- /dev/null +++ b/rh1862929-scanner_performance.patch @@ -0,0 +1,45 @@ +diff --git openjdk.orig/jdk/src/share/classes/java/util/Scanner.java openjdk/jdk/src/share/classes/java/util/Scanner.java +--- openjdk.orig/jdk/src/share/classes/java/util/Scanner.java ++++ openjdk/jdk/src/share/classes/java/util/Scanner.java +@@ -1186,10 +1186,10 @@ + (DecimalFormat)NumberFormat.getNumberInstance(locale); + DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(locale); + +- // These must be literalized to avoid collision with regex +- // metacharacters such as dot or parenthesis +- groupSeparator = "\\x{" + Integer.toHexString(dfs.getGroupingSeparator()) + "}"; +- decimalSeparator = "\\x{" + Integer.toHexString(dfs.getDecimalSeparator()) + "}"; ++ // Escape separators to avoid them being interpreted as a regex ++ // metacharacter (e.g. '.') ++ groupSeparator = escapeSeparator(dfs.getGroupingSeparator()); ++ decimalSeparator = escapeSeparator(dfs.getDecimalSeparator()); + + // Quoting the nonzero length locale-specific things + // to avoid potential conflict with metacharacters +@@ -1217,6 +1217,26 @@ + } + + /** ++ * Utility method to escape separators so they ++ * are not misinterpreted as regex metacharacters. ++ * We optimise the most common cases by using an ++ * escaped literal rather than the \x construct. ++ * ++ * @param ch the separator character to escape. ++ * @return a {@code String} contained the escaped character. ++ */ ++ private static String escapeSeparator(char ch) { ++ switch (ch) { ++ case '\u002c': // ',' ++ case '\u002e': // '.' ++ case '\u00a0': ++ return "\\" + ch; ++ default: ++ return "\\x{" + Integer.toHexString(ch) + "}"; ++ } ++ } ++ ++ /** + * Returns this scanner's default radix. + * + *

A scanner's radix affects elements of its default diff --git a/s390-8214206_fix.patch b/s390-8214206_fix.patch index d79d676357ea942916aa864dccb826b3b6609ab5..190109cf4b679f185d1f8813eb279ab94338b026 100644 --- a/s390-8214206_fix.patch +++ b/s390-8214206_fix.patch @@ -1,28 +1,13 @@ -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp -@@ -78,7 +78,8 @@ - size_t num_target_elems = pointer_delta(end, bottom, mapping_granularity_in_bytes); - idx_t bias = (uintptr_t)bottom / mapping_granularity_in_bytes; - address base = create_new_base_array(num_target_elems, target_elem_size_in_bytes); -- initialize_base(base, num_target_elems, bias, target_elem_size_in_bytes, log2_intptr(mapping_granularity_in_bytes)); -+ initialize_base(base, num_target_elems, bias, target_elem_size_in_bytes, -+ log2_intptr((uintptr_t) mapping_granularity_in_bytes)); +diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp ++++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp +@@ -150,5 +150,5 @@ + return value; } - size_t bias() const { return _bias; } -diff --git openjdk.orig/hotspot/src/share/vm/runtime/os.cpp openjdk/hotspot/src/share/vm/runtime/os.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp -+++ openjdk/hotspot/src/share/vm/runtime/os.cpp -@@ -1284,7 +1284,7 @@ +- return (size_t)1 << (log2_intptr(value) + 1); ++ return (size_t)1 << (log2_intptr((uintptr_t) value) + 1); } - - void os::set_memory_serialize_page(address page) { -- int count = log2_intptr(sizeof(class JavaThread)) - log2_int(64); -+ int count = log2_intptr((uintptr_t) sizeof(class JavaThread)) - log2_int(64); - _mem_serialize_page = (volatile int32_t *)page; - // We initialize the serialization page shift count here - // We assume a cache line size of 64 bytes diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp --- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp +++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp @@ -35,3 +20,27 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenan // Defensively saturate for product bits: if (mag < 0) { +diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ++++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp +@@ -659,7 +659,7 @@ + } + + size_t ShenandoahHeap::soft_max_capacity() const { +- size_t v = OrderAccess::load_acquire((volatile size_t*)&_soft_max_size); ++ size_t v = OrderAccess::load_acquire((volatile jlong*)&_soft_max_size); + assert(min_capacity() <= v && v <= max_capacity(), + err_msg("Should be in bounds: " SIZE_FORMAT " <= " SIZE_FORMAT " <= " SIZE_FORMAT, + min_capacity(), v, max_capacity())); +diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ++++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp +@@ -155,7 +155,7 @@ + private: + size_t _initial_size; + size_t _minimum_size; +- volatile size_t _soft_max_size; ++ volatile jlong _soft_max_size; + shenandoah_padding(0); + volatile jlong _used; + volatile size_t _committed;