changeset 2928:ca21b2a88044

Bump shenandoah to aarch64-shenandoah-jdk8u232-b09. 2019-10-23 Andrew John Hughes <gnu_andrew@member.fsf.org> Bump shenandoah to aarch64-shenandoah-jdk8u232-b09. * patches/hotspot/shenandoah/8038392-rh1064383.patch, * patches/hotspot/shenandoah/8141570-pr3548.patch: Removed as applied upstream. * Makefile.am: (ICEDTEA_PATCHES): Move above patches to AArch32-only section. * NEWS: Updated. * hotspot.map.in: Bump shenandoah to aarch64-shenandoah-jdk8u232-b09. * patches/hotspot/aarch32/8038392-rh1064383.patch, * patches/hotspot/aarch32/8141570-pr3548.patch: Replace symlinks with copies of the Shenandoah versions, so the Shenandoah ones can be removed. * patches/hotspot/aarch32/8143245-pr3548.patch: Replace symlink with a copy of the Shenandoah version, so the Shenandoah one can be updated for 8u232-b09. * patches/hotspot/shenandoah/8143245-pr3548.patch: Adjust patch to apply against upstream version of 8141570.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Mon, 28 Oct 2019 15:24:42 +0000
parents 2fd362847d2d
children 3437f0481b40
files ChangeLog Makefile.am NEWS hotspot.map.in patches/hotspot/aarch32/8038392-rh1064383.patch patches/hotspot/aarch32/8141570-pr3548.patch patches/hotspot/aarch32/8143245-pr3548.patch patches/hotspot/shenandoah/8038392-rh1064383.patch patches/hotspot/shenandoah/8141570-pr3548.patch patches/hotspot/shenandoah/8143245-pr3548.patch
diffstat 10 files changed, 372 insertions(+), 153 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Oct 21 19:22:04 2019 +0100
+++ b/ChangeLog	Mon Oct 28 15:24:42 2019 +0000
@@ -1,3 +1,25 @@
+2019-10-23  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	Bump shenandoah to aarch64-shenandoah-jdk8u232-b09.
+	* patches/hotspot/shenandoah/8038392-rh1064383.patch,
+	* patches/hotspot/shenandoah/8141570-pr3548.patch:
+	Removed as applied upstream.
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Move above patches to AArch32-only
+	section.
+	* NEWS: Updated.
+	* hotspot.map.in: Bump shenandoah to
+	aarch64-shenandoah-jdk8u232-b09.
+	* patches/hotspot/aarch32/8038392-rh1064383.patch,
+	* patches/hotspot/aarch32/8141570-pr3548.patch:
+	Replace symlinks with copies of the Shenandoah versions, so the
+	Shenandoah ones can be removed.
+	* patches/hotspot/aarch32/8143245-pr3548.patch:
+	Replace symlink with a copy of the Shenandoah version, so the
+	Shenandoah one can be updated for 8u232-b09.
+	* patches/hotspot/shenandoah/8143245-pr3548.patch:
+	Adjust patch to apply against upstream version of 8141570.
+
 2019-10-17  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
 	PR3748: dev-java/icedtea-3.12.0 fails to build with
--- a/Makefile.am	Mon Oct 21 19:22:04 2019 +0100
+++ b/Makefile.am	Mon Oct 28 15:24:42 2019 +0000
@@ -353,11 +353,12 @@
 	patches/hotspot/$(HSBUILD)/8078628-pr3208.patch \
 	patches/hotspot/$(HSBUILD)/8187667-pr3517-readdir_r.patch \
 	patches/hotspot/$(HSBUILD)/8196978-pr3517-gcc_4_pragmas.patch \
-	patches/hotspot/$(HSBUILD)/8223511.patch
+	patches/hotspot/$(HSBUILD)/8223511.patch \
+	patches/hotspot/$(HSBUILD)/8038392-rh1064383.patch \
+	patches/hotspot/$(HSBUILD)/8141570-pr3548.patch
 endif
 
 ICEDTEA_PATCHES += \
