diff --git a/.gitignore b/.gitignore index 1ed05dc..00e22cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/openjdk-shenandoah-jdk8u-shenandoah-jdk8u382-b05-4curve.tar.xz +SOURCES/openjdk-shenandoah-jdk8u-shenandoah-jdk8u392-b08.tar.xz SOURCES/tapsets-icedtea-3.15.0.tar.xz diff --git a/.java-1.8.0-openjdk-portable.metadata b/.java-1.8.0-openjdk-portable.metadata new file mode 100644 index 0000000..a76f842 --- /dev/null +++ b/.java-1.8.0-openjdk-portable.metadata @@ -0,0 +1,2 @@ +2ca27b0d535c9dcf71679cad14be5660d0554f82 SOURCES/openjdk-shenandoah-jdk8u-shenandoah-jdk8u392-b08.tar.xz +7ae2cba67467825b2c2a5fec7aea041865023002 SOURCES/tapsets-icedtea-3.15.0.tar.xz diff --git a/.java-1.8.0-openjdk.metadata b/.java-1.8.0-openjdk.metadata deleted file mode 100644 index 04ad4b4..0000000 --- a/.java-1.8.0-openjdk.metadata +++ /dev/null @@ -1,2 +0,0 @@ -5da51f425a78dbdcb00909544cac3385db461e54 SOURCES/openjdk-shenandoah-jdk8u-shenandoah-jdk8u382-b05-4curve.tar.xz -7ae2cba67467825b2c2a5fec7aea041865023002 SOURCES/tapsets-icedtea-3.15.0.tar.xz diff --git a/SOURCES/NEWS b/SOURCES/NEWS index 305d2cf..51e3859 100644 --- a/SOURCES/NEWS +++ b/SOURCES/NEWS @@ -3,125 +3,6 @@ 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 8u382 (2023-07-18): -=========================================== -Live versions of these release notes can be found at: - * https://bit.ly/openjdk8u382 - -* CVEs - - CVE-2023-22045 - - CVE-2023-22049 -* Security fixes - - JDK-8298676: Enhanced Look and Feel - - JDK-8300596: Enhance Jar Signature validation - - JDK-8304468: Better array usages - - JDK-8305312: Enhanced path handling -* Other changes - - JDK-8072678: Wrong exception messages in java.awt.color.ICC_ColorSpace - - JDK-8151460: Metaspace counters can have inconsistent values - - JDK-8152432: Implement setting jtreg @requires properties vm.flavor, vm.bits, vm.compMode - - JDK-8185736: missing default exception handler in calls to rethrow_Stub - - JDK-8186801: Add regression test to test mapping based charsets (generated at build time) - - JDK-8215105: java/awt/Robot/HiDPIScreenCapture/ScreenCaptureTest.java: Wrong Pixel Color - - JDK-8241311: Move some charset mapping tests from closed to open - - JDK-8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert - - JDK-8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped - - JDK-8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key - - JDK-8276841: Add support for Visual Studio 2022 - - JDK-8277881: Missing SessionID in TLS1.3 resumption in compatibility mode - - JDK-8278851: Correct signer logic for jars signed with multiple digest algorithms - - JDK-8282345: handle latest VS2022 in abstract_vm_version - - JDK-8282600: SSLSocketImpl should not use user_canceled workaround when not necessary - - JDK-8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4 - - JDK-8289301: P11Cipher should not throw out of bounds exception during padding - - JDK-8293232: Fix race condition in pkcs11 SessionManager - - JDK-8293815: P11PSSSignature.engineUpdate should not print debug messages during normal operation - - JDK-8295530: Update Zlib Data Compression Library to Version 1.2.13 - - JDK-8298108: Add a regression test for JDK-8297684 - - JDK-8298271: java/security/SignedJar/spi-calendar-provider/TestSPISigned.java failing on Windows - - JDK-8301119: Support for GB18030-2022 - - JDK-8301400: Allow additional characters for GB18030-2022 support - - JDK-8302791: Add specific ClassLoader object to Proxy IllegalArgumentException message - - JDK-8303028: Update system property for Java SE specification maintenance version - - JDK-8303462: Bump update version of OpenJDK: 8u382 - - JDK-8304760: Add 2 Microsoft TLS roots - - JDK-8305165: [8u] ServiceThread::nmethods_do is not called to keep nmethods from being zombied while in the queue - - JDK-8305681: Allow additional characters for GB18030-2022 (Level 2) support - - JDK-8305975: Add TWCA Global Root CA - - JDK-8307134: Add GTS root CAs - - JDK-8307310: Backport the tests for JDK-8058969 and JDK-8039271 to the OpenJDK8 - - JDK-8307531: [aarch64] JDK8 single-step debugging is extremely slow - - JDK-8310947: gb18030-2000 not selectable with LANG=zh_CN.GB18030 after JDK-8301119 - -Notes on individual issues: -=========================== - -core-libs/java.lang: - -JDK-8305681: Allow additional characters for GB18030-2022 (Level 2) support -=========================================================================== -In order to support "Implementation Level 2" of the GB18030-2022 -standard, the JDK must be able to use characters from the CJK Unified -Ideographs Extension E block of Unicode 8.0. The addition of these -characters forms Maintenance Release 5 of the Java SE 8 specification, -which is implemented in this release of OpenJDK via the addition of a -new UnicodeBlock instance, -Character.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E. - -core-libs/java.util.jar: - -8300596: Enhance Jar Signature validation -========================================= -A System property "jdk.jar.maxSignatureFileSize" is introduced to -configure the maximum number of bytes allowed for the -signature-related files in a JAR file during verification. The default -value is 8000000 bytes (8 MB). - -security-libs/java.security: - -JDK-8307134: Added 4 GTS Root CA Certificates -============================================= -The following root certificates have been added to the cacerts -truststore: - -Name: Google Trust Services LLC -Alias Name: gtsrootcar1 -Distinguished Name: CN=GTS Root R1, O=Google Trust Services LLC, C=US - -Name: Google Trust Services LLC -Alias Name: gtsrootcar2 -Distinguished Name: CN=GTS Root R2, O=Google Trust Services LLC, C=US - -Name: Google Trust Services LLC -Alias Name: gtsrootcar3 -Distinguished Name: CN=GTS Root R3, O=Google Trust Services LLC, C=US - -Name: Google Trust Services LLC -Alias Name: gtsrootcar4 -Distinguished Name: CN=GTS Root R4, O=Google Trust Services LLC, C=US - -JDK-8304760: Added Microsoft Corporation's 2 TLS Root CA Certificates -===================================================================== -The following root certificates has been added to the cacerts -truststore: - -Name: Microsoft Corporation -Alias Name: microsoftecc2017 -Distinguished Name: CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US - -Name: Microsoft Corporation -Alias Name: microsoftrsa2017 -Distinguished Name: CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US - -JDK-8305975: Added TWCA Root CA Certificate -=========================================== -The following root certificate has been added to the cacerts -truststore: - -Name: TWCA -Alias Name: twcaglobalrootca -Distinguished Name: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW - New in release OpenJDK 8u372 (2023-04-18): =========================================== Live versions of these release notes can be found at: diff --git a/SOURCES/jdk8312489-max_sig_default_increase.patch b/SOURCES/jdk8312489-max_sig_default_increase.patch new file mode 100644 index 0000000..adf9e09 --- /dev/null +++ b/SOURCES/jdk8312489-max_sig_default_increase.patch @@ -0,0 +1,48 @@ +commit c38a36f124a7eb28920cc367cb01b67d973a55c0 +Author: Andrew John Hughes +Date: Wed Oct 11 01:42:03 2023 +0100 + + Backport e47a84f23dd2608c6f5748093eefe301fb5bf750 + +diff --git a/jdk/src/share/classes/java/util/jar/JarFile.java b/jdk/src/share/classes/java/util/jar/JarFile.java +index a26dcc4a1c7..ac2e1c9d6a8 100644 +--- a/jdk/src/share/classes/java/util/jar/JarFile.java ++++ b/jdk/src/share/classes/java/util/jar/JarFile.java +@@ -436,7 +436,9 @@ class JarFile extends ZipFile { + throw new IOException("Unsupported size: " + uncompressedSize + + " for JarEntry " + ze.getName() + + ". Allowed max size: " + +- SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes"); ++ SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes. " + ++ "You can use the jdk.jar.maxSignatureFileSize " + ++ "system property to increase the default value."); + } + int len = (int)uncompressedSize; + byte[] b = IOUtils.readAllBytes(is); +diff --git a/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java b/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java +index c335e964f63..afdfa406b92 100644 +--- a/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java ++++ b/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java +@@ -855,16 +855,16 @@ public class SignatureFileVerifier { + * the maximum allowed number of bytes for the signature-related files + * in a JAR file. + */ +- Integer tmp = AccessController.doPrivileged(new GetIntegerAction( +- "jdk.jar.maxSignatureFileSize", 8000000)); ++ int tmp = AccessController.doPrivileged(new GetIntegerAction( ++ "jdk.jar.maxSignatureFileSize", 16000000)); + if (tmp < 0 || tmp > MAX_ARRAY_SIZE) { + if (debug != null) { +- debug.println("Default signature file size 8000000 bytes " + +- "is used as the specified size for the " + +- "jdk.jar.maxSignatureFileSize system property " + ++ debug.println("The default signature file size of 16000000 bytes " + ++ "will be used for the jdk.jar.maxSignatureFileSize " + ++ "system property since the specified value " + + "is out of range: " + tmp); + } +- tmp = 8000000; ++ tmp = 16000000; + } + return tmp; + } diff --git a/SOURCES/pr2462-resolve_disabled_warnings_for_libunpack_and_the_unpack200_binary.patch b/SOURCES/pr2462-resolve_disabled_warnings_for_libunpack_and_the_unpack200_binary.patch index 17e1f69..5f05d73 100644 --- a/SOURCES/pr2462-resolve_disabled_warnings_for_libunpack_and_the_unpack200_binary.patch +++ b/SOURCES/pr2462-resolve_disabled_warnings_for_libunpack_and_the_unpack200_binary.patch @@ -7,10 +7,11 @@ 8074839: Resolve disabled warnings for libunpack and the unpack200 binary Reviewed-by: dholmes, ksrini -diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h ---- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h +diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h +index bdaf95a2f6a..60c5b4f2a69 100644 +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h +++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h -@@ -63,7 +63,7 @@ +@@ -63,7 +63,7 @@ struct bytes { bytes res; res.ptr = ptr + beg; res.len = end - beg; @@ -19,10 +20,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h openj return res; } // building C strings inside byte buffers: -diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp ---- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp +diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp +index 5fbc7261fb3..4c002e779d8 100644 +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp +++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp -@@ -292,7 +292,7 @@ +@@ -292,7 +292,7 @@ Java_com_sun_java_util_jar_pack_NativeUnpack_getUnusedInput(JNIEnv *env, jobject if (uPtr->aborting()) { THROW_IOE(uPtr->get_abort_message()); @@ -31,16 +33,16 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp openj } // We have fetched all the files. -@@ -310,7 +310,7 @@ - JNIEXPORT jlong JNICALL - Java_com_sun_java_util_jar_pack_NativeUnpack_finish(JNIEnv *env, jobject pObj) { - unpacker* uPtr = get_unpacker(env, pObj, false); +@@ -312,7 +312,7 @@ Java_com_sun_java_util_jar_pack_NativeUnpack_finish(JNIEnv *env, jobject pObj) { + // There's no need to create a new unpacker here if we don't already have one + // just to immediatly free it afterwards. + unpacker* uPtr = get_unpacker(env, pObj, /* noCreate= */ true); - CHECK_EXCEPTION_RETURN_VALUE(uPtr, NULL); + CHECK_EXCEPTION_RETURN_VALUE(uPtr, 0); size_t consumed = uPtr->input_consumed(); + // free_unpacker() will set the unpacker field on 'pObj' to null free_unpacker(env, pObj, uPtr); - return consumed; -@@ -320,6 +320,7 @@ +@@ -323,6 +323,7 @@ JNIEXPORT jboolean JNICALL Java_com_sun_java_util_jar_pack_NativeUnpack_setOption(JNIEnv *env, jobject pObj, jstring pProp, jstring pValue) { unpacker* uPtr = get_unpacker(env, pObj); @@ -48,10 +50,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp openj const char* prop = env->GetStringUTFChars(pProp, JNI_FALSE); CHECK_EXCEPTION_RETURN_VALUE(prop, false); const char* value = env->GetStringUTFChars(pValue, JNI_FALSE); -diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp ---- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp +diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp +index 6fbc43a18ae..722c8baaff0 100644 +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp +++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp -@@ -142,31 +142,28 @@ +@@ -142,31 +142,28 @@ static const char* nbasename(const char* progname) { return progname; } @@ -101,10 +104,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp open } } -diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp ---- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp +diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp +index 56f391b1e87..f0a25f8cd20 100644 +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp +++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp -@@ -222,9 +222,9 @@ +@@ -225,9 +225,9 @@ struct entry { } #ifdef PRODUCT @@ -116,7 +120,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op #endif }; -@@ -715,13 +715,13 @@ +@@ -718,13 +718,13 @@ void unpacker::read_file_header() { // Now we can size the whole archive. // Read everything else into a mega-buffer. rp = hdr.rp; @@ -134,7 +138,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op abort("EOF reading fixed input buffer"); return; } -@@ -735,7 +735,7 @@ +@@ -738,7 +738,7 @@ void unpacker::read_file_header() { return; } input.set(U_NEW(byte, add_size(header_size_0, archive_size, C_SLOP)), @@ -143,7 +147,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op CHECK; assert(input.limit()[0] == 0); // Move all the bytes we read initially into the real buffer. -@@ -958,13 +958,13 @@ +@@ -961,13 +961,13 @@ void cpool::init(unpacker* u_, int counts[CONSTANT_Limit]) { nentries = next_entry; // place a limit on future CP growth: @@ -159,7 +163,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op // Note that this CP does not include "empty" entries // for longs and doubles. Those are introduced when -@@ -982,8 +982,9 @@ +@@ -985,8 +985,9 @@ void cpool::init(unpacker* u_, int counts[CONSTANT_Limit]) { } // Initialize *all* our entries once @@ -170,7 +174,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op initGroupIndexes(); // Initialize hashTab to a generous power-of-two size. -@@ -3677,21 +3678,22 @@ +@@ -3681,21 +3682,22 @@ void cpool::computeOutputIndexes() { unpacker* debug_u; @@ -197,7 +201,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op case CONSTANT_Signature: if (value.b.ptr == null) return ref(0)->string(); -@@ -3711,26 +3713,28 @@ +@@ -3715,26 +3717,28 @@ char* entry::string() { break; default: if (nrefs == 0) { @@ -235,10 +239,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp op } void print_cp_entries(int beg, int end) { -diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h ---- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h +diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h +index cec7a88b24e..ed5f3336a59 100644 +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h +++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h -@@ -209,7 +209,7 @@ +@@ -209,7 +209,7 @@ struct unpacker { byte* rp; // read pointer (< rplimit <= input.limit()) byte* rplimit; // how much of the input block has been read? julong bytes_read; @@ -247,10 +252,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h open // callback to read at least one byte, up to available input typedef jlong (*read_input_fn_t)(unpacker* self, void* buf, jlong minlen, jlong maxlen); -diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp ---- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp +diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp +index e5197e1a3f1..40a10055ea5 100644 +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp +++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp -@@ -81,7 +81,7 @@ +@@ -81,7 +81,7 @@ void breakpoint() { } // hook for debugger int assert_failed(const char* p) { char message[1<<12]; sprintf(message, "@assert failed: %s\n", p); @@ -259,10 +265,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp ope breakpoint(); unpack_abort(message); return 0; -diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp ---- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp +diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp +index f58c94956c0..343da3e183b 100644 +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp +++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp -@@ -84,7 +84,7 @@ +@@ -84,7 +84,7 @@ void jar::init(unpacker* u_) { } // Write data to the ZIP output stream. @@ -271,7 +278,7 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openj while (len > 0) { int rc = (int)fwrite(buff, 1, len, jarfp); if (rc <= 0) { -@@ -323,12 +323,12 @@ +@@ -323,12 +323,12 @@ void jar::write_central_directory() { // Total number of disks (int) header64[36] = (ushort)SWAP_BYTES(1); header64[37] = 0; @@ -286,10 +293,11 @@ diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openj PRINTCR((2, "writing zip comment\n")); // Write the comment. -diff --git openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h ---- openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h +diff --git openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h +index 14ffc9d65bd..9877f6f68ca 100644 +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h +++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h -@@ -68,8 +68,8 @@ +@@ -68,8 +68,8 @@ struct jar { } // Private Methods diff --git a/SOURCES/s390-8214206_fix.patch b/SOURCES/s390-8214206_fix.patch index 1b78a9b..190109c 100644 --- a/SOURCES/s390-8214206_fix.patch +++ b/SOURCES/s390-8214206_fix.patch @@ -16,7 +16,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenan Atomic::add(val, &_sum); - int mag = log2_intptr(val) + 1; -+ int mag = log2_intptr((uintptr_t)val) + 1; ++ int mag = log2_long(val) + 1; // Defensively saturate for product bits: if (mag < 0) { diff --git a/SPECS/java-1.8.0-openjdk-portable.spec b/SPECS/java-1.8.0-openjdk-portable.spec index d55ff77..dccbb37 100644 --- a/SPECS/java-1.8.0-openjdk-portable.spec +++ b/SPECS/java-1.8.0-openjdk-portable.spec @@ -45,8 +45,6 @@ # Turn off the debug package as we just produce a bunch of tarballs %define debug_package %{nil} -# turn off lto -%define _lto_cflags %{nil} # note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros # also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch @@ -266,11 +264,22 @@ # New Version-String scheme-style defines %global majorver 8 +# Define version of OpenJDK 8 used +%global project openjdk +%global repo shenandoah-jdk8u +%global openjdk_revision jdk8u392-b08 +%global shenandoah_revision shenandoah-%{openjdk_revision} +# Define IcedTea version used for SystemTap tapsets and desktop file +%global icedteaver 3.15.0 +# Define current Git revision for the FIPS support patches +%global fipsver 6d1aade0648 +# Define current Git revision for the cacerts patch +%global cacertsver 8139f2361c2 # Standard JPackage naming and versioning defines %global origin openjdk %global origin_nice OpenJDK -%global top_level_dir_name %{origin} +%global top_level_dir_name %{shenandoah_revision} # Settings for local security configuration %global security_file %{top_level_dir_name}/jdk/src/share/lib/security/java.security-%{_target_os} @@ -289,38 +298,22 @@ %global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{component}&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=%{component} +%global oj_vendor_bug_url https://access.redhat.com/support/cases/ %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 openjdk -%global shenandoah_repo shenandoah-jdk8u -%global openjdk_revision jdk8u382-b05 -%global shenandoah_revision shenandoah-%{openjdk_revision} -# Define old aarch64/jdk8u tree variables for compatibility -%global project %{shenandoah_project} -%global repo %{shenandoah_repo} -%global revision %{shenandoah_revision} -# Define IcedTea version used for SystemTap tapsets and desktop file -%global icedteaver 3.15.0 -# Define current Git revision for the FIPS support patches -%global fipsver 6d1aade0648 -# Define current Git revision for the cacerts patch -%global cacertsver 8139f2361c2 - # e.g. aarch64-shenandoah-jdk8u212-b04-shenandoah-merge-2019-04-30 -> aarch64-shenandoah-jdk8u212-b04 -%global version_tag %(VERSION=%{revision}; echo ${VERSION%%-shenandoah-merge*}) +%global version_tag %(VERSION=%{shenandoah_revision}; echo ${VERSION%%-shenandoah-merge*}) # eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60 (dont forget spec escape % by %%) %global whole_update %(VERSION=%{version_tag}; echo ${VERSION%%-*}) # eg jdk8u60 -> 60 or aarch64-jdk8u60 -> 60 %global updatever %(VERSION=%{whole_update}; echo ${VERSION##*u}) # eg jdk8u60-b27 -> b27 %global buildver %(VERSION=%{version_tag}; echo ${VERSION##*-}) -%global rpmrelease 2 +%global rpmrelease 3 # Define milestone (EA for pre-releases, GA ("fcs") for releases) # Release will be (where N is usually a number starting at 1): # - 0.N%%{?extraver}%%{?dist} for EA releases, @@ -438,10 +431,10 @@ URL: http://openjdk.java.net/ # OpenJDK 8u, the aarch64 port and Shenandoah # To regenerate, use: # VERSION=%%{shenandoah_revision} -# FILE_NAME_ROOT=%%{shenandoah_project}-%%{shenandoah_repo}-${VERSION} +# FILE_NAME_ROOT=%%{project}-%%{repo}-${VERSION} # REPO_ROOT= generate_source_tarball.sh -# where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo} -Source0: %{shenandoah_project}-%{shenandoah_repo}-%{shenandoah_revision}-4curve.tar.xz +# where the source is obtained from http://github.com/%%{project}/%%{repo} +Source0: %{project}-%{repo}-%{shenandoah_revision}.tar.xz # Custom README for -src subpackage Source2: README.md @@ -604,6 +597,8 @@ Patch204: jdk8042159-allow_using_system_installed_lcms2-jdk.patch Patch581: jdk8257794-remove_broken_assert.patch # JDK-8186464, RH1433262: ZipFile cannot read some InfoZip ZIP64 zip files Patch12: jdk8186464-rh1433262-zip64_failure.patch +# JDK-8312489, OJ2095: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar +Patch2000: jdk8312489-max_sig_default_increase.patch ############################################# # @@ -711,7 +706,7 @@ Provides: bundled(lcms2) = 2.10.0 # Version in jdk/src/share/native/sun/awt/image/jpeg/jpeglib.h Provides: bundled(libjpeg) = 6b # Version in jdk/src/share/native/sun/awt/libpng/png.h -Provides: bundled(libpng) = 1.6.37 +Provides: bundled(libpng) = 1.6.39 # We link statically against libstdc++ to increase portability BuildRequires: libstdc++-static %endif @@ -815,6 +810,7 @@ if [ $prioritylength -ne 7 ] ; then fi # For old patches ln -s %{top_level_dir_name} jdk8 +ln -s %{top_level_dir_name} openjdk cp %{SOURCE2} . @@ -873,6 +869,8 @@ pushd %{top_level_dir_name} %patch1000 -p1 # system cacerts support %patch539 -p1 +# JDK-8312489 backport, proposed for 8u402: https://github.com/openjdk/jdk8u-dev/pull/381 +%patch2000 -p1 popd # RPM-only fixes @@ -1502,14 +1500,29 @@ done %{_jvmdir}/%{miscportablearchive}.sha256sum %changelog +* Wed Oct 11 2023 Andrew Hughes - 1:1.8.0.392.b08-1 +- Update to shenandoah-jdk8u392-b08 (GA) +- Update release notes for shenandoah-8u392-b08. +- Regenerate PR2462 patch following JDK-8315135 +- Bump version of bundled libpng to 1.6.39 +- Add backport of JDK-8312489 heading upstream for 8u402 (see OPENJDK-2095) +- ** This tarball is embargoed until 2023-10-17 @ 1pm PT. ** + +* Fri Sep 29 2023 Andrew Hughes - 1:1.8.0.392.b01-1 +- Update to shenandoah-jdk8u392-b01 (GA) +- Update release notes for shenandoah-8u392-b01. +- Update generate_tarball.sh to be closer to upstream vanilla script inc. no more ECC removal +- Update bug URL for RHEL to point to the Red Hat customer portal +- Change top_level_dir_name to use the VCS tag, matching new upstream release style tarball + * Fri Jul 14 2023 Andrew Hughes - 1:1.8.0.382.b05-2 - Re-enable SystemTap support and perform only substitutions possible without final NVR available - Include tapsets in the miscellaneous tarball - Drop unused globals for tapset installation * Fri Jul 14 2023 Andrew Hughes - 1:1.8.0.382.b05-1 -- Update to shenandoah-jdk8u372-b05 (GA) -- Update release notes for shenandoah-8u372-b05. +- Update to shenandoah-jdk8u382-b05 (GA) +- Update release notes for shenandoah-8u382-b05. - ** This tarball is embargoed until 2023-07-18 @ 1pm PT. ** * Fri Jul 07 2023 Andrew Hughes - 1:1.8.0.382.b04-0.1.ea