diff --git a/.gitignore b/.gitignore index a29936f..3782c25 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b10.tar.xz -SOURCES/systemtap-tapset-3.6.0pre02.tar.xz +SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b03.tar.xz +SOURCES/tapsets-icedtea-3.11.0.tar.xz diff --git a/.java-1.8.0-openjdk.metadata b/.java-1.8.0-openjdk.metadata index 12fab4a..b2f2d1d 100644 --- a/.java-1.8.0-openjdk.metadata +++ b/.java-1.8.0-openjdk.metadata @@ -1,2 +1,2 @@ -8afea3219e33f6fa067152aee13da2f4096e60cc SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b10.tar.xz -93bca27ce5eeeb2bc1f6f3cd4ffe34c3567a3c73 SOURCES/systemtap-tapset-3.6.0pre02.tar.xz +7707d2aa7574416003f1de749230e85b67357d28 SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b03.tar.xz +50ad90759d440f24f50990b88b5814e4f61351af SOURCES/tapsets-icedtea-3.11.0.tar.xz diff --git a/SOURCES/java-1.8.0-openjdk-remove-intree-libraries.sh b/SOURCES/java-1.8.0-openjdk-remove-intree-libraries.sh index b52d016..201a220 100644 --- a/SOURCES/java-1.8.0-openjdk-remove-intree-libraries.sh +++ b/SOURCES/java-1.8.0-openjdk-remove-intree-libraries.sh @@ -129,10 +129,3 @@ rm -vf ${LCMS_SRC}/lcms2.h rm -vf ${LCMS_SRC}/lcms2_internal.h rm -vf ${LCMS_SRC}/lcms2_plugin.h fi - -# Get rid of in-tree SunEC until RH1656676 is implemented -echo "Removing SunEC native code" -mv -v openjdk/jdk/src/share/native/sun/security/ec/impl/ecc_impl.h . -rm -vrf openjdk/jdk/src/share/native/sun/security/ec/impl -mkdir openjdk/jdk/src/share/native/sun/security/ec/impl -mv -v ecc_impl.h openjdk/jdk/src/share/native/sun/security/ec/impl diff --git a/SOURCES/jconsole.desktop.in b/SOURCES/jconsole.desktop.in index a8917c1..b88bd7c 100644 --- a/SOURCES/jconsole.desktop.in +++ b/SOURCES/jconsole.desktop.in @@ -1,8 +1,8 @@ [Desktop Entry] -Name=OpenJDK @JAVA_MAJOR_VERSION@ Monitoring & Management Console @ARCH@ -Comment=Monitor and manage OpenJDK @JAVA_MAJOR_VERSION@ applications for @ARCH@ -Exec=@JAVA_HOME@/jconsole -Icon=java-@JAVA_MAJOR_VERSION@-@JAVA_VENDOR@ +Name=OpenJDK @OPENJDK_VER@ for @target_cpu@ Monitoring & Management Console +Comment=Monitor and manage OpenJDK applications +Exec=_BINDIR_/jconsole +Icon=java-@JAVA_VER@-@JAVA_VENDOR@ Terminal=false Type=Application StartupWMClass=sun-tools-jconsole-JConsole diff --git a/SOURCES/jdk8210425-rh1632174-02-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_aarch64.patch b/SOURCES/jdk8210425-rh1632174-02-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_aarch64.patch new file mode 100644 index 0000000..cf1b40b --- /dev/null +++ b/SOURCES/jdk8210425-rh1632174-02-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_aarch64.patch @@ -0,0 +1,22 @@ +diff --git openjdk.orig/hotspot/make/linux/makefiles/aarch64.make openjdk/hotspot/make/linux/makefiles/aarch64.make +index 3d17326..7cdb498 100644 +--- openjdk.orig/hotspot/make/linux/makefiles/aarch64.make ++++ openjdk/hotspot/make/linux/makefiles/aarch64.make +@@ -22,10 +22,13 @@ + # + # + +-# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized +-OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) +-# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized +-OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) ++ifeq ($(OPT_CFLAGS_NO_FMA),) ++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) ++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) ++else ++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) ++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) ++endif + # Must also specify if CPU is little endian + CFLAGS += -DVM_LITTLE_ENDIAN + diff --git a/SOURCES/policytool.desktop.in b/SOURCES/policytool.desktop.in index e38c0ec..112a24f 100644 --- a/SOURCES/policytool.desktop.in +++ b/SOURCES/policytool.desktop.in @@ -1,8 +1,8 @@ [Desktop Entry] -Name=OpenJDK @JAVA_MAJOR_VERSION@ Policy Tool @ARCH@ -Comment=Manage OpenJDK @JAVA_MAJOR_VERSION@ policy files @ARCH@ -Exec=@JRE_HOME@/policytool -Icon=java-@JAVA_MAJOR_VERSION@-@JAVA_VENDOR@ +Name=OpenJDK @OPENJDK_VER@ for @target_cpu@ Policy Tool +Comment=Manage OpenJDK policy files +Exec=_JREBINDIR_/policytool +Icon=java-@JAVA_VER@-@JAVA_VENDOR@ Terminal=false Type=Application StartupWMClass=sun-security-tools-PolicyTool diff --git a/SOURCES/pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk8.patch b/SOURCES/pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk8.patch deleted file mode 100644 index 31c285b..0000000 --- a/SOURCES/pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk8.patch +++ /dev/null @@ -1,699 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1453863246 0 -# Wed Jan 27 02:54:06 2016 +0000 -# Node ID 48c15869ecd568263249af4b9a4e98d4e57f9a8f -# Parent afd392dfaed501ac674a7cc3e37353ce300969c7 -PR1983: Support using the system installation of NSS with the SunEC provider -Summary: Apply code changes from PR1699 & PR1742 & forward-port Makefile changes to the new build. -Updated 2017/07/04 to accomodate 8175110 - -diff -r 984a4af2ed4e make/lib/SecurityLibraries.gmk ---- openjdk/jdk/make/lib/SecurityLibraries.gmk -+++ openjdk/jdk/make/lib/SecurityLibraries.gmk -@@ -218,8 +218,17 @@ - - ifeq ($(ENABLE_INTREE_EC), yes) - -- BUILD_LIBSUNEC_FLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \ -+ BUILD_LIBSUNEC_FLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/security/ec -+ -+ ifeq ($(USE_EXTERNAL_NSS), true) -+ BUILD_LIBSUNEC_IMPL_DIR := -+ BUILD_LIBSUNEC_FLAGS += $(NSS_CFLAGS) -DSYSTEM_NSS -DNSS_ENABLE_ECC -+ else -+ BUILD_LIBSUNEC_IMPL_DIR := \ -+ $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl -+ BUILD_LIBSUNEC_FLAGS += \ - -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl -+ endif - - # - # On sol-sparc...all libraries are compiled with -xregs=no%appl -@@ -235,8 +244,8 @@ - $(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC, \ - LIBRARY := sunec, \ - OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ -- SRC := $(JDK_TOPDIR)/src/share/native/sun/security/ec \ -- $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \ -+ SRC := $(JDK_TOPDIR)/src/share/native/sun/security/ec/ECC_JNI.cpp \ -+ $(BUILD_LIBSUNEC_IMPL_DIR), \ - LANG := C++, \ - OPTIMIZATION := LOW, \ - CFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB)) \ -@@ -245,11 +254,12 @@ - CXXFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \ - $(BUILD_LIBSUNEC_FLAGS), \ - MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsunec/mapfile-vers, \ -- LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \ -+ LDFLAGS := $(subst -Xlinker --as-needed,, \ -+ $(subst -Wl$(COMMA)--as-needed,, $(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK), \ - LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN), \ - LDFLAGS_SUFFIX := $(LIBCXX), \ -- LDFLAGS_SUFFIX_linux := -lc, \ -- LDFLAGS_SUFFIX_solaris := -lc, \ -+ LDFLAGS_SUFFIX_linux := -lc $(NSS_LIBS), \ -+ LDFLAGS_SUFFIX_solaris := -lc $(NSS_LIBS), \ - VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ - RC_FLAGS := $(RC_FLAGS) \ - -D "JDK_FNAME=sunec.dll" \ -diff -r 984a4af2ed4e src/share/native/sun/security/ec/ECC_JNI.cpp ---- openjdk/jdk/src/share/native/sun/security/ec/ECC_JNI.cpp -+++ openjdk/jdk/src/share/native/sun/security/ec/ECC_JNI.cpp -@@ -24,7 +24,7 @@ - */ - - #include --#include "impl/ecc_impl.h" -+#include "ecc_impl.h" - - #define ILLEGAL_STATE_EXCEPTION "java/lang/IllegalStateException" - #define INVALID_ALGORITHM_PARAMETER_EXCEPTION \ -@@ -89,7 +89,7 @@ - */ - JNIEXPORT jobjectArray - JNICALL Java_sun_security_ec_ECKeyPairGenerator_generateECKeyPair -- (JNIEnv *env, jclass clazz, jint keySize, jbyteArray encodedParams, jbyteArray seed) -+ (JNIEnv *env, jclass UNUSED(clazz), jint UNUSED(keySize), jbyteArray encodedParams, jbyteArray seed) - { - ECPrivateKey *privKey = NULL; // contains both public and private values - ECParams *ecparams = NULL; -@@ -190,7 +190,7 @@ - */ - JNIEXPORT jbyteArray - JNICALL Java_sun_security_ec_ECDSASignature_signDigest -- (JNIEnv *env, jclass clazz, jbyteArray digest, jbyteArray privateKey, jbyteArray encodedParams, jbyteArray seed, jint timing) -+ (JNIEnv *env, jclass UNUSED(clazz), jbyteArray digest, jbyteArray privateKey, jbyteArray encodedParams, jbyteArray seed, jint timing) - { - jbyte* pDigestBuffer = NULL; - jint jDigestLength = env->GetArrayLength(digest); -@@ -299,7 +299,7 @@ - */ - JNIEXPORT jboolean - JNICALL Java_sun_security_ec_ECDSASignature_verifySignedDigest -- (JNIEnv *env, jclass clazz, jbyteArray signedDigest, jbyteArray digest, jbyteArray publicKey, jbyteArray encodedParams) -+ (JNIEnv *env, jclass UNUSED(clazz), jbyteArray signedDigest, jbyteArray digest, jbyteArray publicKey, jbyteArray encodedParams) - { - jboolean isValid = false; - -@@ -384,7 +384,7 @@ - */ - JNIEXPORT jbyteArray - JNICALL Java_sun_security_ec_ECDHKeyAgreement_deriveKey -- (JNIEnv *env, jclass clazz, jbyteArray privateKey, jbyteArray publicKey, jbyteArray encodedParams) -+ (JNIEnv *env, jclass UNUSED(clazz), jbyteArray privateKey, jbyteArray publicKey, jbyteArray encodedParams) - { - jbyteArray jSecret = NULL; - ECParams *ecparams = NULL; -diff -r 984a4af2ed4e src/share/native/sun/security/ec/ecc_impl.h ---- /dev/null -+++ openjdk/jdk/src/share/native/sun/security/ec/ecc_impl.h -@@ -0,0 +1,298 @@ -+/* -+ * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. -+ * Use is subject to license terms. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library 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 -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public License -+ * along with this library; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin Street, 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. -+ */ -+ -+/* ********************************************************************* -+ * -+ * The Original Code is the Netscape security libraries. -+ * -+ * The Initial Developer of the Original Code is -+ * Netscape Communications Corporation. -+ * Portions created by the Initial Developer are Copyright (C) 1994-2000 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * Dr Vipul Gupta and -+ * Douglas Stebila , Sun Microsystems Laboratories -+ * -+ * Last Modified Date from the Original Code: May 2017 -+ *********************************************************************** */ -+ -+#ifndef _ECC_IMPL_H -+#define _ECC_IMPL_H -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+ -+#ifdef SYSTEM_NSS -+#include -+#include -+#include -+#ifdef LEGACY_NSS -+#include -+#else -+#include -+#endif -+#else -+#include "ecl-exp.h" -+#endif -+ -+/* -+ * Multi-platform definitions -+ */ -+#ifdef __linux__ -+#define B_FALSE FALSE -+#define B_TRUE TRUE -+typedef unsigned char uint8_t; -+typedef unsigned long ulong_t; -+typedef enum { B_FALSE, B_TRUE } boolean_t; -+#endif /* __linux__ */ -+ -+#ifdef _ALLBSD_SOURCE -+#include -+#define B_FALSE FALSE -+#define B_TRUE TRUE -+typedef unsigned long ulong_t; -+typedef enum boolean { B_FALSE, B_TRUE } boolean_t; -+#endif /* _ALLBSD_SOURCE */ -+ -+#ifdef AIX -+#define B_FALSE FALSE -+#define B_TRUE TRUE -+typedef unsigned char uint8_t; -+typedef unsigned long ulong_t; -+#endif /* AIX */ -+ -+#ifdef _WIN32 -+typedef unsigned char uint8_t; -+typedef unsigned long ulong_t; -+typedef enum boolean { B_FALSE, B_TRUE } boolean_t; -+#define strdup _strdup /* Replace POSIX name with ISO C++ name */ -+#endif /* _WIN32 */ -+ -+#ifndef _KERNEL -+#include -+#endif /* _KERNEL */ -+ -+#define EC_MAX_DIGEST_LEN 1024 /* max digest that can be signed */ -+#define EC_MAX_POINT_LEN 145 /* max len of DER encoded Q */ -+#define EC_MAX_VALUE_LEN 72 /* max len of ANSI X9.62 private value d */ -+#define EC_MAX_SIG_LEN 144 /* max signature len for supported curves */ -+#define EC_MIN_KEY_LEN 112 /* min key length in bits */ -+#define EC_MAX_KEY_LEN 571 /* max key length in bits */ -+#define EC_MAX_OID_LEN 10 /* max length of OID buffer */ -+ -+/* -+ * Various structures and definitions from NSS are here. -+ */ -+ -+#ifndef SYSTEM_NSS -+#ifdef _KERNEL -+#define PORT_ArenaAlloc(a, n, f) kmem_alloc((n), (f)) -+#define PORT_ArenaZAlloc(a, n, f) kmem_zalloc((n), (f)) -+#define PORT_ArenaGrow(a, b, c, d) NULL -+#define PORT_ZAlloc(n, f) kmem_zalloc((n), (f)) -+#define PORT_Alloc(n, f) kmem_alloc((n), (f)) -+#else -+#define PORT_ArenaAlloc(a, n, f) malloc((n)) -+#define PORT_ArenaZAlloc(a, n, f) calloc(1, (n)) -+#define PORT_ArenaGrow(a, b, c, d) NULL -+#define PORT_ZAlloc(n, f) calloc(1, (n)) -+#define PORT_Alloc(n, f) malloc((n)) -+#endif -+ -+#define PORT_NewArena(b) (char *)12345 -+#define PORT_ArenaMark(a) NULL -+#define PORT_ArenaUnmark(a, b) -+#define PORT_ArenaRelease(a, m) -+#define PORT_FreeArena(a, b) -+#define PORT_Strlen(s) strlen((s)) -+#define PORT_SetError(e) -+ -+#define PRBool boolean_t -+#define PR_TRUE B_TRUE -+#define PR_FALSE B_FALSE -+ -+#ifdef _KERNEL -+#define PORT_Assert ASSERT -+#define PORT_Memcpy(t, f, l) bcopy((f), (t), (l)) -+#else -+#define PORT_Assert assert -+#define PORT_Memcpy(t, f, l) memcpy((t), (f), (l)) -+#endif -+ -+#endif -+ -+#define CHECK_OK(func) if (func == NULL) goto cleanup -+#define CHECK_SEC_OK(func) if (SECSuccess != (rv = func)) goto cleanup -+ -+#ifndef SYSTEM_NSS -+typedef enum { -+ siBuffer = 0, -+ siClearDataBuffer = 1, -+ siCipherDataBuffer = 2, -+ siDERCertBuffer = 3, -+ siEncodedCertBuffer = 4, -+ siDERNameBuffer = 5, -+ siEncodedNameBuffer = 6, -+ siAsciiNameString = 7, -+ siAsciiString = 8, -+ siDEROID = 9, -+ siUnsignedInteger = 10, -+ siUTCTime = 11, -+ siGeneralizedTime = 12 -+} SECItemType; -+ -+typedef struct SECItemStr SECItem; -+ -+struct SECItemStr { -+ SECItemType type; -+ unsigned char *data; -+ unsigned int len; -+}; -+ -+typedef SECItem SECKEYECParams; -+ -+typedef enum { ec_params_explicit, -+ ec_params_named -+} ECParamsType; -+ -+typedef enum { ec_field_GFp = 1, -+ ec_field_GF2m -+} ECFieldType; -+ -+struct ECFieldIDStr { -+ int size; /* field size in bits */ -+ ECFieldType type; -+ union { -+ SECItem prime; /* prime p for (GFp) */ -+ SECItem poly; /* irreducible binary polynomial for (GF2m) */ -+ } u; -+ int k1; /* first coefficient of pentanomial or -+ * the only coefficient of trinomial -+ */ -+ int k2; /* two remaining coefficients of pentanomial */ -+ int k3; -+}; -+typedef struct ECFieldIDStr ECFieldID; -+ -+struct ECCurveStr { -+ SECItem a; /* contains octet stream encoding of -+ * field element (X9.62 section 4.3.3) -+ */ -+ SECItem b; -+ SECItem seed; -+}; -+typedef struct ECCurveStr ECCurve; -+ -+typedef void PRArenaPool; -+ -+struct ECParamsStr { -+ PRArenaPool * arena; -+ ECParamsType type; -+ ECFieldID fieldID; -+ ECCurve curve; -+ SECItem base; -+ SECItem order; -+ int cofactor; -+ SECItem DEREncoding; -+ ECCurveName name; -+ SECItem curveOID; -+}; -+typedef struct ECParamsStr ECParams; -+ -+struct ECPublicKeyStr { -+ ECParams ecParams; -+ SECItem publicValue; /* elliptic curve point encoded as -+ * octet stream. -+ */ -+}; -+typedef struct ECPublicKeyStr ECPublicKey; -+ -+struct ECPrivateKeyStr { -+ ECParams ecParams; -+ SECItem publicValue; /* encoded ec point */ -+ SECItem privateValue; /* private big integer */ -+ SECItem version; /* As per SEC 1, Appendix C, Section C.4 */ -+}; -+typedef struct ECPrivateKeyStr ECPrivateKey; -+ -+typedef enum _SECStatus { -+ SECBufferTooSmall = -3, -+ SECWouldBlock = -2, -+ SECFailure = -1, -+ SECSuccess = 0 -+} SECStatus; -+#endif -+ -+#ifdef _KERNEL -+#define RNG_GenerateGlobalRandomBytes(p,l) ecc_knzero_random_generator((p), (l)) -+#else -+/* -+ This function is no longer required because the random bytes are now -+ supplied by the caller. Force a failure. -+*/ -+#define RNG_GenerateGlobalRandomBytes(p,l) SECFailure -+#endif -+#define CHECK_MPI_OK(func) if (MP_OKAY > (err = func)) goto cleanup -+#define MP_TO_SEC_ERROR(err) -+ -+#define SECITEM_TO_MPINT(it, mp) \ -+ CHECK_MPI_OK(mp_read_unsigned_octets((mp), (it).data, (it).len)) -+ -+extern int ecc_knzero_random_generator(uint8_t *, size_t); -+extern ulong_t soft_nzero_random_generator(uint8_t *, ulong_t); -+ -+#ifdef SYSTEM_NSS -+#define EC_DecodeParams(a,b,c) EC_DecodeParams(a,b) -+#define EC_NewKey(a,b,c,d,e) EC_NewKeyFromSeed(a,b,c,d) -+#define ECDSA_SignDigest(a,b,c,d,e,f,g) ECDSA_SignDigestWithSeed(a,b,c,d,e) -+#define ECDSA_VerifyDigest(a,b,c,d) ECDSA_VerifyDigest(a,b,c) -+#define ECDH_Derive(a,b,c,d,e,f) ECDH_Derive(a,b,c,d,e) -+#else -+extern SECStatus EC_DecodeParams(const SECItem *, ECParams **, int); -+ -+extern SECItem * SECITEM_AllocItem(PRArenaPool *, SECItem *, unsigned int, int); -+extern SECStatus SECITEM_CopyItem(PRArenaPool *, SECItem *, const SECItem *, -+ int); -+extern void SECITEM_FreeItem(SECItem *, boolean_t); -+ -+/* This function has been modified to accept an array of random bytes */ -+extern SECStatus EC_NewKey(ECParams *ecParams, ECPrivateKey **privKey, -+ const unsigned char* random, int randomlen, int); -+/* This function has been modified to accept an array of random bytes */ -+extern SECStatus ECDSA_SignDigest(ECPrivateKey *, SECItem *, const SECItem *, -+ const unsigned char* random, int randomlen, int, int timing); -+extern SECStatus ECDSA_VerifyDigest(ECPublicKey *, const SECItem *, -+ const SECItem *, int); -+extern SECStatus ECDH_Derive(SECItem *, ECParams *, SECItem *, boolean_t, -+ SECItem *, int); -+#endif -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* _ECC_IMPL_H */ -diff -r 984a4af2ed4e src/share/native/sun/security/ec/impl/ecc_impl.h ---- openjdk/jdk/src/share/native/sun/security/ec/impl/ecc_impl.h -+++ /dev/null -@@ -1,271 +0,0 @@ --/* -- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. -- * Use is subject to license terms. -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License as published by the Free Software Foundation; either -- * version 2.1 of the License, or (at your option) any later version. -- * -- * This library 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 -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public License -- * along with this library; if not, write to the Free Software Foundation, -- * Inc., 51 Franklin Street, 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. -- */ -- --/* ********************************************************************* -- * -- * The Original Code is the Netscape security libraries. -- * -- * The Initial Developer of the Original Code is -- * Netscape Communications Corporation. -- * Portions created by the Initial Developer are Copyright (C) 1994-2000 -- * the Initial Developer. All Rights Reserved. -- * -- * Contributor(s): -- * Dr Vipul Gupta and -- * Douglas Stebila , Sun Microsystems Laboratories -- * -- * Last Modified Date from the Original Code: May 2017 -- *********************************************************************** */ -- --#ifndef _ECC_IMPL_H --#define _ECC_IMPL_H -- --#ifdef __cplusplus --extern "C" { --#endif -- --#include --#include "ecl-exp.h" -- --/* -- * Multi-platform definitions -- */ --#ifdef __linux__ --#define B_FALSE FALSE --#define B_TRUE TRUE --typedef unsigned char uint8_t; --typedef unsigned long ulong_t; --typedef enum { B_FALSE, B_TRUE } boolean_t; --#endif /* __linux__ */ -- --#ifdef _ALLBSD_SOURCE --#include --#define B_FALSE FALSE --#define B_TRUE TRUE --typedef unsigned long ulong_t; --typedef enum boolean { B_FALSE, B_TRUE } boolean_t; --#endif /* _ALLBSD_SOURCE */ -- --#ifdef AIX --#define B_FALSE FALSE --#define B_TRUE TRUE --typedef unsigned char uint8_t; --typedef unsigned long ulong_t; --#endif /* AIX */ -- --#ifdef _WIN32 --typedef unsigned char uint8_t; --typedef unsigned long ulong_t; --typedef enum boolean { B_FALSE, B_TRUE } boolean_t; --#define strdup _strdup /* Replace POSIX name with ISO C++ name */ --#endif /* _WIN32 */ -- --#ifndef _KERNEL --#include --#endif /* _KERNEL */ -- --#define EC_MAX_DIGEST_LEN 1024 /* max digest that can be signed */ --#define EC_MAX_POINT_LEN 145 /* max len of DER encoded Q */ --#define EC_MAX_VALUE_LEN 72 /* max len of ANSI X9.62 private value d */ --#define EC_MAX_SIG_LEN 144 /* max signature len for supported curves */ --#define EC_MIN_KEY_LEN 112 /* min key length in bits */ --#define EC_MAX_KEY_LEN 571 /* max key length in bits */ --#define EC_MAX_OID_LEN 10 /* max length of OID buffer */ -- --/* -- * Various structures and definitions from NSS are here. -- */ -- --#ifdef _KERNEL --#define PORT_ArenaAlloc(a, n, f) kmem_alloc((n), (f)) --#define PORT_ArenaZAlloc(a, n, f) kmem_zalloc((n), (f)) --#define PORT_ArenaGrow(a, b, c, d) NULL --#define PORT_ZAlloc(n, f) kmem_zalloc((n), (f)) --#define PORT_Alloc(n, f) kmem_alloc((n), (f)) --#else --#define PORT_ArenaAlloc(a, n, f) malloc((n)) --#define PORT_ArenaZAlloc(a, n, f) calloc(1, (n)) --#define PORT_ArenaGrow(a, b, c, d) NULL --#define PORT_ZAlloc(n, f) calloc(1, (n)) --#define PORT_Alloc(n, f) malloc((n)) --#endif -- --#define PORT_NewArena(b) (char *)12345 --#define PORT_ArenaMark(a) NULL --#define PORT_ArenaUnmark(a, b) --#define PORT_ArenaRelease(a, m) --#define PORT_FreeArena(a, b) --#define PORT_Strlen(s) strlen((s)) --#define PORT_SetError(e) -- --#define PRBool boolean_t --#define PR_TRUE B_TRUE --#define PR_FALSE B_FALSE -- --#ifdef _KERNEL --#define PORT_Assert ASSERT --#define PORT_Memcpy(t, f, l) bcopy((f), (t), (l)) --#else --#define PORT_Assert assert --#define PORT_Memcpy(t, f, l) memcpy((t), (f), (l)) --#endif -- --#define CHECK_OK(func) if (func == NULL) goto cleanup --#define CHECK_SEC_OK(func) if (SECSuccess != (rv = func)) goto cleanup -- --typedef enum { -- siBuffer = 0, -- siClearDataBuffer = 1, -- siCipherDataBuffer = 2, -- siDERCertBuffer = 3, -- siEncodedCertBuffer = 4, -- siDERNameBuffer = 5, -- siEncodedNameBuffer = 6, -- siAsciiNameString = 7, -- siAsciiString = 8, -- siDEROID = 9, -- siUnsignedInteger = 10, -- siUTCTime = 11, -- siGeneralizedTime = 12 --} SECItemType; -- --typedef struct SECItemStr SECItem; -- --struct SECItemStr { -- SECItemType type; -- unsigned char *data; -- unsigned int len; --}; -- --typedef SECItem SECKEYECParams; -- --typedef enum { ec_params_explicit, -- ec_params_named --} ECParamsType; -- --typedef enum { ec_field_GFp = 1, -- ec_field_GF2m --} ECFieldType; -- --struct ECFieldIDStr { -- int size; /* field size in bits */ -- ECFieldType type; -- union { -- SECItem prime; /* prime p for (GFp) */ -- SECItem poly; /* irreducible binary polynomial for (GF2m) */ -- } u; -- int k1; /* first coefficient of pentanomial or -- * the only coefficient of trinomial -- */ -- int k2; /* two remaining coefficients of pentanomial */ -- int k3; --}; --typedef struct ECFieldIDStr ECFieldID; -- --struct ECCurveStr { -- SECItem a; /* contains octet stream encoding of -- * field element (X9.62 section 4.3.3) -- */ -- SECItem b; -- SECItem seed; --}; --typedef struct ECCurveStr ECCurve; -- --typedef void PRArenaPool; -- --struct ECParamsStr { -- PRArenaPool * arena; -- ECParamsType type; -- ECFieldID fieldID; -- ECCurve curve; -- SECItem base; -- SECItem order; -- int cofactor; -- SECItem DEREncoding; -- ECCurveName name; -- SECItem curveOID; --}; --typedef struct ECParamsStr ECParams; -- --struct ECPublicKeyStr { -- ECParams ecParams; -- SECItem publicValue; /* elliptic curve point encoded as -- * octet stream. -- */ --}; --typedef struct ECPublicKeyStr ECPublicKey; -- --struct ECPrivateKeyStr { -- ECParams ecParams; -- SECItem publicValue; /* encoded ec point */ -- SECItem privateValue; /* private big integer */ -- SECItem version; /* As per SEC 1, Appendix C, Section C.4 */ --}; --typedef struct ECPrivateKeyStr ECPrivateKey; -- --typedef enum _SECStatus { -- SECBufferTooSmall = -3, -- SECWouldBlock = -2, -- SECFailure = -1, -- SECSuccess = 0 --} SECStatus; -- --#ifdef _KERNEL --#define RNG_GenerateGlobalRandomBytes(p,l) ecc_knzero_random_generator((p), (l)) --#else --/* -- This function is no longer required because the random bytes are now -- supplied by the caller. Force a failure. --*/ --#define RNG_GenerateGlobalRandomBytes(p,l) SECFailure --#endif --#define CHECK_MPI_OK(func) if (MP_OKAY > (err = func)) goto cleanup --#define MP_TO_SEC_ERROR(err) -- --#define SECITEM_TO_MPINT(it, mp) \ -- CHECK_MPI_OK(mp_read_unsigned_octets((mp), (it).data, (it).len)) -- --extern int ecc_knzero_random_generator(uint8_t *, size_t); --extern ulong_t soft_nzero_random_generator(uint8_t *, ulong_t); -- --extern SECStatus EC_DecodeParams(const SECItem *, ECParams **, int); --extern SECItem * SECITEM_AllocItem(PRArenaPool *, SECItem *, unsigned int, int); --extern SECStatus SECITEM_CopyItem(PRArenaPool *, SECItem *, const SECItem *, -- int); --extern void SECITEM_FreeItem(SECItem *, boolean_t); --/* This function has been modified to accept an array of random bytes */ --extern SECStatus EC_NewKey(ECParams *ecParams, ECPrivateKey **privKey, -- const unsigned char* random, int randomlen, int); --/* This function has been modified to accept an array of random bytes */ --extern SECStatus ECDSA_SignDigest(ECPrivateKey *, SECItem *, const SECItem *, -- const unsigned char* random, int randomlen, int, int timing); --extern SECStatus ECDSA_VerifyDigest(ECPublicKey *, const SECItem *, -- const SECItem *, int); --extern SECStatus ECDH_Derive(SECItem *, ECParams *, SECItem *, boolean_t, -- SECItem *, int); -- --#ifdef __cplusplus --} --#endif -- --#endif /* _ECC_IMPL_H */ -diff -r 984a4af2ed4e src/solaris/javavm/export/jni_md.h ---- openjdk/jdk/src/solaris/javavm/export/jni_md.h -+++ openjdk/jdk/src/solaris/javavm/export/jni_md.h -@@ -36,6 +36,11 @@ - #define JNIEXPORT - #define JNIIMPORT - #endif -+#if (defined(__GNUC__)) || __has_attribute(unused) -+ #define UNUSED(x) UNUSED_ ## x __attribute__((__unused__)) -+#else -+ #define UNUSED(x) UNUSED_ ## x -+#endif - - #define JNICALL - diff --git a/SOURCES/pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_root8.patch b/SOURCES/pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_root8.patch deleted file mode 100644 index 100472b..0000000 --- a/SOURCES/pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_root8.patch +++ /dev/null @@ -1,89 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1453863007 0 -# Wed Jan 27 02:50:07 2016 +0000 -# Node ID f0635543beb309c4da1bb88c906a76ee4b75e16d -# Parent 4a5a0d4e1ae0feec2f47d17be380d6fcd5eff126 -PR1983: Support using the system installation of NSS with the SunEC provider -Summary: Add new configure option --enable-system-nss - -diff -r 92af9369869f common/autoconf/jdk-options.m4 ---- openjdk/common/autoconf/jdk-options.m4 Thu Jan 21 22:17:02 2016 +0000 -+++ openjdk/common/autoconf/jdk-options.m4 Wed Jan 27 05:32:12 2016 +0000 -@@ -414,9 +414,10 @@ - # - AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC], - [ -- AC_MSG_CHECKING([if elliptic curve crypto implementation is present]) -+ AC_REQUIRE([LIB_SETUP_MISC_LIBS]) -+ AC_MSG_CHECKING([if the elliptic curve crypto implementation is present]) - -- if test -d "${SRC_ROOT}/jdk/src/share/native/sun/security/ec/impl"; then -+ if test "x${system_nss}" = "xyes" -o -d "${SRC_ROOT}/jdk/src/share/native/sun/security/ec/impl"; then - ENABLE_INTREE_EC=yes - AC_MSG_RESULT([yes]) - else -diff -r 92af9369869f common/autoconf/libraries.m4 ---- openjdk/common/autoconf/libraries.m4 Thu Jan 21 22:17:02 2016 +0000 -+++ openjdk/common/autoconf/libraries.m4 Wed Jan 27 05:32:12 2016 +0000 -@@ -731,6 +731,47 @@ - LIBDL="$LIBS" - AC_SUBST(LIBDL) - LIBS="$save_LIBS" -+ -+ ############################################################################### -+ # -+ # Check for the NSS libraries -+ # -+ -+ AC_MSG_CHECKING([whether to build the Sun EC provider against the system NSS libraries]) -+ -+ # default is bundled -+ DEFAULT_SYSTEM_NSS=no -+ -+ AC_ARG_ENABLE([system-nss], [AS_HELP_STRING([--enable-system-nss], -+ [build the SunEC provider using the system NSS libraries @<:@disabled@:>@])], -+ [ -+ case "${enableval}" in -+ yes) -+ system_nss=yes -+ ;; -+ *) -+ system_nss=no -+ ;; -+ esac -+ ], -+ [ -+ system_nss=${DEFAULT_SYSTEM_NSS} -+ ]) -+ AC_MSG_RESULT([$system_nss]) -+ -+ if test "x${system_nss}" = "xyes"; then -+ PKG_CHECK_MODULES(NSS, nss-softokn >= 3.16.1, [NSS_SOFTOKN_FOUND=yes], [NSS_SOFTOKN_FOUND=no]) -+ if test "x${NSS_SOFTOKN_FOUND}" = "xyes"; then -+ NSS_LIBS="$NSS_LIBS -lfreebl"; -+ USE_EXTERNAL_NSS=true -+ else -+ AC_MSG_ERROR([--enable-system-nss specified, but NSS not found.]) -+ fi -+ else -+ USE_EXTERNAL_NSS=false -+ fi -+ AC_SUBST(USE_EXTERNAL_NSS) -+ - ]) - - AC_DEFUN_ONCE([LIB_SETUP_STATIC_LINK_LIBSTDCPP], -diff -r 92af9369869f common/autoconf/spec.gmk.in ---- openjdk/common/autoconf/spec.gmk.in Thu Jan 21 22:17:02 2016 +0000 -+++ openjdk/common/autoconf/spec.gmk.in Wed Jan 27 05:32:12 2016 +0000 -@@ -647,6 +647,9 @@ - # Read-only single-machine data - INSTALL_SYSCONFDIR=@sysconfdir@ - -+USE_EXTERNAL_NSS:=@USE_EXTERNAL_NSS@ -+NSS_LIBS:=@NSS_LIBS@ -+NSS_CFLAGS:=@NSS_CFLAGS@ - - #################################################### - # diff --git a/SOURCES/pr2127-sunec_provider_crashes_when_built_using_system_nss_thus_use_of_nss_memory_management_functions.patch b/SOURCES/pr2127-sunec_provider_crashes_when_built_using_system_nss_thus_use_of_nss_memory_management_functions.patch deleted file mode 100644 index b08822a..0000000 --- a/SOURCES/pr2127-sunec_provider_crashes_when_built_using_system_nss_thus_use_of_nss_memory_management_functions.patch +++ /dev/null @@ -1,178 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1453866306 0 -# Wed Jan 27 03:45:06 2016 +0000 -# Node ID 0ff7720931e8dbf7de25720bdc93b18527ab89e8 -# Parent 48c15869ecd568263249af4b9a4e98d4e57f9a8f -PR2127: SunEC provider crashes when built using system NSS -Summary: Use NSS memory management functions - -diff -r 48c15869ecd5 -r 0ff7720931e8 src/share/native/sun/security/ec/ECC_JNI.cpp ---- openjdk/jdk/src/share/native/sun/security/ec/ECC_JNI.cpp Wed Jan 27 02:54:06 2016 +0000 -+++ openjdk/jdk/src/share/native/sun/security/ec/ECC_JNI.cpp Wed Jan 27 03:45:06 2016 +0000 -@@ -32,6 +32,13 @@ - #define INVALID_PARAMETER_EXCEPTION \ - "java/security/InvalidParameterException" - #define KEY_EXCEPTION "java/security/KeyException" -+#define INTERNAL_ERROR "java/lang/InternalError" -+ -+#ifdef SYSTEM_NSS -+#define SYSTEM_UNUSED(x) UNUSED(x) -+#else -+#define SYSTEM_UNUSED(x) x -+#endif - - extern "C" { - -@@ -49,8 +56,13 @@ - /* - * Deep free of the ECParams struct - */ --void FreeECParams(ECParams *ecparams, jboolean freeStruct) -+void FreeECParams(ECParams *ecparams, jboolean SYSTEM_UNUSED(freeStruct)) - { -+#ifdef SYSTEM_NSS -+ // Needs to be freed using the matching method to the one -+ // that allocated it. PR_TRUE means the memory is zeroed. -+ PORT_FreeArena(ecparams->arena, PR_TRUE); -+#else - // Use B_FALSE to free the SECItem->data element, but not the SECItem itself - // Use B_TRUE to free both - -@@ -64,6 +76,7 @@ - SECITEM_FreeItem(&ecparams->curveOID, B_FALSE); - if (freeStruct) - free(ecparams); -+#endif - } - - jbyteArray getEncodedBytes(JNIEnv *env, SECItem *hSECItem) -@@ -108,6 +121,13 @@ - goto cleanup; - } - -+#ifdef SYSTEM_NSS -+ if (SECOID_Init() != SECSuccess) { -+ ThrowException(env, INTERNAL_ERROR); -+ goto cleanup; -+ } -+#endif -+ - // Fill a new ECParams using the supplied OID - if (EC_DecodeParams(¶ms_item, &ecparams, 0) != SECSuccess) { - /* bad curve OID */ -@@ -163,16 +183,26 @@ - if (params_item.data) { - env->ReleaseByteArrayElements(encodedParams, - (jbyte *) params_item.data, JNI_ABORT); -+#ifdef SYSTEM_NSS -+ if (SECOID_Shutdown() != SECSuccess) { -+ ThrowException(env, INTERNAL_ERROR); -+ } -+#endif - } - if (ecparams) { - FreeECParams(ecparams, true); - } - if (privKey) { - FreeECParams(&privKey->ecParams, false); -+#ifndef SYSTEM_NSS -+ // The entire ECPrivateKey is allocated in the arena -+ // when using system NSS, so only the in-tree version -+ // needs to clear these manually. - SECITEM_FreeItem(&privKey->version, B_FALSE); - SECITEM_FreeItem(&privKey->privateValue, B_FALSE); - SECITEM_FreeItem(&privKey->publicValue, B_FALSE); - free(privKey); -+#endif - } - - if (pSeedBuffer) { -@@ -223,6 +253,13 @@ - goto cleanup; - } - -+#ifdef SYSTEM_NSS -+ if (SECOID_Init() != SECSuccess) { -+ ThrowException(env, INTERNAL_ERROR); -+ goto cleanup; -+ } -+#endif -+ - // Fill a new ECParams using the supplied OID - if (EC_DecodeParams(¶ms_item, &ecparams, 0) != SECSuccess) { - /* bad curve OID */ -@@ -270,6 +307,11 @@ - if (params_item.data) { - env->ReleaseByteArrayElements(encodedParams, - (jbyte *) params_item.data, JNI_ABORT); -+#ifdef SYSTEM_NSS -+ if (SECOID_Shutdown() != SECSuccess) { -+ ThrowException(env, INTERNAL_ERROR); -+ } -+#endif - } - if (privKey.privateValue.data) { - env->ReleaseByteArrayElements(privateKey, -@@ -336,6 +378,13 @@ - goto cleanup; - } - -+#ifdef SYSTEM_NSS -+ if (SECOID_Init() != SECSuccess) { -+ ThrowException(env, INTERNAL_ERROR); -+ goto cleanup; -+ } -+#endif -+ - // Fill a new ECParams using the supplied OID - if (EC_DecodeParams(¶ms_item, &ecparams, 0) != SECSuccess) { - /* bad curve OID */ -@@ -356,9 +405,15 @@ - - cleanup: - { -- if (params_item.data) -+ if (params_item.data) { - env->ReleaseByteArrayElements(encodedParams, - (jbyte *) params_item.data, JNI_ABORT); -+#ifdef SYSTEM_NSS -+ if (SECOID_Shutdown() != SECSuccess) { -+ ThrowException(env, INTERNAL_ERROR); -+ } -+#endif -+ } - - if (pubKey.publicValue.data) - env->ReleaseByteArrayElements(publicKey, -@@ -419,6 +474,13 @@ - goto cleanup; - } - -+#ifdef SYSTEM_NSS -+ if (SECOID_Init() != SECSuccess) { -+ ThrowException(env, INTERNAL_ERROR); -+ goto cleanup; -+ } -+#endif -+ - // Fill a new ECParams using the supplied OID - if (EC_DecodeParams(¶ms_item, &ecparams, 0) != SECSuccess) { - /* bad curve OID */ -@@ -460,9 +522,15 @@ - env->ReleaseByteArrayElements(publicKey, - (jbyte *) publicValue_item.data, JNI_ABORT); - -- if (params_item.data) -+ if (params_item.data) { - env->ReleaseByteArrayElements(encodedParams, - (jbyte *) params_item.data, JNI_ABORT); -+#ifdef SYSTEM_NSS -+ if (SECOID_Shutdown() != SECSuccess) { -+ ThrowException(env, INTERNAL_ERROR); -+ } -+#endif -+ } - - if (ecparams) - FreeECParams(ecparams, true); diff --git a/SOURCES/pr2815-race_condition_in_sunec_provider_with_system_nss_fix.patch b/SOURCES/pr2815-race_condition_in_sunec_provider_with_system_nss_fix.patch deleted file mode 100644 index db14f10..0000000 --- a/SOURCES/pr2815-race_condition_in_sunec_provider_with_system_nss_fix.patch +++ /dev/null @@ -1,189 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1453867347 0 -# Wed Jan 27 04:02:27 2016 +0000 -# Node ID 26e2e029ee256e9815fdc324831a03d8582255e1 -# Parent 0ff7720931e8dbf7de25720bdc93b18527ab89e8 -PR2815: Race condition in SunEC provider with system NSS -Summary: Perform initialisation and shutdown only when library is loaded or SunEC is finalized respectively - -diff -r 0ff7720931e8 -r 26e2e029ee25 make/mapfiles/libsunec/mapfile-vers ---- openjdk/jdk/make/mapfiles/libsunec/mapfile-vers Wed Jan 27 03:45:06 2016 +0000 -+++ openjdk/jdk/make/mapfiles/libsunec/mapfile-vers Wed Jan 27 04:02:27 2016 +0000 -@@ -31,6 +31,8 @@ - Java_sun_security_ec_ECDSASignature_signDigest; - Java_sun_security_ec_ECDSASignature_verifySignedDigest; - Java_sun_security_ec_ECDHKeyAgreement_deriveKey; -+ Java_sun_security_ec_SunEC_initialize; -+ Java_sun_security_ec_SunEC_cleanup; - local: - *; - }; -diff -r 0ff7720931e8 -r 26e2e029ee25 src/share/classes/sun/security/ec/SunEC.java ---- openjdk/jdk/src/share/classes/sun/security/ec/SunEC.java Wed Jan 27 03:45:06 2016 +0000 -+++ openjdk/jdk/src/share/classes/sun/security/ec/SunEC.java Wed Jan 27 04:02:27 2016 +0000 -@@ -58,6 +58,7 @@ - AccessController.doPrivileged(new PrivilegedAction() { - public Void run() { - System.loadLibrary("sunec"); // check for native library -+ initialize(); - return null; - } - }); -@@ -81,4 +82,22 @@ - } - } - -+ /** -+ * Cleanup native resources during finalisation. -+ */ -+ @Override -+ protected void finalize() { -+ cleanup(); -+ } -+ -+ /** -+ * Initialize the native code. -+ */ -+ private static native void initialize(); -+ -+ /** -+ * Cleanup in the native layer. -+ */ -+ private static native void cleanup(); -+ - } -diff -r 0ff7720931e8 -r 26e2e029ee25 src/share/native/sun/security/ec/ECC_JNI.cpp ---- openjdk/jdk/src/share/native/sun/security/ec/ECC_JNI.cpp Wed Jan 27 03:45:06 2016 +0000 -+++ openjdk/jdk/src/share/native/sun/security/ec/ECC_JNI.cpp Wed Jan 27 04:02:27 2016 +0000 -@@ -121,13 +121,6 @@ - goto cleanup; - } - --#ifdef SYSTEM_NSS -- if (SECOID_Init() != SECSuccess) { -- ThrowException(env, INTERNAL_ERROR); -- goto cleanup; -- } --#endif -- - // Fill a new ECParams using the supplied OID - if (EC_DecodeParams(¶ms_item, &ecparams, 0) != SECSuccess) { - /* bad curve OID */ -@@ -183,11 +176,6 @@ - if (params_item.data) { - env->ReleaseByteArrayElements(encodedParams, - (jbyte *) params_item.data, JNI_ABORT); --#ifdef SYSTEM_NSS -- if (SECOID_Shutdown() != SECSuccess) { -- ThrowException(env, INTERNAL_ERROR); -- } --#endif - } - if (ecparams) { - FreeECParams(ecparams, true); -@@ -253,13 +241,6 @@ - goto cleanup; - } - --#ifdef SYSTEM_NSS -- if (SECOID_Init() != SECSuccess) { -- ThrowException(env, INTERNAL_ERROR); -- goto cleanup; -- } --#endif -- - // Fill a new ECParams using the supplied OID - if (EC_DecodeParams(¶ms_item, &ecparams, 0) != SECSuccess) { - /* bad curve OID */ -@@ -307,11 +288,6 @@ - if (params_item.data) { - env->ReleaseByteArrayElements(encodedParams, - (jbyte *) params_item.data, JNI_ABORT); --#ifdef SYSTEM_NSS -- if (SECOID_Shutdown() != SECSuccess) { -- ThrowException(env, INTERNAL_ERROR); -- } --#endif - } - if (privKey.privateValue.data) { - env->ReleaseByteArrayElements(privateKey, -@@ -378,13 +354,6 @@ - goto cleanup; - } - --#ifdef SYSTEM_NSS -- if (SECOID_Init() != SECSuccess) { -- ThrowException(env, INTERNAL_ERROR); -- goto cleanup; -- } --#endif -- - // Fill a new ECParams using the supplied OID - if (EC_DecodeParams(¶ms_item, &ecparams, 0) != SECSuccess) { - /* bad curve OID */ -@@ -408,11 +377,6 @@ - if (params_item.data) { - env->ReleaseByteArrayElements(encodedParams, - (jbyte *) params_item.data, JNI_ABORT); --#ifdef SYSTEM_NSS -- if (SECOID_Shutdown() != SECSuccess) { -- ThrowException(env, INTERNAL_ERROR); -- } --#endif - } - - if (pubKey.publicValue.data) -@@ -474,13 +438,6 @@ - goto cleanup; - } - --#ifdef SYSTEM_NSS -- if (SECOID_Init() != SECSuccess) { -- ThrowException(env, INTERNAL_ERROR); -- goto cleanup; -- } --#endif -- - // Fill a new ECParams using the supplied OID - if (EC_DecodeParams(¶ms_item, &ecparams, 0) != SECSuccess) { - /* bad curve OID */ -@@ -525,11 +482,6 @@ - if (params_item.data) { - env->ReleaseByteArrayElements(encodedParams, - (jbyte *) params_item.data, JNI_ABORT); --#ifdef SYSTEM_NSS -- if (SECOID_Shutdown() != SECSuccess) { -- ThrowException(env, INTERNAL_ERROR); -- } --#endif - } - - if (ecparams) -@@ -539,4 +491,26 @@ - return jSecret; - } - -+JNIEXPORT void -+JNICALL Java_sun_security_ec_SunEC_initialize -+ (JNIEnv *env, jclass UNUSED(clazz)) -+{ -+#ifdef SYSTEM_NSS -+ if (SECOID_Init() != SECSuccess) { -+ ThrowException(env, INTERNAL_ERROR); -+ } -+#endif -+} -+ -+JNIEXPORT void -+JNICALL Java_sun_security_ec_SunEC_cleanup -+ (JNIEnv *env, jclass UNUSED(clazz)) -+{ -+#ifdef SYSTEM_NSS -+ if (SECOID_Shutdown() != SECSuccess) { -+ ThrowException(env, INTERNAL_ERROR); -+ } -+#endif -+} -+ - } /* extern "C" */ diff --git a/SOURCES/pr2899-dont_use_withseed_versions_of_nss_functions_as_they_dont_fully_process_the_seed.patch b/SOURCES/pr2899-dont_use_withseed_versions_of_nss_functions_as_they_dont_fully_process_the_seed.patch deleted file mode 100644 index ffdefb0..0000000 --- a/SOURCES/pr2899-dont_use_withseed_versions_of_nss_functions_as_they_dont_fully_process_the_seed.patch +++ /dev/null @@ -1,24 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1459313680 -3600 -# Wed Mar 30 05:54:40 2016 +0100 -# Node ID 9dc0eca5fa8926e6a952fa4f1931e78aa1f52443 -# Parent 8957aff589013e671f02d38023d5ff245ef27e87 -PR2899: Don't use WithSeed versions of NSS functions as they don't fully process the seed -Contributed-by: Alex Kashchenko -Updated 2017/07/04 to accomodate 8175110 by Andrew Hughes - -diff -r e5fdbb82bd49 src/share/native/sun/security/ec/ecc_impl.h ---- openjdk/jdk/src/share/native/sun/security/ec/ecc_impl.h -+++ openjdk/jdk/src/share/native/sun/security/ec/ecc_impl.h -@@ -267,8 +267,8 @@ - - #ifdef SYSTEM_NSS - #define EC_DecodeParams(a,b,c) EC_DecodeParams(a,b) --#define EC_NewKey(a,b,c,d,e) EC_NewKeyFromSeed(a,b,c,d) --#define ECDSA_SignDigest(a,b,c,d,e,f,g) ECDSA_SignDigestWithSeed(a,b,c,d,e) -+#define EC_NewKey(a,b,c,d,e) EC_NewKey(a,b) -+#define ECDSA_SignDigest(a,b,c,d,e,f,g) ECDSA_SignDigest(a,b,c) - #define ECDSA_VerifyDigest(a,b,c,d) ECDSA_VerifyDigest(a,b,c) - #define ECDH_Derive(a,b,c,d,e,f) ECDH_Derive(a,b,c,d,e) - #else diff --git a/SOURCES/pr2934-sunec_provider_throwing_keyexception_withine.separator_current_nss_thus_initialise_the_random_number_generator_and_feed_the_seed_to_it.patch b/SOURCES/pr2934-sunec_provider_throwing_keyexception_withine.separator_current_nss_thus_initialise_the_random_number_generator_and_feed_the_seed_to_it.patch deleted file mode 100644 index 83385da..0000000 --- a/SOURCES/pr2934-sunec_provider_throwing_keyexception_withine.separator_current_nss_thus_initialise_the_random_number_generator_and_feed_the_seed_to_it.patch +++ /dev/null @@ -1,91 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1461349033 -3600 -# Fri Apr 22 19:17:13 2016 +0100 -# Node ID dab76de2f91cf1791c03560a3f45aaa69f8351fd -# Parent 3fa42705acab6d69b6141f47ebba4f85739a338c -PR2934: SunEC provider throwing KeyException with current NSS -Summary: Initialise the random number generator and feed the seed to it. -Updated 2017/07/04 to accomodate 8175110 - -diff -r 8aed1e903a4c src/share/native/sun/security/ec/ECC_JNI.cpp ---- openjdk/jdk/src/share/native/sun/security/ec/ECC_JNI.cpp -+++ openjdk/jdk/src/share/native/sun/security/ec/ECC_JNI.cpp -@@ -134,8 +134,17 @@ - env->GetByteArrayRegion(seed, 0, jSeedLength, pSeedBuffer); - - // Generate the new keypair (using the supplied seed) -+#ifdef SYSTEM_NSS -+ if (RNG_RandomUpdate((unsigned char *) pSeedBuffer, jSeedLength) -+ != SECSuccess) { -+ ThrowException(env, KEY_EXCEPTION); -+ goto cleanup; -+ } -+ if (EC_NewKey(ecparams, &privKey) != SECSuccess) { -+#else - if (EC_NewKey(ecparams, &privKey, (unsigned char *) pSeedBuffer, - jSeedLength, 0) != SECSuccess) { -+#endif - ThrowException(env, KEY_EXCEPTION); - goto cleanup; - } -@@ -267,8 +276,18 @@ - env->GetByteArrayRegion(seed, 0, jSeedLength, pSeedBuffer); - - // Sign the digest (using the supplied seed) -+#ifdef SYSTEM_NSS -+ if (RNG_RandomUpdate((unsigned char *) pSeedBuffer, jSeedLength) -+ != SECSuccess) { -+ ThrowException(env, KEY_EXCEPTION); -+ goto cleanup; -+ } -+ if (ECDSA_SignDigest(&privKey, &signature_item, &digest_item) -+ != SECSuccess) { -+#else - if (ECDSA_SignDigest(&privKey, &signature_item, &digest_item, - (unsigned char *) pSeedBuffer, jSeedLength, 0, timing) != SECSuccess) { -+#endif - ThrowException(env, KEY_EXCEPTION); - goto cleanup; - } -@@ -499,6 +518,9 @@ - if (SECOID_Init() != SECSuccess) { - ThrowException(env, INTERNAL_ERROR); - } -+ if (RNG_RNGInit() != SECSuccess) { -+ ThrowException(env, INTERNAL_ERROR); -+ } - #endif - } - -@@ -507,6 +529,7 @@ - (JNIEnv *env, jclass UNUSED(clazz)) - { - #ifdef SYSTEM_NSS -+ RNG_RNGShutdown(); - if (SECOID_Shutdown() != SECSuccess) { - ThrowException(env, INTERNAL_ERROR); - } -diff -r 8aed1e903a4c src/share/native/sun/security/ec/ecc_impl.h ---- openjdk/jdk/src/share/native/sun/security/ec/ecc_impl.h -+++ openjdk/jdk/src/share/native/sun/security/ec/ecc_impl.h -@@ -254,8 +254,10 @@ - This function is no longer required because the random bytes are now - supplied by the caller. Force a failure. - */ -+#ifndef SYSTEM_NSS - #define RNG_GenerateGlobalRandomBytes(p,l) SECFailure - #endif -+#endif - #define CHECK_MPI_OK(func) if (MP_OKAY > (err = func)) goto cleanup - #define MP_TO_SEC_ERROR(err) - -@@ -267,8 +269,6 @@ - - #ifdef SYSTEM_NSS - #define EC_DecodeParams(a,b,c) EC_DecodeParams(a,b) --#define EC_NewKey(a,b,c,d,e) EC_NewKey(a,b) --#define ECDSA_SignDigest(a,b,c,d,e,f,g) ECDSA_SignDigest(a,b,c) - #define ECDSA_VerifyDigest(a,b,c,d) ECDSA_VerifyDigest(a,b,c) - #define ECDH_Derive(a,b,c,d,e,f) ECDH_Derive(a,b,c,d,e) - #else diff --git a/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch b/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch index b52c087..d44ed1d 100644 --- a/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch +++ b/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch @@ -7,21 +7,9 @@ PR3083, RH1346460: Regression in SSL debug output without an ECC provider Summary: Return null rather than throwing an exception when there's no ECC provider. -diff --git openjdk.orig/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java openjdk/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java ---- openjdk.orig/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java -+++ openjdk/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java -@@ -121,7 +121,7 @@ - private static void ensureCurveIsSupported(ECParameterSpec ecSpec) - throws InvalidAlgorithmParameterException { - -- AlgorithmParameters ecParams = ECUtil.getECParameters(null); -+ AlgorithmParameters ecParams = ECUtil.getECParameters(null, true); - byte[] encodedParams; - try { - ecParams.init(ecSpec); -diff --git openjdk.orig/jdk/src/share/classes/sun/security/util/Debug.java openjdk/jdk/src/share/classes/sun/security/util/Debug.java ---- openjdk.orig/jdk/src/share/classes/sun/security/util/Debug.java -+++ openjdk/jdk/src/share/classes/sun/security/util/Debug.java +diff -r bc6eab2038c6 -r a4541d1d8609 src/share/classes/sun/security/util/Debug.java +--- openjdk/jdk/src/share/classes/sun/security/util/Debug.java Mon Jul 04 17:08:12 2016 +0100 ++++ openjdk/jdk/src/share/classes/sun/security/util/Debug.java Mon Jul 04 18:21:29 2016 +0100 @@ -73,6 +73,7 @@ System.err.println("certpath PKIX CertPathBuilder and"); System.err.println(" CertPathValidator debugging"); @@ -30,9 +18,9 @@ diff --git openjdk.orig/jdk/src/share/classes/sun/security/util/Debug.java openj System.err.println("gssloginconfig"); System.err.println(" GSS LoginConfigImpl debugging"); System.err.println("configfile JAAS ConfigFile loading"); -diff --git openjdk.orig/jdk/src/share/classes/sun/security/util/ECUtil.java openjdk/jdk/src/share/classes/sun/security/util/ECUtil.java ---- openjdk.orig/jdk/src/share/classes/sun/security/util/ECUtil.java -+++ openjdk/jdk/src/share/classes/sun/security/util/ECUtil.java +diff -r bc6eab2038c6 -r a4541d1d8609 src/share/classes/sun/security/util/ECUtil.java +--- openjdk/jdk/src/share/classes/sun/security/util/ECUtil.java Mon Jul 04 17:08:12 2016 +0100 ++++ openjdk/jdk/src/share/classes/sun/security/util/ECUtil.java Mon Jul 04 18:21:29 2016 +0100 @@ -41,6 +41,9 @@ public class ECUtil { @@ -46,11 +34,11 @@ diff --git openjdk.orig/jdk/src/share/classes/sun/security/util/ECUtil.java open @@ -90,6 +93,10 @@ } - public static AlgorithmParameters getECParameters(Provider p) { + private static AlgorithmParameters getECParameters(Provider p) { + return getECParameters(p, false); + } + -+ public static AlgorithmParameters getECParameters(Provider p, boolean throwException) { ++ private static AlgorithmParameters getECParameters(Provider p, boolean throwException) { try { if (p != null) { return AlgorithmParameters.getInstance("EC", p); diff --git a/SOURCES/pr3479-rh1486025-sunec_provider_can_have_multiple_instances_leading_to_premature_nss_shutdown.patch b/SOURCES/pr3479-rh1486025-sunec_provider_can_have_multiple_instances_leading_to_premature_nss_shutdown.patch deleted file mode 100644 index 14c693b..0000000 --- a/SOURCES/pr3479-rh1486025-sunec_provider_can_have_multiple_instances_leading_to_premature_nss_shutdown.patch +++ /dev/null @@ -1,67 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1508194072 -3600 -# Mon Oct 16 23:47:52 2017 +0100 -# Node ID 5dcb55da00c1531264934559c9f10c2e0ae46420 -# Parent bf62c56e3604fee0018b19f65fd56c76dc156630 -PR3479, RH1486025: ECC and NSS JVM crash -Summary: SunEC provider can have multiple instances, leading to premature NSS shutdown -Contributed-by: Martin Balao - -diff --git a/make/mapfiles/libsunec/mapfile-vers b/make/mapfiles/libsunec/mapfile-vers ---- openjdk/jdk/make/mapfiles/libsunec/mapfile-vers -+++ openjdk/jdk/make/mapfiles/libsunec/mapfile-vers -@@ -32,7 +32,6 @@ - Java_sun_security_ec_ECDSASignature_verifySignedDigest; - Java_sun_security_ec_ECDHKeyAgreement_deriveKey; - Java_sun_security_ec_SunEC_initialize; -- Java_sun_security_ec_SunEC_cleanup; - local: - *; - }; -diff --git a/src/share/classes/sun/security/ec/SunEC.java b/src/share/classes/sun/security/ec/SunEC.java ---- openjdk/jdk/src/share/classes/sun/security/ec/SunEC.java -+++ openjdk/jdk/src/share/classes/sun/security/ec/SunEC.java -@@ -83,21 +83,8 @@ - } - - /** -- * Cleanup native resources during finalisation. -- */ -- @Override -- protected void finalize() { -- cleanup(); -- } -- -- /** - * Initialize the native code. - */ - private static native void initialize(); - -- /** -- * Cleanup in the native layer. -- */ -- private static native void cleanup(); -- - } -diff --git a/src/share/native/sun/security/ec/ECC_JNI.cpp b/src/share/native/sun/security/ec/ECC_JNI.cpp ---- openjdk/jdk/src/share/native/sun/security/ec/ECC_JNI.cpp -+++ openjdk/jdk/src/share/native/sun/security/ec/ECC_JNI.cpp -@@ -525,14 +525,12 @@ - } - - JNIEXPORT void --JNICALL Java_sun_security_ec_SunEC_cleanup -- (JNIEnv *env, jclass UNUSED(clazz)) -+JNICALL JNI_OnUnload -+ (JavaVM *vm, void *reserved) - { - #ifdef SYSTEM_NSS - RNG_RNGShutdown(); -- if (SECOID_Shutdown() != SECSuccess) { -- ThrowException(env, INTERNAL_ERROR); -- } -+ SECOID_Shutdown(); - #endif - } - diff --git a/SPECS/java-1.8.0-openjdk.spec b/SPECS/java-1.8.0-openjdk.spec index baa5731..f1fe797 100644 --- a/SPECS/java-1.8.0-openjdk.spec +++ b/SPECS/java-1.8.0-openjdk.spec @@ -1,3 +1,8 @@ +# The -g flag says to use strip -g instead of full strip on DSOs or EXEs. +# This fixes detailed NMT and other tools which need minimal debug info. +# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879 +%global _find_debuginfo_opts -g + # note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros # also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch %global debug_suffix_unquoted -debug @@ -41,7 +46,6 @@ %endif # if you disable both builds, then the build fails -# Note that the debug build requires the normal build for docs %global build_loop %{build_loop1} %{build_loop2} # note: that order: normal_suffix debug_suffix, in case of both enabled # is expected in one single case at the end of the build @@ -54,12 +58,11 @@ %endif %if %{bootstrap_build} -%global release_targets bootcycle-images zip-docs +%global targets bootcycle-images docs %else -%global release_targets images zip-docs +%global targets all %endif -# No docs nor bootcycle for debug builds -%global debug_targets images + # Filter out flags from the optflags macro that cause problems with the OpenJDK build # We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs) @@ -176,11 +179,13 @@ # 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-jdk8u222-b10 +%global shenandoah_revision aarch64-shenandoah-jdk8u222-b03 # 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 files +%global icedteaver 3.11.0 # eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60 (dont forget spec escape % by %%) %global whole_update %(VERSION=%{revision}; echo ${VERSION%%-*}) @@ -188,22 +193,14 @@ %global updatever %(VERSION=%{whole_update}; echo ${VERSION##*u}) # eg jdk8u60-b27 -> b27 %global buildver %(VERSION=%{revision}; echo ${VERSION##*-}) -%global rpmrelease 0 # 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, -# - N%%{?extraver}{?dist} for GA releases -%global is_ga 1 +%global is_ga 0 %if %{is_ga} %global milestone fcs %global milestone_version %{nil} -%global extraver %{nil} -%global eaprefix %{nil} %else %global milestone ea %global milestone_version "-ea" -%global extraver .%{milestone} -%global eaprefix 0. %endif # priority must be 7 digits in total. The expression is workarounding tip %global priority %(TIP=1800%{updatever}; echo ${TIP/tip/999}) @@ -697,9 +694,6 @@ Requires: jpackage-utils Requires: tzdata-java >= 2015d # libsctp.so.1 is being `dlopen`ed on demand Requires: lksctp-tools%{?_isa} -# there is a need to depend on the exact version of NSS -Requires: nss%{?_isa} %{NSS_BUILDTIME_VERSION} -Requires: nss-softokn%{?_isa} %{NSSSOFTOKN_BUILDTIME_VERSION} # tool to copy jdk's configs - should be Recommends only, but then only dnf/yum enforce it, # not rpm transaction and so no configs are persisted when pure rpm -u is run. It may be # considered as regression @@ -829,7 +823,7 @@ Provides: java-%{javaver}-%{origin}-accessibility = %{epoch}:%{version}-%{releas Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever}.%{buildver} -Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist} +Release: 1%{?dist} # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons # and this change was brought into RHEL-4. java-1.5.0-ibm packages # also included the epoch in their virtual provides. This created a @@ -870,11 +864,11 @@ Source0: %{shenandoah_project}-%{shenandoah_repo}-%{shenandoah_revision}.tar.xz # Custom README for -src subpackage Source2: README.md -# Use 'generate_tarballs.sh' to generate the following tarballs +# Use 'icedtea_sync.sh' to update the following # They are based on code contained in the IcedTea project (3.x). # Systemtap tapsets. Zipped up to keep it small. -Source8: systemtap-tapset-3.6.0pre02.tar.xz +Source8: tapsets-icedtea-%{icedteaver}.tar.xz # Desktop files. Adapted from IcedTea Source9: jconsole.desktop.in @@ -942,20 +936,6 @@ 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 -# Support for building the SunEC provider with the system NSS installation -# PR1983: Support using the system installation of NSS with the SunEC provider -# PR2127: SunEC provider crashes when built using system NSS -# PR2815: Race condition in SunEC provider with system NSS -# PR2899: Don't use WithSeed versions of NSS functions as they don't fully process the seed -# PR2934: SunEC provider throwing KeyException with current NSS -# PR3479, RH1486025: ECC and NSS JVM crash -Patch513: pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk8.patch -Patch514: pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_root8.patch -Patch515: pr2127-sunec_provider_crashes_when_built_using_system_nss_thus_use_of_nss_memory_management_functions.patch -Patch516: pr2815-race_condition_in_sunec_provider_with_system_nss_fix.patch -Patch517: pr2899-dont_use_withseed_versions_of_nss_functions_as_they_dont_fully_process_the_seed.patch -Patch518: pr2934-sunec_provider_throwing_keyexception_withine.separator_current_nss_thus_initialise_the_random_number_generator_and_feed_the_seed_to_it.patch -Patch519: pr3479-rh1486025-sunec_provider_can_have_multiple_instances_leading_to_premature_nss_shutdown.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 @@ -1013,6 +993,9 @@ Patch202: jdk8035341-allow_using_system_installed_libpng.patch Patch203: jdk8042159-allow_using_system_installed_lcms2.patch # 8210761: libjsig is being compiled without optimization Patch620: jdk8210761-rh1632174-libjsig_is_being_compiled_without_optimization.patch +# 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization +# Aarch64-port 8u local part +Patch624: jdk8210425-rh1632174-02-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_aarch64.patch ############################################# # @@ -1088,13 +1071,6 @@ BuildRequires: pkgconfig BuildRequires: xorg-x11-proto-devel BuildRequires: zip BuildRequires: unzip -%ifarch %{arm} -BuildRequires: devtoolset-7-build -BuildRequires: devtoolset-7-binutils -BuildRequires: devtoolset-7-gcc -BuildRequires: devtoolset-7-gcc-c++ -BuildRequires: devtoolset-7-gdb -%endif # Use OpenJDK 7 where available (on RHEL) to avoid # having to use the rhel-7.x-java-unsafe-candidate hack %if ! 0%{?fedora} && 0%{?rhel} <= 7 @@ -1110,8 +1086,6 @@ BuildRequires: libffi-devel BuildRequires: tzdata-java >= 2015d # Earlier versions have a bug in tree vectorization on PPC BuildRequires: gcc >= 4.8.3-8 -# Build requirements for SunEC system NSS support -BuildRequires: nss-softokn-freebl-devel >= 3.16.1 %if %{with_systemtap} BuildRequires: systemtap-sdt-devel @@ -1243,7 +1217,7 @@ The %{origin_nice} %{majorver} API documentation. %if %{include_normal_build} %package javadoc-zip -Summary: %{origin_nice} %{majorver} API documentation compressed in a single archive +Summary: %{origin_nice} %{majorver} API documentation compressed in single archive Group: Documentation Requires: javapackages-tools BuildArch: noarch @@ -1251,7 +1225,7 @@ BuildArch: noarch %{java_javadoc_rpo %{nil}} %description javadoc-zip -The %{origin_nice} %{majorver} API documentation compressed in a single archive. +The %{origin_nice} %{majorver} API documentation compressed in single archive. %endif %if %{include_debug_build} @@ -1269,7 +1243,7 @@ The %{origin_nice} %{majorver} API documentation %{for_debug}. %if %{include_debug_build} %package javadoc-zip-debug -Summary: %{origin_nice} %{majorver} API documentation compressed in a single archive %{for_debug} +Summary: %{origin_nice} %{majorver} API documentation compressed in single archive %{for_debug} Group: Documentation Requires: javapackages-tools BuildArch: noarch @@ -1277,9 +1251,10 @@ BuildArch: noarch %{java_javadoc_rpo -- %{debug_suffix_unquoted}} %description javadoc-zip-debug -The %{origin_nice} %{majorver} API documentation compressed in a single archive %{for_debug}. +The %{origin_nice} %{majorver} API documentation compressed in single archive %{for_debug}. %endif + %if %{include_normal_build} %package accessibility Summary: OpenJDK accessibility connector @@ -1324,10 +1299,6 @@ if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 ] ; then echo "You have disabled both include_debug_build and include_normal_build. That is a no go." exit 13 fi -if [ %{include_normal_build} -eq 0 ] ; then - echo "You have disabled the normal build, but this is required to provide docs for the debug build." - exit 14 -fi echo "Update version: %{updatever}" echo "Build number: %{buildver}" @@ -1380,13 +1351,6 @@ sh %{SOURCE12} %patch502 %patch504 %patch512 -%patch513 -%patch514 -%patch515 -%patch516 -%patch517 -%patch518 -%patch519 %patch400 %patch523 %patch528 @@ -1399,6 +1363,7 @@ sh %{SOURCE12} %patch575 %patch577 %patch620 +%patch624 %patch541 # RPM-only fixes @@ -1414,7 +1379,7 @@ sh %{SOURCE12} # Extract systemtap tapsets %if %{with_systemtap} -tar -x -I xz -f %{SOURCE8} +tar --strip-components=1 -x -I xz -f %{SOURCE8} %if %{include_debug_build} cp -r tapset tapset%{debug_suffix} %endif @@ -1422,7 +1387,7 @@ cp -r tapset tapset%{debug_suffix} for suffix in %{build_loop} ; do for file in "tapset"$suffix/*.in; do - OUTPUT_FILE=`echo $file | sed -e "s:%{javaver}\.stp\.in$:%{version}-%{release}.%{_arch}.stp:g"` + OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"` sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir $suffix}/jre/lib/%{archinstall}/server/libjvm.so:g" $file > $file.1 # TODO find out which architectures other than i686 have a client vm %ifarch %{ix86} @@ -1439,16 +1404,19 @@ done %endif # Prepare desktop files +# The _X_ syntax indicates variables that are replaced by make upstream +# The @X@ syntax indicates variables that are replaced by configure upstream for suffix in %{build_loop} ; do for file in %{SOURCE9} %{SOURCE10} ; do FILE=`basename $file | sed -e s:\.in$::g` EXT="${FILE##*.}" NAME="${FILE%.*}" OUTPUT_FILE=$NAME$suffix.$EXT - sed -e "s:@JAVA_HOME@:%{sdkbindir $suffix}:g" $file > $OUTPUT_FILE - sed -i -e "s:@JRE_HOME@:%{jrebindir $suffix}:g" $OUTPUT_FILE - sed -i -e "s:@ARCH@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE - sed -i -e "s:@JAVA_MAJOR_VERSION@:%{javaver}:g" $OUTPUT_FILE + sed -e "s:_BINDIR_:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE + sed -i -e "s:_JREBINDIR_:%{jrebindir -- $suffix}:g" $OUTPUT_FILE + sed -i -e "s:@target_cpu@:%{_arch}:g" $OUTPUT_FILE + sed -i -e "s:@OPENJDK_VER@:%{version}-%{release}$suffix:g" $OUTPUT_FILE + sed -i -e "s:@JAVA_VER@:%{javaver}:g" $OUTPUT_FILE sed -i -e "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE done done @@ -1458,10 +1426,6 @@ sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg %build -%ifarch %{arm} -%{?enable_devtoolset7:%{enable_devtoolset7}} -%endif - # How many CPU's do we have? export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :) export NUM_PROC=${NUM_PROC:-1} @@ -1485,9 +1449,6 @@ EXTRA_CPP_FLAGS="%ourcppflags" # fix rpmlint warnings EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing" %endif -%ifarch %{arm} -EXTRA_CFLAGS="$EXTRA_CFLAGS -Wno-nonnull" -%endif export EXTRA_CFLAGS (cd %{top_level_dir_name}/common/autoconf @@ -1507,8 +1468,6 @@ top_dir_abs_path=$(pwd)/%{top_level_dir_name} mkdir -p %{buildoutputdir $suffix} pushd %{buildoutputdir $suffix} -NSS_LIBS="%{NSS_LIBS} -lfreebl" \ -NSS_CFLAGS="%{NSS_CFLAGS}" \ bash ../../configure \ %ifnarch %{jit_arches} --with-jvm-variants=zero \ @@ -1520,7 +1479,6 @@ bash ../../configure \ --with-boot-jdk=/usr/lib/jvm/java-openjdk \ --with-debug-level=$debugbuild \ --enable-unlimited-crypto \ - --enable-system-nss \ --with-zlib=system \ --with-libjpeg=system \ --with-giflib=system \ @@ -1535,16 +1493,12 @@ bash ../../configure \ cat spec.gmk cat hotspot-spec.gmk -# Debug builds don't need same targets as release for -# build speed-up -maketargets="%{release_targets}" -if echo $debugbuild | grep -q "debug" ; then - maketargets="%{debug_targets}" -fi make \ JAVAC_FLAGS=-g \ LOG=trace \ - $maketargets || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false ) + %{targets} || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false ) + +make zip-docs # the build (erroneously) removes read permissions from some jars # this is a regression in OpenJDK 7 (our compiler): @@ -1775,12 +1729,12 @@ mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/client/ cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix} 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 %{buildoutputdir $suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix} +cp -a %{buildoutputdir $suffix}/bundles/jdk-%{javaver}_%{updatever}%{milestone_version}$suffix-%{buildver}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}.zip # Install icons and menu entries for s in 16 24 32 48 ; do @@ -2007,7 +1961,6 @@ require "copy_jdk_configs.lua" %postun javadoc-zip-debug %{postun_javadoc_zip -- %{debug_suffix_unquoted}} - %endif %if %{include_normal_build} @@ -2073,101 +2026,70 @@ require "copy_jdk_configs.lua" %files accessibility-debug %{files_accessibility -- %{debug_suffix_unquoted}} - %endif %changelog -* Tue Jul 23 2019 Johnny Hughes -- Manual CentOS Debranding - -* Thu Jul 11 2019 Andrew Hughes - 1:1.8.0.222.b10-0 -- Update to aarch64-shenandoah-jdk8u222-b10. -- Resolves: rhbz#1724452 - -* Tue Jul 09 2019 Andrew Hughes - 1:1.8.0.222.b09-0 -- Update to aarch64-shenandoah-jdk8u222-b09. -- Switch to GA mode for final release. -- Resolves: rhbz#1724452 - -* Tue Jul 09 2019 Andrew Hughes - 1:1.8.0.222.b08-0.0.ea -- Update to aarch64-shenandoah-jdk8u222-b08. -- Adjust PR3083/RH134640 to apply after JDK-8182999 -- Resolves: rhbz#1724452 - -* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b07-0.0.ea -- Update to aarch64-shenandoah-jdk8u222-b07 and Shenandoah merge 2019-06-13. -- Resolves: rhbz#1724452 - -* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b06-0.0.ea -- Update to aarch64-shenandoah-jdk8u222-b06. -- Resolves: rhbz#1724452 - -* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b05-0.0.ea -- Update to aarch64-shenandoah-jdk8u222-b05. -- Resolves: rhbz#1724452 - -* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b04-0.1.ea -- Update to aarch64-shenandoah-jdk8u222-b04. -- Drop remaining JDK-8210425/RH1632174 patch now AArch64 part is upstream. -- Resolves: rhbz#1724452 - -* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b03-0.1.ea -- Use normal_suffix for Javadoc zip filename to copy, as there is is no debug version. -- Resolves: rhbz#1724452 - -* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b03-0.1.ea -- Provide Javadoc debug subpackages for now, but populate them from the normal build. -- Resolves: rhbz#1724452 - -* Mon Jul 08 2019 Severin Gehwolf - 1:1.8.0.222.b03-0.1.ea -- Don't produce javadoc/javadoc-zip sub packages for the debug variant build. -- Don't perform a bootcycle build for the debug variant build. -- Resolves: rhbz#1724452 - -* Tue Jul 02 2019 Severin Gehwolf - 1:1.8.0.222.b03-0.0.ea -- Include 'ea' designator in Release when appropriate. -- Resolves: rhbz#1724452 - -* Wed May 22 2019 Andrew Hughes - 1:1.8.0.222.b03-0 -- Update to aarch64-shenandoah-jdk8u222-b03. +* Wed May 22 2019 Andrew Hughes - 1:1.8.0.222.b03-1 - Handle milestone as variables so we can alter it easily and set the docs zip filename appropriately. +- Drop unused use_shenandoah_hotspot variable. +- Resolves: rhbz#1705328 + +* Wed May 22 2019 Andrew Hughes - 1:1.8.0.222.b03-1 +- Update to aarch64-shenandoah-jdk8u222-b03. +- Set milestone to "ea" as this is not the final release. - Drop 8210425 patches applied upstream. Still need to add AArch64 version in aarch64/shenandoah-jdk8u. - Re-generate JDK-8141570 & JDK-8143245 patches due to 8210425 zeroshark.make changes. -- Drop unused use_shenandoah_hotspot variable. -- Resolves: rhbz#1724452 +- Resolves: rhbz#1705328 -* Mon May 13 2019 Andrew Hughes - 1:1.8.0.222.b02-0 +* Mon May 13 2019 Andrew Hughes - 1:1.8.0.222.b02-1 - Update to aarch64-shenandoah-jdk8u222-b02. - Drop 8064786/PR3599 & 8210416/RH1632174 as applied upstream (8064786 silently in 8176100). -- Resolves: rhbz#1724452 +- Resolves: rhbz#1705328 -* Thu May 02 2019 Andrew Hughes - 1:1.8.0.222.b01-0 +* Thu May 02 2019 Andrew Hughes - 1:1.8.0.222.b01-1 - Update to aarch64-shenandoah-jdk8u222-b01. - Refactor PR2888 after inclusion of 8129988 upstream. Now includes PR3575. - Drop 8171000, 8197546 & PR3634 as applied upstream. - Adjust 8214206 fix for S390 as BinaryMagnitudeSeq moved to shenandoahNumberSeq.cpp -- Resolves: rhbz#1724452 +- Resolves: rhbz#1705328 -* Thu Apr 11 2019 Andrew Hughes - 1:1.8.0.212.b04-0 +* Thu Apr 11 2019 Andrew Hughes - 1:1.8.0.212.b04-1 - Update to aarch64-shenandoah-jdk8u212-b04. - Resolves: rhbz#1693468 -* Thu Apr 11 2019 Andrew Hughes - 1:1.8.0.212.b03-0 +* Thu Apr 11 2019 Andrew Hughes - 1:1.8.0.212.b03-1 - Update to aarch64-shenandoah-jdk8u212-b03. - Resolves: rhbz#1693468 -* Tue Apr 09 2019 Andrew Hughes - 1:1.8.0.212.b02-0 +* Wed Apr 10 2019 Andrew Hughes - 1:1.8.0.212.b02-2 +- Rebase tarball so the AArch64 fix is included upstream +- Resolves: rhbz#1693468 + +* Wed Apr 10 2019 Andrew Hughes - 1:1.8.0.212.b02-1 +- Add missing part of JDK-8213419 for AArch64 removing duplicate uabs definitions +- Yet another cast to resolve s390 ambiguity in call to log2_intptr +- Resolves: rhbz#1693468 + +* Wed Apr 10 2019 Andrew Hughes - 1:1.8.0.212.b02-1 +- Another cast to resolve s390 ambiguity in call to log2_intptr +- Resolves: rhbz#1693468 + +* Tue Apr 09 2019 Andrew Hughes - 1:1.8.0.212.b02-1 +- Add cast to resolve s390 ambiguity in call to log2_intptr +- Resolves: rhbz#1693468 + +* Tue Apr 09 2019 Andrew Hughes - 1:1.8.0.212.b02-1 - Update to aarch64-shenandoah-jdk8u212-b02. - Remove patches included upstream - JDK-8197429/PR3546/RH153662{2,3} - JDK-8184309/PR3596 - JDK-8210647/RH1632174 + - JDK-8029661/PR3642/RH1477159 - Re-generate patches - JDK-8203030 -- Add casts to resolve s390 ambiguity in calls to log2_intptr - Resolves: rhbz#1693468 -* Sun Apr 07 2019 Andrew Hughes - 1:1.8.0.202.b08-0 +* Sun Apr 07 2019 Andrew Hughes - 1:1.8.0.202.b08-1 - Update to aarch64-shenandoah-jdk8u202-b08. - Remove patches included upstream - JDK-8211387/PR3559 @@ -2183,12 +2105,12 @@ require "copy_jdk_configs.lua" - JDK-8210647/RH1632174 - Resolves: rhbz#1693468 -* Thu Apr 04 2019 Andrew Hughes - 1:1.8.0.201.b13-0 +* Thu Apr 04 2019 Andrew Hughes - 1:1.8.0.201.b13-1 - Update to aarch64-shenandoah-jdk8u201-b13. - Drop JDK-8160748 & JDK-8189170 AArch64 patches now applied upstream. - Resolves: rhbz#1693468 -* Tue Apr 02 2019 Severin Gehwolf - 1:1.8.0.201.b09-3 +* Tue Apr 02 2019 Severin Gehwolf - 1:1.8.0.201.b09-5 - Update patch for RH1566890. - Renamed rh1566890_speculative_store_bypass_so_added_more_per_task_speculation_control_CVE_2018_3639 to rh1566890-CVE_2018_3639-speculative_store_bypass.patch @@ -2196,23 +2118,35 @@ require "copy_jdk_configs.lua" rh1566890-CVE_2018_3639-speculative_store_bypass_toggle.patch - Resolves: rhbz#1693468 +* Sat Mar 30 2019 Andrew Hughes - 1:1.8.0.201.b09-4 +- Drop NSS runtime dependencies and patches to link against it. +- Resolves: rhbz#1656676 + +* Fri Mar 29 2019 Andrew John Hughes - 1:1.8.0.201.b09-3 +- Sync SystemTap & desktop files with upstream IcedTea release using new script +- Resolves: rhbz#1434241 + +* Fri Mar 29 2019 Jiri Vanek jvanek@redhat.com - 1:1.8.0.201.b09-3 +- Change handling of SystemTap tarball, removing Java version +- Resolves: rhbz#1434241 + * Thu Feb 28 2019 Jiri Vanek jvanek@redhat.com - 1:1.8.0.201.b09-2 - Replaced pcsc-lite-devel (which is in optional channel) with pcsc-lite-libs. - added rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch to make jdk work with pcsc -* Wed Jan 16 2019 Andrew Hughes - 1:1.8.0.201.b09-0 +* Wed Jan 16 2019 Andrew Hughes - 1:1.8.0.201.b09-1 - Update to aarch64-shenandoah-jdk8u201-b09. - Resolves: rhbz#1661577 -* Wed Jan 16 2019 Andrew Hughes - 1:1.8.0.192.b12-0 +* Wed Jan 16 2019 Andrew Hughes - 1:1.8.0.192.b12-1 - Add port of 8189170 to AArch64 which is missing from upstream 8u version. - Resolves: rhbz#1661577 -* Wed Jan 16 2019 Andrew Hughes - 1:1.8.0.192.b12-0 +* Wed Jan 16 2019 Andrew Hughes - 1:1.8.0.192.b12-1 - Add 8160748 for AArch64 which is missing from upstream 8u version. - Resolves: rhbz#1661577 -* Wed Jan 16 2019 Andrew Hughes - 1:1.8.0.192.b12-0 +* Wed Jan 16 2019 Andrew Hughes - 1:1.8.0.192.b12-1 - Update to aarch64-shenandoah-jdk8u192-b12. - Remove patches included upstream - JDK-8031668/PR2842 @@ -2245,58 +2179,77 @@ require "copy_jdk_configs.lua" - RH1649664 (due to JDK-8196516) - Resolves: rhbz#1661577 -* Mon Jan 14 2019 Andrew Hughes - 1:1.8.0.191.b14-1 +* Mon Jan 14 2019 Andrew Hughes - 1:1.8.0.191.b14-2 - Add 8131048 & 8164920 (PR3574/RH1498936) to provide a CRC32 intrinsic for PPC64. -- Resolves: rhbz#1661577 +- Resolves: rhbz#1498936 -* Thu Jan 10 2019 Andrew Hughes - 1:1.8.0.191.b14-0 +* Thu Jan 10 2019 Andrew Hughes - 1:1.8.0.191.b14-1 - Update to aarch64-shenandoah-jdk8u191-b14. - Adjust JDK-8073139/PR1758/RH1191652 to apply following 8155627 backport. - Resolves: rhbz#1661577 -* Wed Jan 09 2019 Andrew Hughes - 1:1.8.0.191.b13-0 +* Wed Jan 09 2019 Andrew Hughes - 1:1.8.0.191.b13-1 - Update to aarch64-shenandoah-jdk8u191-b13. - Update tarball generation script in preparation for PR3667/RH1656676 SunEC changes. - Use remove-intree-libraries.sh to remove the remaining SunEC code for now. - Resolves: rhbz#1661577 -* Wed Dec 19 2018 Andrew Hughes - 1:1.8.0.191.b13-0 +* Wed Dec 19 2018 Andrew Hughes - 1:1.8.0.191.b12-15 - Fix jdk8073139-pr1758-rh1191652-ppc64_le_says_its_arch_is_ppc64_not_ppc64le_jdk.patch paths to pass git apply - Resolves: rhbz#1633817 -* Tue Nov 13 2018 Andrew Hughes - 1:1.8.0.191.b13-0 +* Tue Dec 04 2018 Severin Gehwolf - 1:1.8.0.191.b12-14 +- Added %%global _find_debuginfo_opts -g +- Resolves: rhbz#1656996 + +* Thu Nov 22 2018 Andrew John Hughes - 1:1.8.0.191.b12-13 +- Add backport of JDK-8029661 which adds TLSv1.2 support to the PKCS11 provider. +- Resolves: rhbz#1477159 + +* Tue Nov 20 2018 Andrew Hughes - 1:1.8.0.191.b12-12 - Revise Shenandoah PR3634 patch following upstream discussion. - Resolves: rhbz#1633817 -* Wed Nov 07 2018 Jiri Vanek - 1:1.8.0.191.b13-0 -- Headful Requires of cups, replaced by Requires of cups-libs in headless +* Tue Nov 20 2018 Jiri Vanek - 1:1.8.0.191.b12-11 +- Renamed all patches to new convention +- bug1-bug2-..-bugN-XY-lowercase_comment_suffix_or_jdkpart.patch - Resolves: rhbz#1633817 -* Wed Nov 07 2018 Andrew Hughes - 1:1.8.0.191.b13-0 +* Wed Nov 07 2018 Jiri Vanek - 1:1.8.0.191.b12-10 +- Headful Requires of cups, replaced by Requires of cups-libs in headless +- Resolves: rhbz#1598152 + +* Wed Nov 07 2018 Andrew Hughes - 1:1.8.0.191.b12-9 - Note why PR1834/RH1022017 is not suitable to go upstream in its current form. - Resolves: rhbz#1633817 -* Mon Nov 05 2018 Andrew Hughes - 1:1.8.0.191.b13-0 +* Tue Nov 06 2018 Andrew Hughes - 1:1.8.0.191.b12-9 - Document patch sections. - Resolves: rhbz#1633817 -* Mon Nov 05 2018 Andrew Hughes - 1:1.8.0.191.b13-0 +* Tue Nov 06 2018 Andrew Hughes - 1:1.8.0.191.b12-9 - Fix patch organisation in the spec file: - * Move ECC patches back to upstreamable section - * Move system cacerts patches to upstreamable section - * Merge "Local fixes" and "RPM fixes" which amount to the same thing - * Move system libpng & lcms patches back to 8u upstreamable section - * Make it clearer that "Non-OpenJDK fixes" is currently empty +- * Move ECC patches back to upstreamable section +- * Move system cacerts patches to upstreamable section +- * Merge "Local fixes" and "RPM fixes" which amount to the same thing +- * Move system libpng & lcms patches back to 8u upstreamable section +- * Make it clearer that "Non-OpenJDK fixes" is currently empty +- Resolves: rhbz#1633817 + +* Tue Nov 06 2018 Andrew Hughes - 1:1.8.0.191.b12-9 +- Bump release so y-stream is higher than z-stream. - Resolves: rhbz#1633817 * Mon Oct 29 2018 Jiri Vanek - 1:1.8.0.191.b12-8 - added Patch583 jdk8172850-rh1640127-01-register_allocator_crash.patch - added Patch584 jdk8209639-rh1640127-02-coalesce_attempted_spill_non_spillable.patch +- Resolves: rhbz#1633817 * Mon Oct 29 2018 Severin Gehwolf - 1:1.8.0.191.b12-7 - Add patch jdk8210425-rh1632174-03-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_zero.patch: - Annother fix for optimization gaps (annocheck issues) - Zero 8u version fix was missing. Hence, only shows up on Zero arches. +- Resolves: rhbz#1633817 * Mon Oct 29 2018 Severin Gehwolf - 1:1.8.0.191.b12-6 - Add fixes for optimization gaps (annocheck issues): @@ -2305,10 +2258,12 @@ require "copy_jdk_configs.lua" - 8210416: [linux] Poor StrictMath performance due to non-optimized compilation - 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization 8u upstream and aarch64/jdk8u upstream versions. +- Resolves: rhbz#1633817 * Mon Oct 29 2018 Severin Gehwolf - 1:1.8.0.191.b12-5 - Removed patch, rh1214835.patch, since it's invalid: See https://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2304#c3 +- Resolves: rhbz#1633817 * Mon Oct 29 2018 Severin Gehwolf - 1:1.8.0.191.b12-4 - Update(s) from upstreamed patches: @@ -2324,6 +2279,7 @@ require "copy_jdk_configs.lua" - Use --with-native-debug-symbols=internal which JDK-8036003 adds. - Remove comment for make invocation since it's no longer valid. --with-native-debug-symbols=internal will do everything we need. +- Resolves: rhbz#1633817 * Tue Oct 23 2018 Jiri Vanek - 1:1.8.0.191.b12-3 - cups moved to headful package