-	patches/hotspot/$(HSBUILD)/8038392-rh1064383.patch \
 	patches/hotspot/$(HSBUILD)/8041658.patch \
 	patches/hotspot/$(HSBUILD)/8087218-pr2740.patch \
 	patches/hotspot/$(HSBUILD)/8158260-pr2991-rh1341258.patch \
@@ -372,7 +373,6 @@
 	patches/hotspot/$(HSBUILD)/werror.patch \
 	patches/hotspot/$(HSBUILD)/8043780-pr3368.patch \
 	patches/hotspot/$(HSBUILD)/8062808-pr3548.patch \
-	patches/hotspot/$(HSBUILD)/8141570-pr3548.patch \
 	patches/hotspot/$(HSBUILD)/8143245-pr3548.patch \
 	patches/hotspot/$(HSBUILD)/pr3593.patch \
 	patches/hotspot/$(HSBUILD)/8197981-pr3548.patch \
--- a/NEWS	Mon Oct 21 19:22:04 2019 +0100
+++ b/NEWS	Mon Oct 28 15:24:42 2019 +0000
@@ -44,7 +44,61 @@
   - S8227018: CompletableFuture should not call Runtime.availableProcessors on fast path
   - S8228405: Incorrect format strings in PhaseIdealLoop::rc_predicate
 * Shenandoah
+  - [backport] 8230425: Shenandoah forces +UseNUMAInterleaving even after explicitly disabled
+  - Missing include precompiled.hpp in shenandoahSynchronizerIterator.cpp
+  - Protect lir_shenandoah_wb with INCLUDE_ALL_GCS
+  - Prune unneeded (jccb|jmpb)_if_possible
+  - Revert parts of x86_64.ad to 8u upstream state
+  - Revert Shenandoah/JDK8-only changes relating to MonitorInUseLists
+  - Revert Shenandoah-specific assert after JDK-8211926 landed
+  - S8038392: Generating prelink cache breaks JAVA 'jinfo' utility normal behaviour
+  - S8080157: assert(allocates2(pc)) failed: not in CodeBuffer memory
+  - S8087128: C2: Disallow definition split on MachCopySpill nodes
+  - S8141570: Fix Zero interpreter build for --disable-precompiled-headers
+  - S8143072: [JVMCI] Port JVMCI to AArch64
+  - S8147611: G1 - Missing memory barrier in start_cset_region_for_worker
+  - S8151066: assert(0 <= i && i < length()) failed: index out of bounds
+  - S8155951: VM crash in nsk/jvmti/RedefineClasses/StressRedefine: assert failed: Corrupted constant pool
+  - S8178870: instrumentation.retransformClasses cause coredump
+  - S8179954: AArch64: C1 and C2 volatile accesses are not sequentially consistent
+  - S8188868: PPC64: Support AES intrinsics on Big Endian
+  - S8202948: C2: assert(init_offset >= 0) failed: positive offset from object start
+  - S8205421: AARCH64: StubCodeMark should be placed after alignment
+  - S8206163: AArch64: incorrect code generation for StoreCM
+  - S8209420: Track membars for volatile accesses so they can be properly optimized
+  - S8211232: GraphKit::make_runtime_call() sometimes attaches wrong memory state to call
+  - S8211233: MemBarNode::trailing_membar() and MemBarNode::leading_membar() need to handle dying subgraphs better
+  - S8213134: AArch64: vector shift failed with MaxVectorSize=8
+  - S8214857: "bad trailing membar" assert failure at memnode.cpp:3220
+  - S8215265: C2: range check elimination may allow illegal out of bound access
+  - S8216350: AArch64: monitor unlock fast path not called
+  - S8217359: C2 compiler triggers SIGSEGV after transformation in ConvI2LNode::Ideal
+  - S8217676: Upgrade libpng to 1.6.37
+  - S8217785: Padding ParallelTaskTerminator::_offered_termination variable
+  - S8218201: Failures when vmIntrinsics::_getClass is not inlined
+  - S8219011: Implement MacroAssembler::warn method on AArch64
+  - S8219517: assert(false) failed: infinite loop in PhaseIterGVN::optimize
+  - S8222737: [TESTBUG] Allow for tier 1 like testing in OpenJDK 8u
+  - S8223177: Data race on JvmtiEnvBase::_tag_map in double-checked locking
+  - S8223227: Rename acquire_tag_map() to tag_map_acquire() in jvmtiEnvBase
+  - S8224580: Matcher can cause oop field/array element to be reloaded
+  - S8226607: Inconsistent info between pcsclite.md and MUSCLE headers
+  - S8226798: JVM crash in klassItable::initialize_itable_for_interface(int, InstanceKlass*, bool, Thread*)
+  - S8228400: Remove built-in AArch64 simulator
   - S8228406: Superfluous change in chaitin.hpp
