Update to shenandoah-jdk-11.0.3+6 (April 2019 EA)

Drop JDK-8210416/RH1632174 applied upstream.
Drop JDK-8210425/RH1632174 applied upstream.
Drop JDK-8210647/RH1632174 applied upstream.
Drop JDK-8210761/RH1632174 applied upstream.
Drop JDK-8210703/RH1632174 applied upstream.
Add cast to resolve s390 ambiguity in call to log2_intptr
This commit is contained in:
Andrew Hughes 2019-04-18 05:27:24 +01:00
parent 19a00b350c
commit b6dd2fcf75
9 changed files with 29 additions and 220 deletions

1
.gitignore vendored
View File

@ -6,3 +6,4 @@
/shenandoah-jdk11-shenandoah-jdk-11.0.1+13.tar.xz /shenandoah-jdk11-shenandoah-jdk-11.0.1+13.tar.xz
/shenandoah-jdk11-shenandoah-jdk-11.0.1+13-20190101.tar.xz /shenandoah-jdk11-shenandoah-jdk-11.0.1+13-20190101.tar.xz
/shenandoah-jdk11-shenandoah-jdk-11.0.2+7.tar.xz /shenandoah-jdk11-shenandoah-jdk-11.0.2+7.tar.xz
/shenandoah-jdk11-shenandoah-jdk-11.0.3+6.tar.xz

View File

@ -206,7 +206,7 @@
# New Version-String scheme-style defines # New Version-String scheme-style defines
%global majorver 11 %global majorver 11
%global securityver 2 %global securityver 3
# buildjdkver is usually same as %%{majorver}, # buildjdkver is usually same as %%{majorver},
# but in time of bootstrap of next jdk, it is majorver-1, # but in time of bootstrap of next jdk, it is majorver-1,
# and this it is better to change it here, on single place # and this it is better to change it here, on single place
@ -228,7 +228,7 @@
%global origin_nice OpenJDK %global origin_nice OpenJDK
%global top_level_dir_name %{origin} %global top_level_dir_name %{origin}
%global minorver 0 %global minorver 0
%global buildver 7 %global buildver 6
#%%global tagsuffix "" #%%global tagsuffix ""
# priority must be 8 digits in total; untill openjdk 1.8 we were using 18..... so when moving to 11 we had to add another digit # priority must be 8 digits in total; untill openjdk 1.8 we were using 18..... so when moving to 11 we had to add another digit
%if %is_system_jdk %if %is_system_jdk
@ -946,7 +946,7 @@ Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
Name: java-%{javaver}-%{origin} Name: java-%{javaver}-%{origin}
Version: %{newjavaver}.%{buildver} Version: %{newjavaver}.%{buildver}
Release: 9%{?dist} Release: 0%{?dist}
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons # 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 # 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 # also included the epoch in their virtual provides. This created a
@ -1022,7 +1022,7 @@ Patch525: rh1022017-reduce_ssl_curves.patch
############################################# #############################################
# #
# Shenandaoh specific patches # Shenandoah specific patches
# #
############################################# #############################################
@ -1034,10 +1034,6 @@ Patch525: rh1022017-reduce_ssl_curves.patch
# #
############################################# #############################################
# 8210416, RHBZ#1632174: [linux] Poor StrictMath performance due to non-optimized compilation
Patch8: jdk8210416-rh1632174-compile_fdlibm_with_o2_ffp_contract_off_on_gcc_clang_arches.patch
# 8210425, RHBZ#1632174: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
Patch9: jdk8210425-rh1632174-sharedRuntimeTrig_sharedRuntimeTrans_compiled_without_optimization.patch
Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch
# PR3694, RH1340845: Add security.useSystemPropertiesFile option to java.security to use system crypto policy # PR3694, RH1340845: Add security.useSystemPropertiesFile option to java.security to use system crypto policy
Patch4: pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch Patch4: pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch
@ -1047,6 +1043,8 @@ Patch5: pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_s
Patch6: rh1566890-CVE_2018_3639-speculative_store_bypass.patch Patch6: rh1566890-CVE_2018_3639-speculative_store_bypass.patch
# PR3695: Allow use of system crypto policy to be disabled by the user # PR3695: Allow use of system crypto policy to be disabled by the user
Patch7: pr3695-toggle_system_crypto_policy.patch Patch7: pr3695-toggle_system_crypto_policy.patch
# S390 ambiguous log2_intptr call
Patch8: s390-8214206_fix.patch
############################################# #############################################
# #
@ -1054,19 +1052,6 @@ Patch7: pr3695-toggle_system_crypto_policy.patch
# #
############################################# #############################################
# 8210647, RHBZ#1632174: libsaproc is being compiled without optimization
Patch10: jdk8210647-rh1632174-libsaproc_is_being_compiled_without_optimization.patch
# 8210761, RHBZ#1632174: libjsig is being compiled without optimization
Patch11: jdk8210761-rh1632174-libjsig_is_being_compiled_without_optimization.patch
# 8210703, RHBZ#1632174: vmStructs.cpp compiled with -O0
Patch12: jdk8210703-rh1632174-vmStructs_cpp_no_longer_compiled_with_o0
#############################################
#
# Patches appearing in 11.0.2
#
#############################################
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
BuildRequires: alsa-lib-devel BuildRequires: alsa-lib-devel
@ -1318,10 +1303,6 @@ pushd %{top_level_dir_name}
%patch6 -p1 %patch6 -p1
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch525 -p1 %patch525 -p1
popd # openjdk popd # openjdk
@ -1875,6 +1856,15 @@ require "copy_jdk_configs.lua"
%changelog %changelog
* Sat Apr 06 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.3.6-0
- Update to shenandoah-jdk-11.0.3+6 (April 2019 EA)
- Drop JDK-8210416/RH1632174 applied upstream.
- Drop JDK-8210425/RH1632174 applied upstream.
- Drop JDK-8210647/RH1632174 applied upstream.
- Drop JDK-8210761/RH1632174 applied upstream.
- Drop JDK-8210703/RH1632174 applied upstream.
- Add cast to resolve s390 ambiguity in call to log2_intptr
* Thu Mar 21 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.2.7-9 * Thu Mar 21 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.2.7-9
- Add patch for RH1566890 - Add patch for RH1566890

