From e5f736ca26888862b99c6e340be023fa31ceb2e5 Mon Sep 17 00:00:00 2001 From: Jiri Date: Tue, 27 Mar 2018 17:49:36 +0200 Subject: [PATCH] Returned 8035496-hotspot.patch aarch64BuildFailure.patch --- 8035496-hotspot.patch | 30 ++++++++++++++++++++++++++++++ aarch64BuildFailure.patch | 14 ++++++++++++++ java-1.8.0-openjdk.spec | 5 ++++- 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 8035496-hotspot.patch create mode 100644 aarch64BuildFailure.patch diff --git a/8035496-hotspot.patch b/8035496-hotspot.patch new file mode 100644 index 0000000..426bdbe --- /dev/null +++ b/8035496-hotspot.patch @@ -0,0 +1,30 @@ +# HG changeset patch +# User bdelsart +# Date 1508481469 -28800 +# Fri Oct 20 14:37:49 2017 +0800 +# Node ID 111ed1a4719008b83bf427ae16bbeac2a7a516bc +# Parent 471de666658d7ec14c5d3f97076fb95f70dd6ffa +8035496: G1 ARM: missing remset entry noticed by VerifyAfterGC for vm/gc/concurrent/lp50yp10rp70mr30st0 +Summary: release_store used when registering a PerRegionTable. Also reviewed-by: vitalyd@gmail.com +Reviewed-by: jmasa, tschatzl, brutisso + +diff --git a/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp b/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp +--- openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp +@@ -514,7 +514,15 @@ + + PerRegionTable* first_prt = _fine_grain_regions[ind]; + prt->set_collision_list_next(first_prt); +- _fine_grain_regions[ind] = prt; ++ // The assignment into _fine_grain_regions allows the prt to ++ // start being used concurrently. In addition to ++ // collision_list_next which must be visible (else concurrent ++ // parsing of the list, if any, may fail to see other entries), ++ // the content of the prt must be visible (else for instance ++ // some mark bits may not yet seem cleared or a 'later' update ++ // performed by a concurrent thread could be undone when the ++ // zeroing becomes visible). This requires store ordering. ++ OrderAccess::release_store_ptr((volatile PerRegionTable*)&_fine_grain_regions[ind], prt); + _n_fine_entries++; + + if (G1HRRSUseSparseTable) { diff --git a/aarch64BuildFailure.patch b/aarch64BuildFailure.patch new file mode 100644 index 0000000..ccd2f49 --- /dev/null +++ b/aarch64BuildFailure.patch @@ -0,0 +1,14 @@ +diff -r 214a94e9366c src/cpu/aarch64/vm/nativeInst_aarch64.cpp +--- openjdk/hotspot/src/cpu/aarch64/vm/nativeInst_aarch64.cpp Mon Jul 17 12:11:32 2017 +0000 ++++ openjdk/hotspot/src/cpu/aarch64/vm/nativeInst_aarch64.cpp Mon Jul 24 16:23:14 2017 +0100 +@@ -343,7 +343,7 @@ + CodeBuffer cb(code_pos, instruction_size); + MacroAssembler a(&cb); + +- a.mov(rscratch1, entry); ++ a.movptr(rscratch1, (uintptr_t)entry); + a.br(rscratch1); + + ICache::invalidate_range(code_pos, instruction_size); + + diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index 4eb2447..34d6475 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -1084,6 +1084,8 @@ Patch201: system-libjpeg.patch # custom securities Patch207: PR3183.patch # ustreamed aarch64 fixes +Patch208: aarch64BuildFailure.patch +Patch209: 8035496-hotspot.patch Patch210: suse_linuxfilestore.patch # Local fixes @@ -1432,6 +1434,8 @@ sh %{SOURCE12} %patch205 %patch206 %patch207 +%patch208 +%patch209 %patch210 %patch1 @@ -2120,7 +2124,6 @@ require "copy_jdk_configs.lua" - 8181419/PR3413/RH1463144, 8145913/PR3466/RH1498309, - 8168318/PR3466/RH1498320, 8170328/PR3466/RR1498321 and - 8181810/PR3466/RH1498319. -- removed also 208 and 209 (aarch64BuildFailure.patch, 8035496-hotspot.patch) to preven aarch64 failure * Wed Mar 07 2018 Adam Williamson - 1:1.8.0.161-9.b14 - Rebuild to fix GCC 8 mis-compilation