+  - S8228593: Revert explicit JDK 7 support additions
+  - S8228716: Revert InstanceKlass::print_on debug additions
+  - S8228718: Revert incorrect backport of JDK-8129757 to 8-aarch64
+  - S8228725: AArch64: Purge method call format support
+  - S8228746: Revert incorrect StubRoutines::contains change
+  - S8228747: Revert "unused" attribute from test_arraycopy_func
+  - S8228767: Revert ResourceMark additions
+  - S8228770: Revert development hsdis changes
+  - S8229123: Revert build fixes for aarch64/zero
+  - S8229124: Revert disassembler.cpp changes
+  - S8229145: Revert TemplateTable::bytecode() visibility change
+  - S8231366: Shenandoah: Shenandoah String Dedup thread is not properly initialized
+  - S8231463: Fix runtime/RedefineTests/RedefineDoubleDelete.java test in 8u
 * AArch64 port
   - S8151775, PR3750: aarch64: add support for 8.1 LSE atomic operations
 
--- a/hotspot.map.in	Mon Oct 21 19:22:04 2019 +0100
+++ b/hotspot.map.in	Mon Oct 28 15:24:42 2019 +0000
@@ -1,4 +1,4 @@
 # version type(drop/hg) url changeset sha256sum
 default drop http://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ a8b62a7ca950 fa6cebbdcb0f781fa4a5469bd72e7094b7bec00ffbb90c26dc0c2ddc7b6754da
-shenandoah drop https://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ eaa9fc3d8b61 bf157a6e7261343042b56b7e767c706b1da0168f040bdb4d59e3aa85c367bd6f
+shenandoah drop https://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ 9e52f8d3b511 90f4871a86424df7ce47c1f603df8102207be0ae452b98c6b53c17ded45afcd6
 aarch32 drop https://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ 26d64a5c4b9a 68816570a5953d9b04f9b8b15f53f47f2ef4ea76bc16f9935bd94cebc07679c8