View File

@ -1,84 +0,0 @@
# HG changeset patch
# User sgehwolf
# Date 1536142767 -7200
# Wed Sep 05 12:19:27 2018 +0200
# Node ID 7ea57274e55054579d1532e757edb21e67beed83
# Parent 3ee91722550680c18b977f0e00b1013323b5c9ef
8210416: [linux] Poor StrictMath performance due to non-optimized compilation
Summary: Compile fdlibm with -O2 -ffp-contract=off on gcc/clang arches.
Reviewed-by: aph, erikj, dholmes, darcy
diff --git a/make/autoconf/flags-cflags.m4 b/make/autoconf/flags-cflags.m4
--- a/make/autoconf/flags-cflags.m4
+++ b/make/autoconf/flags-cflags.m4
@@ -366,6 +366,18 @@
FLAGS_SETUP_CFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
+ COMPILER_FP_CONTRACT_OFF_FLAG="-ffp-contract=off"
+ # Check that the compiler supports -ffp-contract=off flag
+ # Set FDLIBM_CFLAGS to -ffp-contract=off if it does. Empty
+ # otherwise.
+ # These flags are required for GCC-based builds of
+ # fdlibm with optimization without losing precision.
+ # Notably, -ffp-contract=off needs to be added for GCC >= 4.6.
+ FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${COMPILER_FP_CONTRACT_OFF_FLAG}],
+ IF_TRUE: [FDLIBM_CFLAGS=${COMPILER_FP_CONTRACT_OFF_FLAG}],
+ IF_FALSE: [FDLIBM_CFLAGS=""])
+ AC_SUBST(FDLIBM_CFLAGS)
+
# Tests are only ever compiled for TARGET
CFLAGS_TESTLIB="$CFLAGS_JDKLIB"
CXXFLAGS_TESTLIB="$CXXFLAGS_JDKLIB"
diff --git a/make/autoconf/spec.gmk.in b/make/autoconf/spec.gmk.in
--- a/make/autoconf/spec.gmk.in
+++ b/make/autoconf/spec.gmk.in
@@ -444,6 +444,7 @@
LIBJSIG_HASHSTYLE_LDFLAGS := @LIBJSIG_HASHSTYLE_LDFLAGS@
LIBJSIG_NOEXECSTACK_LDFLAGS := @LIBJSIG_NOEXECSTACK_LDFLAGS@
+FDLIBM_CFLAGS := @FDLIBM_CFLAGS@
JVM_CFLAGS := @JVM_CFLAGS@
JVM_LDFLAGS := @JVM_LDFLAGS@
JVM_ASFLAGS := @JVM_ASFLAGS@
diff --git a/make/lib/CoreLibraries.gmk b/make/lib/CoreLibraries.gmk
--- a/make/lib/CoreLibraries.gmk
+++ b/make/lib/CoreLibraries.gmk
@@ -39,20 +39,15 @@
BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
endif
-ifeq ($(OPENJDK_TARGET_OS), linux)
- ifeq ($(OPENJDK_TARGET_CPU), ppc64)
- BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
- else ifeq ($(OPENJDK_TARGET_CPU), ppc64le)
- BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
- else ifeq ($(OPENJDK_TARGET_CPU), s390x)
- BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
- else ifeq ($(OPENJDK_TARGET_CPU), aarch64)
- BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
- endif
+# If FDLIBM_CFLAGS is non-empty we know that we can optimize
+# fdlibm by adding those extra C flags. Currently GCC,
+# and clang only.
+ifneq ($(FDLIBM_CFLAGS), )
+ BUILD_LIBFDLIBM_OPTIMIZATION := LOW
endif
LIBFDLIBM_SRC := $(TOPDIR)/src/java.base/share/native/libfdlibm
-LIBFDLIBM_CFLAGS := -I$(LIBFDLIBM_SRC)
+LIBFDLIBM_CFLAGS := -I$(LIBFDLIBM_SRC) $(FDLIBM_CFLAGS)
ifneq ($(OPENJDK_TARGET_OS), macosx)
$(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
@@ -64,10 +59,6 @@
CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
CFLAGS_windows_debug := -DLOGGING, \
CFLAGS_aix := -qfloat=nomaf, \
- CFLAGS_linux_ppc64 := -ffp-contract=off, \
- CFLAGS_linux_ppc64le := -ffp-contract=off, \
- CFLAGS_linux_s390x := -ffp-contract=off, \
- CFLAGS_linux_aarch64 := -ffp-contract=off, \
DISABLED_WARNINGS_gcc := sign-compare misleading-indentation array-bounds, \
DISABLED_WARNINGS_microsoft := 4146 4244 4018, \
ARFLAGS := $(ARFLAGS), \

View File

@ -1,48 +0,0 @@
# HG changeset patch
# User sgehwolf
# Date 1536682731 -7200
# Tue Sep 11 18:18:51 2018 +0200
# Node ID 7157249fdd4366d95dd68f3d083ebb0ef84c753b
# Parent 8d86b149e10f0a0896e5fd4d8d407e5fda64a529
8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
Reviewed-by: duke
diff --git a/make/hotspot/lib/JvmOverrideFiles.gmk b/make/hotspot/lib/JvmOverrideFiles.gmk
--- a/make/hotspot/lib/JvmOverrideFiles.gmk
+++ b/make/hotspot/lib/JvmOverrideFiles.gmk
@@ -43,20 +43,26 @@ ifeq ($(TOOLCHAIN_TYPE), gcc)
endif
endif
+LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NONE)
+# If the FDLIBM_CFLAGS variable is non-empty we know
+# that the fdlibm-fork in hotspot can get optimized
+# by using -ffp-contract=off on GCC/Clang platforms.
+ifneq ($(FDLIBM_CFLAGS), )
+ LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NORM)
+endif
+
ifeq ($(OPENJDK_TARGET_OS), linux)
BUILD_LIBJVM_ostream.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
BUILD_LIBJVM_logFileOutput.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
- ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
- BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := -DNO_PCH $(CXX_O_FLAG_NONE)
- BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := -DNO_PCH $(CXX_O_FLAG_NONE)
+ BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
+ BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
- ifeq ($(TOOLCHAIN_TYPE), clang)
- JVM_PRECOMPILED_HEADER_EXCLUDE := \
- sharedRuntimeTrig.cpp \
- sharedRuntimeTrans.cpp \
- #
- endif
+ ifeq ($(TOOLCHAIN_TYPE), clang)
+ JVM_PRECOMPILED_HEADER_EXCLUDE := \
+ sharedRuntimeTrig.cpp \
+ sharedRuntimeTrans.cpp \
+ #
endif
ifeq ($(OPENJDK_TARGET_CPU), x86)

