diff --git a/.gitignore b/.gitignore index f382ea2..d8def8d 100644 --- a/.gitignore +++ b/.gitignore @@ -140,3 +140,4 @@ /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b04-shenandoah-merge-2019-04-30.tar.xz /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b01.tar.xz /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b02.tar.xz +/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b03.tar.xz diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index ef56e23..ade741c 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -217,7 +217,7 @@ # 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-b02 +%global shenandoah_revision aarch64-shenandoah-jdk8u222-b03 # Define old aarch64/jdk8u tree variables for compatibility %global project %{shenandoah_project} %global repo %{shenandoah_repo} @@ -1204,14 +1204,8 @@ 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 -# Upstream 8u part. -Patch623: jdk8210425-rh1632174-01-compile_with_o2_and_ffp_contract_off_as_for_fdlibm.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 -# 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization -# Zero part of the fix for (arm/s390 arches) -Patch625: jdk8210425-rh1632174-03-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_zero.patch # JDK-8223219: Backport of JDK-8199552 to OpenJDK 8 leads to duplicate -fstack-protector flags, # overriding --with-extra-cflags Patch626: jdk8223219-fstack-protector-root.patch @@ -1632,9 +1626,7 @@ sh %{SOURCE12} %patch575 %patch577 %patch620 -%patch623 %patch624 -%patch625 %patch626 %patch627 %patch110 @@ -2296,6 +2288,11 @@ require "copy_jdk_configs.lua" %endif %changelog +* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b03-0.0.ea +- Update to aarch64-shenandoah-jdk8u222-b03. +- 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. + * Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b02-0.0.ea - Update to aarch64-shenandoah-jdk8u222-b02. - Drop 8064786/PR3599 & 8210416/RH1632174 as applied upstream (8064786 silently in 8176100). diff --git a/jdk8141570-pr3548-fix_zero_interpreter_build_for_disable_precompiled_headers.patch b/jdk8141570-pr3548-fix_zero_interpreter_build_for_disable_precompiled_headers.patch index f1e3215..c9ef36b 100644 --- a/jdk8141570-pr3548-fix_zero_interpreter_build_for_disable_precompiled_headers.patch +++ b/jdk8141570-pr3548-fix_zero_interpreter_build_for_disable_precompiled_headers.patch @@ -34,9 +34,9 @@ diff --git openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hots + -Wno-format-nonliteral -Wno-format-security \ + -Wno-maybe-uninitialized - # The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized - OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) -@@ -42,5 +49,3 @@ + # If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to + # the compiler so as to be able to produce optimized objects +@@ -48,5 +55,3 @@ ifeq ($(ARCH_DATA_MODEL), 64) CFLAGS += -D_LP64=1 endif diff --git a/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch b/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch index b0a88ea..792b04a 100644 --- a/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch +++ b/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch @@ -8,6 +8,7 @@ Reviewed-by: dholmes, coleenp diff --git openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hotspot/make/linux/makefiles/zeroshark.make +diff --git openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hotspot/make/linux/makefiles/zeroshark.make --- openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make +++ openjdk/hotspot/make/linux/makefiles/zeroshark.make @@ -1,5 +1,5 @@ @@ -27,8 +28,8 @@ diff --git openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hots - -Wno-format-nonliteral -Wno-format-security \ - -Wno-maybe-uninitialized - # The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized - OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) + # If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to + # the compiler so as to be able to produce optimized objects diff --git openjdk.orig/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp --- openjdk.orig/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp +++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp @@ -60,7 +61,7 @@ diff --git openjdk.orig/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp openjdk/h switch (type) { case T_VOID: ftype = &ffi_type_void; -diff --git a/src/os_cpu/linux_zero/vm/os_linux_zero.cpp b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp +diff --git openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp --- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp +++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp @@ -1,6 +1,6 @@ diff --git a/jdk8210425-rh1632174-01-compile_with_o2_and_ffp_contract_off_as_for_fdlibm.patch b/jdk8210425-rh1632174-01-compile_with_o2_and_ffp_contract_off_as_for_fdlibm.patch deleted file mode 100644 index 0b05ba6..0000000 --- a/jdk8210425-rh1632174-01-compile_with_o2_and_ffp_contract_off_as_for_fdlibm.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git openjdk.orig/hotspot/make/linux/makefiles/amd64.make openjdk/hotspot/make/linux/makefiles/amd64.make ---- openjdk.orig/hotspot/make/linux/makefiles/amd64.make -+++ openjdk/hotspot/make/linux/makefiles/amd64.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 openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make ---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make -+++ openjdk/hotspot/make/linux/makefiles/gcc.make -@@ -225,6 +225,16 @@ - OPT_CFLAGS/SIZE=-Os - OPT_CFLAGS/SPEED=-O3 - -+ifeq ($(USE_CLANG),) -+ # Only GCC 4.6 and better have machine independent -ffp-contract=off. -+ # For other versions we need to explicitly set arch specific machine -+ # flags or keep optimization off for them. -+ ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 6 \) \))" "1" -+ OPT_CFLAGS_NO_FMA = -ffp-contract=off -+ endif -+endif -+ -+ - # Hotspot uses very unstrict aliasing turn this optimization off - # This option is added to CFLAGS rather than OPT_CFLAGS - # so that OPT_CFLAGS overrides get this option too. -diff --git openjdk.orig/hotspot/make/linux/makefiles/i486.make openjdk/hotspot/make/linux/makefiles/i486.make ---- openjdk.orig/hotspot/make/linux/makefiles/i486.make -+++ openjdk/hotspot/make/linux/makefiles/i486.make -@@ -24,10 +24,13 @@ - - # TLS helper, assembled from .s file - --# 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 openjdk.orig/hotspot/make/linux/makefiles/ppc64.make openjdk/hotspot/make/linux/makefiles/ppc64.make ---- openjdk.orig/hotspot/make/linux/makefiles/ppc64.make -+++ openjdk/hotspot/make/linux/makefiles/ppc64.make -@@ -49,3 +49,17 @@ - # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI. - CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string - endif -+ -+ifeq ($(OPT_CFLAGS_NO_FMA),) -+ ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),big) -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) -mno-fused-madd -fno-strict-aliasing -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) -mno-fused-madd -fno-strict-aliasing -+ else -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) -+ endif -+else -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+endif -+ diff --git a/jdk8210425-rh1632174-03-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_zero.patch b/jdk8210425-rh1632174-03-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_zero.patch deleted file mode 100644 index 6c1ebad..0000000 --- a/jdk8210425-rh1632174-03-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_zero.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- openjdk/hotspot/make/linux/makefiles/zeroshark.make -+++ openjdk/hotspot/make/linux/makefiles/zeroshark.make -@@ -30,10 +30,13 @@ ifeq ($(USE_CLANG), true) - WARNING_FLAGS += -Wno-undef - endif - --# 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 - - # Specify that the CPU is little endian, if necessary - ifeq ($(ZERO_ENDIANNESS), little) diff --git a/sources b/sources index 8e4f7c0..9e15789 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (tapsets-icedtea-3.11.0.tar.xz) = f98420b2f9d7a0fc0af3a7e6a817c4330169db9378d9c38db56b0dd8281a3f1ff7747b4da0c66194695ca85a470b7963902d863d301e5e290dbfe11f6b6f2b5e -SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b02.tar.xz) = f30a5e1b7dd3fb3d7648d7871889f3f859946e4889649662aa7d051f02c101747e13d3b1311f14a68b5952f9745e577ef57cef44f7b73f9ccb0341c74d4068ac +SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b03.tar.xz) = d7ca2c2b92ca21384c1a4f2f1f9a0335a941de4c24c6a54ce8a323ae0b61eb1ef9cb9d399cd9299841a1e9a2484375acb26db29fbd8b9b982b45d21442b88026