--- a/patches/hotspot/aarch32/8038392-rh1064383.patch	Mon Oct 21 19:22:04 2019 +0100
+++ b/patches/hotspot/aarch32/8038392-rh1064383.patch	Mon Oct 28 15:24:42 2019 +0000
@@ -1,1 +1,79 @@
-../shenandoah/8038392-rh1064383.patch
\ No newline at end of file
+# HG changeset patch
+# User andrew
+# Date 1400254787 -3600
+#      Fri May 16 16:39:47 2014 +0100
+# Node ID c2767d7216058484f87920557a3f9282506e5ce5
+# Parent  2b4f89de39c2c4fd09f927adacb3781454dbee44
+8038392: Generating prelink cache breaks JAVA 'jinfo' utility normal behavior
+Summary: See RH1064383 (https://bugzilla.redhat.com/show_bug.cgi?id=1064383)
+Contributed-by: Carlos Santos <casantos@redhat.com>
+
+diff -r 2b4f89de39c2 -r c2767d721605 agent/src/os/linux/ps_proc.c
+--- openjdk/hotspot/agent/src/os/linux/ps_proc.c	Thu Apr 24 16:21:06 2014 +0100
++++ openjdk/hotspot/agent/src/os/linux/ps_proc.c	Fri May 16 16:39:47 2014 +0100
+@@ -263,7 +263,7 @@
+ 
+ static bool read_lib_info(struct ps_prochandle* ph) {
+   char fname[32];
+-  char buf[256];
++  char buf[PATH_MAX];
+   FILE *fp = NULL;
+ 
+   sprintf(fname, "/proc/%d/maps", ph->pid);
+@@ -273,10 +273,52 @@
+     return false;
+   }
+ 
+-  while(fgets_no_cr(buf, 256, fp)){
+-    char * word[6];
+-    int nwords = split_n_str(buf, 6, word, ' ', '\0');
+-    if (nwords > 5 && find_lib(ph, word[5]) == false) {
++  while(fgets_no_cr(buf, PATH_MAX, fp)){
++    char * word[7];
++    int nwords = split_n_str(buf, 7, word, ' ', '\0');
++
++    if (nwords < 6) {
++      // not a shared library entry. ignore.
++      continue;
++    }
++
++    if (word[5][0] == '[') {
++        // not a shared library entry. ignore.
++      if (strncmp(word[5],"[stack",6) == 0) {
++        continue;
++      }
++      if (strncmp(word[5],"[heap]",6) == 0) {
++        continue;
++      }
++
++      // SA don't handle VDSO
++      if (strncmp(word[5],"[vdso]",6) == 0) {
++        continue;
++      }
++      if (strncmp(word[5],"[vsyscall]",6) == 0) {
++        continue;
++      }
++    }
++
++    if (nwords > 6) {
++      // prelink altered mapfile when the program is running.
++      // Entries like one below have to be skipped
++      //  /lib64/libc-2.15.so (deleted)
++      // SO name in entries like one below have to be stripped.
++      //  /lib64/libpthread-2.15.so.#prelink#.EECVts
++      char *s = strstr(word[5],".#prelink#");
++      if (s == NULL) {
++        // No prelink keyword. skip deleted library
++        print_debug("skip shared object %s deleted by prelink\n", word[5]);
++        continue;
++      }
++
++      // Fall through
++      print_debug("rectifing shared object name %s changed by prelink\n", word[5]);
++      *s = 0;
++    }
++
++    if (find_lib(ph, word[5]) == false) {
+        intptr_t base;
+        lib_info* lib;
+ #ifdef _LP64
--- a/patches/hotspot/aarch32/8141570-pr3548.patch	Mon Oct 21 19:22:04 2019 +0100
+++ b/patches/hotspot/aarch32/8141570-pr3548.patch	Mon Oct 28 15:24:42 2019 +0000
@@ -1,1 +1,55 @@
-../shenandoah/8141570-pr3548.patch
\ No newline at end of file
+# HG changeset patch
+# User coleenp
+# Date 1525713256 -3600
+#      Mon May 07 18:14:16 2018 +0100
+# Node ID bcbc64dfb629c5f188bbf59b8f986ad95963ed60
+# Parent  07a1135a327362f157955d470fad5df07cc35164
+8141570, PR3548: Fix Zero interpreter build for --disable-precompiled-headers
+Summary: change to include atomic.inline.hpp and allocation.inline.hpp only in .cpp files and some build fixes from Kim to build on ubuntu without devkits
+Reviewed-by: kbarrett, sgehwolf, erikj
+
+diff -Nru openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hotspot/make/linux/makefiles/zeroshark.make
+--- openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make	2019-07-11 03:20:53.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/zeroshark.make	2019-07-18 02:59:04.550133133 +0100
+@@ -1,5 +1,5 @@
+ #
+-# Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ # Copyright 2007, 2008 Red Hat, Inc.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ #
+@@ -25,8 +25,15 @@
+ 
+ # Setup common to Zero (non-Shark) and Shark versions of VM
+ 
+-# override this from the main file because some version of llvm do not like -Wundef
+-WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wunused-function -Wunused-value
++# Some versions of llvm do not like -Wundef
++ifeq ($(USE_CLANG), true)
++  WARNING_FLAGS += -Wno-undef
++endif
++# Suppress some warning flags that are normally turned on for hotspot,
++# because some of the zero code has not been updated accordingly.
++WARNING_FLAGS += -Wno-return-type \
++  -Wno-format-nonliteral -Wno-format-security \
++  -Wno-maybe-uninitialized
+ 
+ # 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
+-
+-OPT_CFLAGS/compactingPermGenGen.o = -O1
+diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/java.cpp openjdk/hotspot/src/share/vm/runtime/java.cpp
+--- openjdk.orig/hotspot/src/share/vm/runtime/java.cpp	2019-07-11 03:20:53.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/java.cpp	2019-07-18 02:58:37.142553196 +0100
+@@ -45,6 +45,7 @@
+ #include "runtime/arguments.hpp"
+ #include "runtime/biasedLocking.hpp"
+ #include "runtime/compilationPolicy.hpp"
++#include "runtime/deoptimization.hpp"
+ #include "runtime/fprofiler.hpp"
+ #include "runtime/init.hpp"
+ #include "runtime/interfaceSupport.hpp"
--- a/patches/hotspot/aarch32/8143245-pr3548.patch	Mon Oct 21 19:22:04 2019 +0100
+++ b/patches/hotspot/aarch32/8143245-pr3548.patch	Mon Oct 28 15:24:42 2019 +0000
@@ -1,1 +1,146 @@
-../shenandoah/8143245-pr3548.patch
\ No newline at end of file
+# HG changeset patch
+# User sgehwolf
+# Date 1525714161 -3600
+#      Mon May 07 18:29:21 2018 +0100
+# Node ID afb31413c73cbc06420fdb447aa90a7a38258904
+# Parent  bcbc64dfb629c5f188bbf59b8f986ad95963ed60
+8143245, PR3548: Zero build requires disabled warnings
+Reviewed-by: dholmes, coleenp
+
+diff -Nru openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hotspot/make/linux/makefiles/zeroshark.make
+--- openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make	2019-07-18 03:01:29.631909551 +0100
++++ openjdk/hotspot/make/linux/makefiles/zeroshark.make	2019-07-18 03:06:00.171763146 +0100
+@@ -1,5 +1,5 @@
+ #
+-# Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ # Copyright 2007, 2008 Red Hat, Inc.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ #
+@@ -29,11 +29,6 @@
+ ifeq ($(USE_CLANG), true)
+   WARNING_FLAGS += -Wno-undef
+ endif
+-# Suppress some warning flags that are normally turned on for hotspot,
+-# because some of the zero code has not been updated accordingly.
+-WARNING_FLAGS += -Wno-return-type \
+-  -Wno-format-nonliteral -Wno-format-security \
+-  -Wno-maybe-uninitialized
+ 
+ # 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 -Nru 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	2019-07-11 03:20:53.000000000 +0100
++++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp	2019-07-18 03:05:46.751968822 +0100
+@@ -100,7 +100,7 @@
+     case T_DOUBLE:
+     case T_VOID:
+       return result;
+-    default  : ShouldNotReachHere();
++    default  : ShouldNotReachHere(); return NULL_WORD;
+   }
+ }
+ 
+diff -Nru openjdk.orig/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp openjdk/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp
+--- openjdk.orig/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp	2019-07-11 03:20:53.000000000 +0100
++++ openjdk/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp	2019-07-18 03:05:46.751968822 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+  * Copyright 2007, 2008, 2010 Red Hat, Inc.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+@@ -62,7 +62,7 @@
+ }
+ 
+ void InterpreterRuntime::SignatureHandlerGeneratorBase::push(BasicType type) {
+-  ffi_type *ftype;
++  ffi_type *ftype = NULL;
+   switch (type) {
+   case T_VOID:
+     ftype = &ffi_type_void;
+diff -Nru 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	2019-07-11 03:20:53.000000000 +0100
++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	2019-07-18 03:05:46.751968822 +0100
+@@ -1,6 +1,6 @@
+ /*
+  * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+- * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
++ * Copyright 2016 Red Hat, Inc.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -61,6 +61,7 @@
+ 
+ frame os::get_sender_for_C_frame(frame* fr) {
+   ShouldNotCallThis();
++  return frame(NULL, NULL); // silence compile warning.
+ }
+ 
+ frame os::current_frame() {
+@@ -98,16 +99,19 @@
+ 
+ address os::Linux::ucontext_get_pc(ucontext_t* uc) {
+   ShouldNotCallThis();
++  return NULL; // silence compile warnings
+ }
+ 
+ ExtendedPC os::fetch_frame_from_context(void* ucVoid,
+                                         intptr_t** ret_sp,
+                                         intptr_t** ret_fp) {
+   ShouldNotCallThis();
++  return NULL; // silence compile warnings
+ }
+ 
+ frame os::fetch_frame_from_context(void* ucVoid) {
+   ShouldNotCallThis();
++  return frame(NULL, NULL); // silence compile warnings
+ }
+ 
+ extern "C" JNIEXPORT int
+@@ -247,11 +251,16 @@
+   }
+ #endif // !PRODUCT
+ 
+-  const char *fmt = "caught unhandled signal %d";
+   char buf[64];
+ 
+-  sprintf(buf, fmt, sig);
++  sprintf(buf, "caught unhandled signal %d", sig);
++
++// Silence -Wformat-security warning for fatal()
++PRAGMA_DIAG_PUSH
++PRAGMA_FORMAT_NONLITERAL_IGNORED
+   fatal(buf);
++PRAGMA_DIAG_POP
++  return true; // silence compiler warnings
+ }
+ 
+ void os::Linux::init_thread_fpu_state(void) {
+@@ -260,6 +269,7 @@
+ 
+ int os::Linux::get_fpu_control_word() {
+   ShouldNotCallThis();
++  return -1; // silence compile warnings
+ }
+ 
+ void os::Linux::set_fpu_control_word(int fpu) {
+diff -Nru openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp openjdk/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp
+--- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp	2019-07-11 03:20:53.000000000 +0100
++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp	2019-07-18 03:05:46.751968822 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+  * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+@@ -110,6 +110,7 @@
+                                            void* ucontext,
+                                            bool isInJava) {
+     ShouldNotCallThis();
++    return false; // silence compile warning
+   }
+ 
+   // These routines are only used on cpu architectures that
--- a/patches/hotspot/shenandoah/8038392-rh1064383.patch	Mon Oct 21 19:22:04 2019 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-# HG changeset patch
-# User andrew
-# Date 1400254787 -3600
-#      Fri May 16 16:39:47 2014 +0100
-# Node ID c2767d7216058484f87920557a3f9282506e5ce5
-# Parent  2b4f89de39c2c4fd09f927adacb3781454dbee44
-8038392: Generating prelink cache breaks JAVA 'jinfo' utility normal behavior
-Summary: See RH1064383 (https://bugzilla.redhat.com/show_bug.cgi?id=1064383)
-Contributed-by: Carlos Santos <casantos@redhat.com>
-
-diff -r 2b4f89de39c2 -r c2767d721605 agent/src/os/linux/ps_proc.c
---- openjdk/hotspot/agent/src/os/linux/ps_proc.c	Thu Apr 24 16:21:06 2014 +0100
-+++ openjdk/hotspot/agent/src/os/linux/ps_proc.c	Fri May 16 16:39:47 2014 +0100
-@@ -263,7 +263,7 @@
- 
- static bool read_lib_info(struct ps_prochandle* ph) {
-   char fname[32];
--  char buf[256];
-+  char buf[PATH_MAX];
-   FILE *fp = NULL;
- 
-   sprintf(fname, "/proc/%d/maps", ph->pid);
-@@ -273,10 +273,52 @@
-     return false;
-   }
- 
--  while(fgets_no_cr(buf, 256, fp)){
--    char * word[6];
--    int nwords = split_n_str(buf, 6, word, ' ', '\0');
--    if (nwords > 5 && find_lib(ph, word[5]) == false) {
-+  while(fgets_no_cr(buf, PATH_MAX, fp)){
-+    char * word[7];
-+    int nwords = split_n_str(buf, 7, word, ' ', '\0');
-+
-+    if (nwords < 6) {
-+      // not a shared library entry. ignore.
-+      continue;
-+    }
-+
-+    if (word[5][0] == '[') {
-+        // not a shared library entry. ignore.
-+      if (strncmp(word[5],"[stack",6) == 0) {
-+        continue;
-+      }
-+      if (strncmp(word[5],"[heap]",6) == 0) {
-+        continue;
-+      }
-+
-+      // SA don't handle VDSO
-+      if (strncmp(word[5],"[vdso]",6) == 0) {
-+        continue;
-+      }
-+      if (strncmp(word[5],"[vsyscall]",6) == 0) {
-+        continue;
-+      }
-+    }
-+
-+    if (nwords > 6) {
-+      // prelink altered mapfile when the program is running.
-+      // Entries like one below have to be skipped
-+      //  /lib64/libc-2.15.so (deleted)
-+      // SO name in entries like one below have to be stripped.
-+      //  /lib64/libpthread-2.15.so.#prelink#.EECVts
-+      char *s = strstr(word[5],".#prelink#");
-+      if (s == NULL) {
-+        // No prelink keyword. skip deleted library
-+        print_debug("skip shared object %s deleted by prelink\n", word[5]);
-+        continue;
-+      }
-+
-+      // Fall through
-+      print_debug("rectifing shared object name %s changed by prelink\n", word[5]);
-+      *s = 0;
-+    }
-+
-+    if (find_lib(ph, word[5]) == false) {
-        intptr_t base;
-        lib_info* lib;
- #ifdef _LP64
--- a/patches/hotspot/shenandoah/8141570-pr3548.patch	Mon Oct 21 19:22:04 2019 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-# HG changeset patch
-# User coleenp
-# Date 1525713256 -3600
-#      Mon May 07 18:14:16 2018 +0100
-# Node ID bcbc64dfb629c5f188bbf59b8f986ad95963ed60
-# Parent  07a1135a327362f157955d470fad5df07cc35164
-8141570, PR3548: Fix Zero interpreter build for --disable-precompiled-headers
-Summary: change to include atomic.inline.hpp and allocation.inline.hpp only in .cpp files and some build fixes from Kim to build on ubuntu without devkits
-Reviewed-by: kbarrett, sgehwolf, erikj
-
-diff -Nru openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hotspot/make/linux/makefiles/zeroshark.make
---- openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make	2019-07-11 03:20:53.000000000 +0100
-+++ openjdk/hotspot/make/linux/makefiles/zeroshark.make	2019-07-18 02:59:04.550133133 +0100
-@@ -1,5 +1,5 @@
- #
--# Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
-+# Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
- # Copyright 2007, 2008 Red Hat, Inc.
- # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- #
-@@ -25,8 +25,15 @@
- 
- # Setup common to Zero (non-Shark) and Shark versions of VM
- 
--# override this from the main file because some version of llvm do not like -Wundef
--WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wunused-function -Wunused-value
-+# Some versions of llvm do not like -Wundef
-+ifeq ($(USE_CLANG), true)
-+  WARNING_FLAGS += -Wno-undef
-+endif
-+# Suppress some warning flags that are normally turned on for hotspot,
-+# because some of the zero code has not been updated accordingly.
-+WARNING_FLAGS += -Wno-return-type \
-+  -Wno-format-nonliteral -Wno-format-security \
-+  -Wno-maybe-uninitialized
- 
- # 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
--
--OPT_CFLAGS/compactingPermGenGen.o = -O1
-diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/java.cpp openjdk/hotspot/src/share/vm/runtime/java.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/java.cpp	2019-07-11 03:20:53.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/runtime/java.cpp	2019-07-18 02:58:37.142553196 +0100
-@@ -45,6 +45,7 @@
- #include "runtime/arguments.hpp"
- #include "runtime/biasedLocking.hpp"
- #include "runtime/compilationPolicy.hpp"
-+#include "runtime/deoptimization.hpp"
- #include "runtime/fprofiler.hpp"
- #include "runtime/init.hpp"
- #include "runtime/interfaceSupport.hpp"
--- a/patches/hotspot/shenandoah/8143245-pr3548.patch	Mon Oct 21 19:22:04 2019 +0100
+++ b/patches/hotspot/shenandoah/8143245-pr3548.patch	Mon Oct 28 15:24:42 2019 +0000
@@ -8,8 +8,8 @@
 Reviewed-by: dholmes, coleenp
 
 diff -Nru openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hotspot/make/linux/makefiles/zeroshark.make
---- openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make	2019-07-18 03:01:29.631909551 +0100
-+++ openjdk/hotspot/make/linux/makefiles/zeroshark.make	2019-07-18 03:06:00.171763146 +0100
+--- openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make	2019-10-10 18:16:42.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/zeroshark.make	2019-10-24 04:00:14.945588968 +0100
 @@ -1,5 +1,5 @@
  #
 -# Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
@@ -18,7 +18,7 @@
  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  #
 @@ -29,11 +29,6 @@
- ifeq ($(USE_CLANG), true)
+ ifeq ($(JVM_VARIANT_ZEROSHARK), true)
    WARNING_FLAGS += -Wno-undef
  endif
 -# Suppress some warning flags that are normally turned on for hotspot,
@@ -26,12 +26,12 @@
 -WARNING_FLAGS += -Wno-return-type \
 -  -Wno-format-nonliteral -Wno-format-security \
 -  -Wno-maybe-uninitialized
+  
  
  # 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 -Nru 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	2019-07-11 03:20:53.000000000 +0100
-+++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp	2019-07-18 03:05:46.751968822 +0100
+--- openjdk.orig/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp	2019-10-10 18:16:42.000000000 +0100
++++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp	2019-10-24 03:59:57.009862016 +0100
 @@ -100,7 +100,7 @@
      case T_DOUBLE:
      case T_VOID:
@@ -42,8 +42,8 @@
  }
  
 diff -Nru openjdk.orig/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp openjdk/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp
---- openjdk.orig/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp	2019-07-11 03:20:53.000000000 +0100
-+++ openjdk/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp	2019-07-18 03:05:46.751968822 +0100
+--- openjdk.orig/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp	2019-10-10 18:16:42.000000000 +0100
++++ openjdk/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp	2019-10-24 03:59:57.009862016 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -61,8 +61,8 @@
    case T_VOID:
      ftype = &ffi_type_void;
 diff -Nru 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	2019-07-11 03:20:53.000000000 +0100
-+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	2019-07-18 03:05:46.751968822 +0100
+--- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	2019-10-10 18:16:42.000000000 +0100
++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	2019-10-24 03:59:57.009862016 +0100
 @@ -1,6 +1,6 @@
  /*
   * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
@@ -127,8 +127,8 @@
  
  void os::Linux::set_fpu_control_word(int fpu) {
 diff -Nru openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp openjdk/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp
---- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp	2019-07-11 03:20:53.000000000 +0100
-+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp	2019-07-18 03:05:46.751968822 +0100
+--- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp	2019-10-10 18:16:42.000000000 +0100
++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp	2019-10-24 03:59:57.009862016 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.