View File

@ -1,21 +0,0 @@
# HG changeset patch
# User sgehwolf
# Date 1536751862 -7200
# Wed Sep 12 13:31:02 2018 +0200
# Node ID f95c6746fe256fe0456e0ea0d2930631ef840286
# Parent 7157249fdd4366d95dd68f3d083ebb0ef84c753b
8210647: libsaproc is being compiled without optimization
Reviewed-by: duke
diff --git a/make/lib/Lib-jdk.hotspot.agent.gmk b/make/lib/Lib-jdk.hotspot.agent.gmk
--- a/make/lib/Lib-jdk.hotspot.agent.gmk
+++ b/make/lib/Lib-jdk.hotspot.agent.gmk
@@ -52,7 +52,7 @@
$(eval $(call SetupJdkLibrary, BUILD_LIBSA, \
NAME := saproc, \
- OPTIMIZATION := NONE, \
+ OPTIMIZATION := LOW, \
DISABLED_WARNINGS_microsoft := 4267, \
DISABLED_WARNINGS_gcc := sign-compare, \
DISABLED_WARNINGS_CXX_solstudio := truncwarn unknownpragma, \

View File

@ -1,21 +0,0 @@
# HG changeset patch
# User sgehwolf
# Date 1536829660 -7200
# Thu Sep 13 11:07:40 2018 +0200
# Node ID 39ccca116f79139fc4b779f5df83cb32357b9ae9
# Parent 7512bd28304cf0dc5676247990f1907162c719ca
8210703: vmStructs.cpp compiled with -O0
Reviewed-by: duke
diff --git a/make/hotspot/lib/JvmOverrideFiles.gmk b/make/hotspot/lib/JvmOverrideFiles.gmk
--- a/make/hotspot/lib/JvmOverrideFiles.gmk
+++ b/make/hotspot/lib/JvmOverrideFiles.gmk
@@ -30,7 +30,7 @@
# status for individual files on specific platforms.
ifeq ($(TOOLCHAIN_TYPE), gcc)
- BUILD_LIBJVM_vmStructs.cpp_CXXFLAGS := -fno-var-tracking-assignments -O0
+ BUILD_LIBJVM_vmStructs.cpp_CXXFLAGS := -fno-var-tracking-assignments
BUILD_LIBJVM_jvmciCompilerToVM.cpp_CXXFLAGS := -fno-var-tracking-assignments
BUILD_LIBJVM_jvmciCompilerToVMInit.cpp_CXXFLAGS := -fno-var-tracking-assignments
BUILD_LIBJVM_assembler_x86.cpp_CXXFLAGS := -Wno-maybe-uninitialized

View File

@ -1,20 +0,0 @@
# HG changeset patch
# User sgehwolf
# Date 1537541916 -7200
# Fri Sep 21 16:58:36 2018 +0200
# Node ID cd8483acfe56ade257685d93323f78e6e13704a0
# Parent e40fa3a70efdbc22f85c0d30350189f632779831
8210761: libjsig is being compiled without optimization
Reviewed-by: duke
diff --git a/make/lib/Lib-java.base.gmk b/make/lib/Lib-java.base.gmk
--- a/make/lib/Lib-java.base.gmk
+++ b/make/lib/Lib-java.base.gmk
@@ -138,6 +138,7 @@
$(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \
NAME := jsig, \
+ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJSIG_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \

12
s390-8214206_fix.patch Normal file
View File

@ -0,0 +1,12 @@
diff --git openjdk.orig/jdk/src/hotspot/share/runtime/os.cpp openjdk/jdk/src/hotspot/share/runtime/os.cpp
--- openjdk.orig/src/hotspot/share/runtime/os.cpp
+++ openjdk/src/hotspot/share/runtime/os.cpp
@@ -1368,7 +1368,7 @@
}
void os::set_memory_serialize_page(address page) {
- int count = log2_intptr(sizeof(class JavaThread)) - log2_int(64);
+ int count = log2_intptr((uintptr_t) sizeof(class JavaThread)) - log2_int(64);
_mem_serialize_page = (volatile int32_t *)page;
// We initialize the serialization page shift count here
// We assume a cache line size of 64 bytes

View File

@ -1,2 +1,2 @@
SHA512 (systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz) = cf578221b77d8c7e019f69909bc86c419c5fb5e10bceba9592ff6e7f96887b0a7f07c9cefe90800975247a078785ca190fdec5c2d0f841bb447cee784b570f7d SHA512 (systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz) = cf578221b77d8c7e019f69909bc86c419c5fb5e10bceba9592ff6e7f96887b0a7f07c9cefe90800975247a078785ca190fdec5c2d0f841bb447cee784b570f7d
SHA512 (shenandoah-jdk11-shenandoah-jdk-11.0.2+7.tar.xz) = 787c7795f4b8dc7dc1b72a66af7c409f8e3fee010d19173eab0832f4d6db5b5c6f31b36cefe7df1971258963653e6e2174b80c0db792ae7577404a6d055e635c SHA512 (shenandoah-jdk11-shenandoah-jdk-11.0.3+6.tar.xz) = cf63bda8da614ea2efc11e8a638ba6b0767d50f398f67a564007871ddf0b1df8f188c0748d81573c263c91d6c122ec63380e9dfeef6f2b7519cc4d00431532ef