Mercurial > hg > icedtea8
changeset 2919:c2328cdd73cc
Bump aarch32 to jdk8u222-b08-aarch32-190710.
Upstream changes:
- [aarch32] fix crash 'guarantee(sect->end() <= tend) failed: sanity'
- Remove debug output
- S7102541: RFE: os::set_native_thread_name() cleanups
- S8055814: [TESTBUG] runtime/NMT/NMTWithCDS.java fails with product builds due to missing UnlockDiagnosticVMOptions
- S8059575: JEP-JDK-8043304: Test task: Tiered Compilation level transition tests
- S8134030: test/serviceability/dcmd/gc/HeapDumpTest fails to verify the dump
- S8144332: HSDB could not terminate when close button is pushed.
- S8150013: ParNew: Prune nmethods scavengable list.
- S8151322: Implement os::set_native_thread_name() on Solaris
- S8151539: Remove duplicate AlwaysTrueClosures
- S8154156: PPC64: improve array copy stubs by using vector instructions
- S8158232: PPC64: improve byte, int and long array copy stubs by using VSX instructions
- S8166684: PPC64: implement intrinsic code with vector instructions for Unsafe.copyMemory()
- S8176100: [aarch32] [REDO][REDO] G1 Needs pre barrier on dereference of weak JNI handles
- S8176100: [REDO][REDO] G1 Needs pre barrier on dereference of weak JNI handles
- S8185969: PPC64: Improve VSR support to use up to 64 registers
- S8193830: Xalan Update: Xalan Java 2.7.2
- S8202414: Unsafe write after primitive array creation may result in array length change
- S8202884: SA: Attach/detach might fail on Linux if debugee application create/destroy threads during attaching
- S8209951: Problematic sparc intrinsic: com.sun.crypto.provider.CipherBlockChaining
- S8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
- S8210886: Remove references in xwindows.md to non-existent files.
- S8213213: Remove src/java.desktop/unix/classes/sun/awt/X11/keysym2ucs.h
- S8213825: assert(false) failed: Non-balanced monitor enter/exit! Likely JNI locking
- S8217315: Proper units should print more significant digits
- S8217597: [TESTBUG] old version docker does not support --cpus
- S8218020: Fix version number in mesa.md 3rd party legal file
- S8220495: Update GIFlib library to the 5.1.8
- S8220718: Missing ResourceMark in nmethod::metadata_do
- S8221355: Performance regression after JDK-8155635 backport into 8u
- S8222670: pathological case of JIT recompilation and code cache bloat
- S8223537: testlibrary_tests/ctw/ClassesListTest.java fails with Agent timeout frequently
- S8223664: Add jtreg tests for 8223528, backport to jdk8u of 8176100
- S8223883: Fix jni.cpp copyright date after 8223528
- S8225716: G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_preceding
ChangeLog:
2019-07-18 Andrew John Hughes <gnu_andrew@member.fsf.org>
Bump aarch32 to jdk8u222-b08-aarch32-190710.
* patches/hotspot/aarch32/8064786-pr3601.patch:
Removed, now that AArch32 is also using 8u222.
* Makefile.am:
(ICEDTEA_PATCHES): Remove 8064786/PR3601 from
AArch32 section and add 8223511.
* NEWS: Updated.
* hotspot.map.in: Bump aarch32 to
jdk8u222-b08-aarch32-190710.
* patches/hotspot/aarch32/6424123-pr3696.patch,
* patches/hotspot/aarch32/8141570-pr3548.patch,
* patches/hotspot/aarch32/8143245-pr3548.patch:
Change back to using symlinks to Shenandoah
versions now both are based on 8u222.
* patches/hotspot/aarch32/8223511.patch:
Backport of HotSpot security fix from 8u222-b09
which is not yet in the AArch32 repo.
author | Andrew John Hughes <gnu_andrew@member.fsf.org> |
---|---|
date | Thu, 18 Jul 2019 19:52:10 +0100 |
parents | c289e9719dd3 |
children | 511c08c29c8b |
files | ChangeLog Makefile.am NEWS hotspot.map.in patches/hotspot/aarch32/6424123-pr3696.patch patches/hotspot/aarch32/8064786-pr3601.patch patches/hotspot/aarch32/8141570-pr3548.patch patches/hotspot/aarch32/8143245-pr3548.patch patches/hotspot/aarch32/8223511.patch |
diffstat | 9 files changed, 78 insertions(+), 678 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Jul 18 11:43:51 2019 +0100 +++ b/ChangeLog Thu Jul 18 19:52:10 2019 +0100 @@ -1,3 +1,23 @@ +2019-07-18 Andrew John Hughes <gnu_andrew@member.fsf.org> + + Bump aarch32 to jdk8u222-b08-aarch32-190710. + * patches/hotspot/aarch32/8064786-pr3601.patch: + Removed, now that AArch32 is also using 8u222. + * Makefile.am: + (ICEDTEA_PATCHES): Remove 8064786/PR3601 from + AArch32 section and add 8223511. + * NEWS: Updated. + * hotspot.map.in: Bump aarch32 to + jdk8u222-b08-aarch32-190710. + * patches/hotspot/aarch32/6424123-pr3696.patch, + * patches/hotspot/aarch32/8141570-pr3548.patch, + * patches/hotspot/aarch32/8143245-pr3548.patch: + Change back to using symlinks to Shenandoah + versions now both are based on 8u222. + * patches/hotspot/aarch32/8223511.patch: + Backport of HotSpot security fix from 8u222-b09 + which is not yet in the AArch32 repo. + 2019-07-18 Andrew John Hughes <gnu_andrew@member.fsf.org> S8210425, PR3745: [AArch64]
--- a/Makefile.am Thu Jul 18 11:43:51 2019 +0100 +++ b/Makefile.am Thu Jul 18 19:52:10 2019 +0100 @@ -350,8 +350,8 @@ if WITH_AARCH32_HSBUILD ICEDTEA_PATCHES += \ patches/hotspot/$(HSBUILD)/pr3548-aarch32.patch \ - patches/hotspot/$(HSBUILD)/8064786-pr3601.patch \ - patches/hotspot/$(HSBUILD)/8078628-pr3208.patch + patches/hotspot/$(HSBUILD)/8078628-pr3208.patch \ + patches/hotspot/$(HSBUILD)/8223511.patch endif ICEDTEA_PATCHES += \
--- a/NEWS Thu Jul 18 11:43:51 2019 +0100 +++ b/NEWS Thu Jul 18 19:52:10 2019 +0100 @@ -376,6 +376,10 @@ - S8224671, PR3745: AArch64: mauve System.arraycopy test failure - S8224828, PR3745: aarch64: rflags is not correct after safepoint poll - S8224880, PR3745: AArch64: java/javac error with AllocatePrefetchDistance +* AArch32 port + - [aarch32] fix crash 'guarantee(sect->end() <= tend) failed: sanity' + - Remove debug output + - S8176100: [aarch32] [REDO][REDO] G1 Needs pre barrier on dereference of weak JNI handles New in release 3.12.0 (2019-05-01):
--- a/hotspot.map.in Thu Jul 18 11:43:51 2019 +0100 +++ b/hotspot.map.in Thu Jul 18 19:52:10 2019 +0100 @@ -1,4 +1,4 @@ # version type(drop/hg) url changeset sha256sum default drop https://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ ab8fadcbbde6 29592d513662e853f3156a7afb961eb805f92ea731469bbe1e9812365f573372 shenandoah drop https://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ ff69edbcd7ae 8a0708427aa38b75007f8e2cd663c475aa6de0c0aa7de1bfb245ba93115ef5ba -aarch32 drop https://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ 57f4048a925b 921202baed30726dc833c94817e07a4baa7d3b1e9129af032b09bd7f0e3bcfd1 +aarch32 drop https://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ 26d64a5c4b9a 68816570a5953d9b04f9b8b15f53f47f2ef4ea76bc16f9935bd94cebc07679c8
--- a/patches/hotspot/aarch32/6424123-pr3696.patch Thu Jul 18 11:43:51 2019 +0100 +++ b/patches/hotspot/aarch32/6424123-pr3696.patch Thu Jul 18 19:52:10 2019 +0100 @@ -1,446 +1,1 @@ -# HG changeset patch -# User zgu -# Date 1549941040 0 -# Tue Feb 12 03:10:40 2019 +0000 -# Node ID cfb34db6589e222d34e5b736b99ed4f69c261c4f -# Parent f8beb13aec9f8c291282ee8ec4473c8627aa7e07 -6424123, PR3696: JVM crashes on failed 'strdup' call -Summary: Calling os::malloc()/os::strdup() and new os::strdup_check_oom() instead of ::malloc()/::strdup() for native memory tracking purpose -Reviewed-by: coleenp, ctornqvi, kvn - -diff --git openjdk.orig/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp openjdk/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp ---- openjdk.orig/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp -+++ openjdk/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp -@@ -29,6 +29,7 @@ - #include "compiler/disassembler.hpp" - #include "memory/resourceArea.hpp" - #include "runtime/java.hpp" -+#include "runtime/os.hpp" - #include "runtime/stubCodeGenerator.hpp" - #include "utilities/defaultStream.hpp" - #include "vm_version_ppc.hpp" -@@ -116,7 +117,7 @@ - (has_vpmsumb() ? " vpmsumb" : "") - // Make sure number of %s matches num_features! - ); -- _features_str = strdup(buf); -+ _features_str = os::strdup(buf); - NOT_PRODUCT(if (Verbose) print_features();); - - // PPC64 supports 8-byte compare-exchange operations (see -diff --git openjdk.orig/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp openjdk/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp ---- openjdk.orig/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp -+++ openjdk/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp -@@ -26,6 +26,7 @@ - #include "asm/macroAssembler.inline.hpp" - #include "memory/resourceArea.hpp" - #include "runtime/java.hpp" -+#include "runtime/os.hpp" - #include "runtime/stubCodeGenerator.hpp" - #include "vm_version_sparc.hpp" - #ifdef TARGET_OS_FAMILY_linux -@@ -270,7 +271,7 @@ - (!has_hardware_fsmuld() ? ", no-fsmuld" : "")); - - // buf is started with ", " or is empty -- _features_str = strdup(strlen(buf) > 2 ? buf + 2 : buf); -+ _features_str = os::strdup(strlen(buf) > 2 ? buf + 2 : buf); - - // UseVIS is set to the smallest of what hardware supports and what - // the command line requires. I.e., you cannot set UseVIS to 3 on -@@ -485,7 +486,7 @@ - int VM_Version::parse_features(const char* implementation) { - int features = unknown_m; - // Convert to UPPER case before compare. -- char* impl = os::strdup(implementation); -+ char* impl = os::strdup_check_oom(implementation); - - for (int i = 0; impl[i] != 0; i++) - impl[i] = (char)toupper((uint)impl[i]); -diff --git openjdk.orig/hotspot/src/cpu/x86/vm/vm_version_x86.cpp openjdk/hotspot/src/cpu/x86/vm/vm_version_x86.cpp ---- openjdk.orig/hotspot/src/cpu/x86/vm/vm_version_x86.cpp -+++ openjdk/hotspot/src/cpu/x86/vm/vm_version_x86.cpp -@@ -27,6 +27,7 @@ - #include "asm/macroAssembler.inline.hpp" - #include "memory/resourceArea.hpp" - #include "runtime/java.hpp" -+#include "runtime/os.hpp" - #include "runtime/stubCodeGenerator.hpp" - #include "vm_version_x86.hpp" - #ifdef TARGET_OS_FAMILY_linux -@@ -527,7 +528,7 @@ - (supports_bmi1() ? ", bmi1" : ""), - (supports_bmi2() ? ", bmi2" : ""), - (supports_adx() ? ", adx" : "")); -- _features_str = strdup(buf); -+ _features_str = os::strdup(buf); - - // UseSSE is set to the smaller of what hardware supports and what - // the command line requires. I.e., you cannot set UseSSE to 2 on -diff --git openjdk.orig/hotspot/src/os/aix/vm/os_aix.cpp openjdk/hotspot/src/os/aix/vm/os_aix.cpp ---- openjdk.orig/hotspot/src/os/aix/vm/os_aix.cpp -+++ openjdk/hotspot/src/os/aix/vm/os_aix.cpp -@@ -56,6 +56,7 @@ - #include "runtime/mutexLocker.hpp" - #include "runtime/objectMonitor.hpp" - #include "runtime/orderAccess.inline.hpp" -+#include "runtime/os.hpp" - #include "runtime/osThread.hpp" - #include "runtime/perfMemory.hpp" - #include "runtime/sharedRuntime.hpp" -@@ -389,10 +390,10 @@ - // default should be 4K. - size_t data_page_size = SIZE_4K; - { -- void* p = ::malloc(SIZE_16M); -+ void* p = os::malloc(SIZE_16M, mtInternal); - guarantee(p != NULL, "malloc failed"); - data_page_size = os::Aix::query_pagesize(p); -- ::free(p); -+ os::free(p); - } - - // query default shm page size (LDR_CNTRL SHMPSIZE) -diff --git openjdk.orig/hotspot/src/os/aix/vm/porting_aix.cpp openjdk/hotspot/src/os/aix/vm/porting_aix.cpp ---- openjdk.orig/hotspot/src/os/aix/vm/porting_aix.cpp -+++ openjdk/hotspot/src/os/aix/vm/porting_aix.cpp -@@ -23,6 +23,8 @@ - */ - - #include "asm/assembler.hpp" -+#include "memory/allocation.inline.hpp" -+#include "runtime/os.hpp" - #include "loadlib_aix.hpp" - #include "porting_aix.hpp" - #include "utilities/debug.hpp" -@@ -82,7 +84,7 @@ - while (n) { - node* p = n; - n = n->next; -- free(p->v); -+ os::free(p->v); - delete p; - } - } -@@ -94,7 +96,7 @@ - } - } - node* p = new node; -- p->v = strdup(s); -+ p->v = os::strdup_check_oom(s); - p->next = first; - first = p; - return p->v; -diff --git openjdk.orig/hotspot/src/os/windows/vm/perfMemory_windows.cpp openjdk/hotspot/src/os/windows/vm/perfMemory_windows.cpp ---- openjdk.orig/hotspot/src/os/windows/vm/perfMemory_windows.cpp -+++ openjdk/hotspot/src/os/windows/vm/perfMemory_windows.cpp -@@ -29,6 +29,7 @@ - #include "oops/oop.inline.hpp" - #include "os_windows.inline.hpp" - #include "runtime/handles.inline.hpp" -+#include "runtime/os.hpp" - #include "runtime/perfMemory.hpp" - #include "services/memTracker.hpp" - #include "utilities/exceptions.hpp" -@@ -1388,7 +1389,7 @@ - // the file has been successfully created and the file mapping - // object has been created. - sharedmem_fileHandle = fh; -- sharedmem_fileName = strdup(filename); -+ sharedmem_fileName = os::strdup(filename); - - return fmh; - } -diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp openjdk/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp ---- openjdk.orig/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp -+++ openjdk/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp -@@ -30,6 +30,7 @@ - #include "c1/c1_MacroAssembler.hpp" - #include "c1/c1_ValueStack.hpp" - #include "ci/ciInstance.hpp" -+#include "runtime/os.hpp" - #ifdef TARGET_ARCH_x86 - # include "nativeInst_x86.hpp" - # include "vmreg_x86.inline.hpp" -@@ -880,7 +881,7 @@ - stringStream st; - st.print("bad oop %s at %d", r->as_Register()->name(), _masm->offset()); - #ifdef SPARC -- _masm->_verify_oop(r->as_Register(), strdup(st.as_string()), __FILE__, __LINE__); -+ _masm->_verify_oop(r->as_Register(), os::strdup(st.as_string(), mtCompiler), __FILE__, __LINE__); - #else - _masm->verify_oop(r->as_Register()); - #endif -diff --git openjdk.orig/hotspot/src/share/vm/classfile/classLoader.cpp openjdk/hotspot/src/share/vm/classfile/classLoader.cpp ---- openjdk.orig/hotspot/src/share/vm/classfile/classLoader.cpp -+++ openjdk/hotspot/src/share/vm/classfile/classLoader.cpp -@@ -324,7 +324,7 @@ - } - - LazyClassPathEntry::LazyClassPathEntry(const char* path, const struct stat* st, bool throw_exception) : ClassPathEntry() { -- _path = strdup(path); -+ _path = os::strdup_check_oom(path); - _st = *st; - _meta_index = NULL; - _resolved_entry = NULL; -@@ -332,6 +332,10 @@ - _throw_exception = throw_exception; - } - -+LazyClassPathEntry::~LazyClassPathEntry() { -+ os::free((void*) _path); -+} -+ - bool LazyClassPathEntry::is_jar_file() { - return ((_st.st_mode & S_IFREG) == S_IFREG); - } -@@ -538,7 +542,7 @@ - default: - { - if (!skipCurrentJar && cur_entry != NULL) { -- char* new_name = strdup(package_name); -+ char* new_name = os::strdup_check_oom(package_name); - boot_class_path_packages.append(new_name); - } - } -diff --git openjdk.orig/hotspot/src/share/vm/classfile/classLoader.hpp openjdk/hotspot/src/share/vm/classfile/classLoader.hpp ---- openjdk.orig/hotspot/src/share/vm/classfile/classLoader.hpp -+++ openjdk/hotspot/src/share/vm/classfile/classLoader.hpp -@@ -134,6 +134,8 @@ - bool is_jar_file(); - const char* name() { return _path; } - LazyClassPathEntry(const char* path, const struct stat* st, bool throw_exception); -+ virtual ~LazyClassPathEntry(); -+ - u1* open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS); - ClassFileStream* open_stream(const char* name, TRAPS); - void set_meta_index(MetaIndex* meta_index) { _meta_index = meta_index; } -diff --git openjdk.orig/hotspot/src/share/vm/compiler/compilerOracle.cpp openjdk/hotspot/src/share/vm/compiler/compilerOracle.cpp ---- openjdk.orig/hotspot/src/share/vm/compiler/compilerOracle.cpp -+++ openjdk/hotspot/src/share/vm/compiler/compilerOracle.cpp -@@ -33,6 +33,7 @@ - #include "oops/symbol.hpp" - #include "runtime/handles.inline.hpp" - #include "runtime/jniHandles.hpp" -+#include "runtime/os.hpp" - - class MethodMatcher : public CHeapObj<mtCompiler> { - public: -@@ -224,7 +225,7 @@ - const T value, MethodMatcher* next) : - MethodMatcher(class_name, class_mode, method_name, method_mode, signature, next), - _type(get_type_for<T>()), _value(copy_value<T>(value)) { -- _option = strdup(opt); -+ _option = os::strdup_check_oom(opt); - } - - ~TypedMethodOptionMatcher() { -diff --git openjdk.orig/hotspot/src/share/vm/opto/runtime.cpp openjdk/hotspot/src/share/vm/opto/runtime.cpp ---- openjdk.orig/hotspot/src/share/vm/opto/runtime.cpp -+++ openjdk/hotspot/src/share/vm/opto/runtime.cpp -@@ -1541,11 +1541,11 @@ - } - NamedCounter* c; - if (tag == NamedCounter::BiasedLockingCounter) { -- c = new BiasedLockingNamedCounter(strdup(st.as_string())); -+ c = new BiasedLockingNamedCounter(st.as_string()); - } else if (tag == NamedCounter::RTMLockingCounter) { -- c = new RTMLockingNamedCounter(strdup(st.as_string())); -+ c = new RTMLockingNamedCounter(st.as_string()); - } else { -- c = new NamedCounter(strdup(st.as_string()), tag); -+ c = new NamedCounter(st.as_string(), tag); - } - - // atomically add the new counter to the head of the list. We only -diff --git openjdk.orig/hotspot/src/share/vm/opto/runtime.hpp openjdk/hotspot/src/share/vm/opto/runtime.hpp ---- openjdk.orig/hotspot/src/share/vm/opto/runtime.hpp -+++ openjdk/hotspot/src/share/vm/opto/runtime.hpp -@@ -74,11 +74,17 @@ - - public: - NamedCounter(const char *n, CounterTag tag = NoTag): -- _name(n), -+ _name(n == NULL ? NULL : os::strdup(n)), - _count(0), - _next(NULL), - _tag(tag) {} - -+ ~NamedCounter() { -+ if (_name != NULL) { -+ os::free((void*)_name); -+ } -+ } -+ - const char * name() const { return _name; } - int count() const { return _count; } - address addr() { return (address)&_count; } -diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp -+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp -@@ -796,7 +796,7 @@ - } else { - *bldarray = REALLOC_C_HEAP_ARRAY(char*, *bldarray, new_count, mtInternal); - } -- (*bldarray)[*count] = strdup(arg); -+ (*bldarray)[*count] = os::strdup_check_oom(arg); - *count = new_count; - } - -@@ -2055,7 +2055,7 @@ - } - - void Arguments::process_java_launcher_argument(const char* launcher, void* extra_info) { -- _sun_java_launcher = strdup(launcher); -+ _sun_java_launcher = os::strdup_check_oom(launcher); - if (strcmp("gamma", _sun_java_launcher) == 0) { - _created_by_gamma_launcher = true; - } -@@ -3200,7 +3200,7 @@ - // Redirect GC output to the file. -Xloggc:<filename> - // ostream_init_log(), when called will use this filename - // to initialize a fileStream. -- _gc_log_filename = strdup(tail); -+ _gc_log_filename = os::strdup_check_oom(tail); - if (!is_filename_valid(_gc_log_filename)) { - jio_fprintf(defaultStream::output_stream(), - "Invalid file name for use with -Xloggc: Filename can only contain the " -diff --git openjdk.orig/hotspot/src/share/vm/runtime/fprofiler.cpp openjdk/hotspot/src/share/vm/runtime/fprofiler.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/fprofiler.cpp -+++ openjdk/hotspot/src/share/vm/runtime/fprofiler.cpp -@@ -628,10 +628,16 @@ - } - - vmNode(const char* name, const TickPosition where) : ProfilerNode() { -- _name = name; -+ _name = os::strdup(name); - update(where); - } - -+ ~vmNode() { -+ if (_name != NULL) { -+ os::free((void*)_name); -+ } -+ } -+ - const char *name() const { return _name; } - bool is_compiled() const { return true; } - -@@ -783,7 +789,7 @@ - assert(index >= 0, "Must be positive"); - // Note that we call strdup below since the symbol may be resource allocated - if (!table[index]) { -- table[index] = new (this) vmNode(os::strdup(name), where); -+ table[index] = new (this) vmNode(name, where); - } else { - ProfilerNode* prev = table[index]; - for(ProfilerNode* node = prev; node; node = node->next()) { -@@ -793,7 +799,7 @@ - } - prev = node; - } -- prev->set_next(new (this) vmNode(os::strdup(name), where)); -+ prev->set_next(new (this) vmNode(name, where)); - } - } - -diff --git openjdk.orig/hotspot/src/share/vm/runtime/os.cpp openjdk/hotspot/src/share/vm/runtime/os.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp -+++ openjdk/hotspot/src/share/vm/runtime/os.cpp -@@ -542,6 +542,14 @@ - } - - -+char* os::strdup_check_oom(const char* str, MEMFLAGS flags) { -+ char* p = os::strdup(str, flags); -+ if (p == NULL) { -+ vm_exit_out_of_memory(strlen(str) + 1, OOM_MALLOC_ERROR, "os::strdup_check_oom"); -+ } -+ return p; -+} -+ - - #define paranoid 0 /* only set to 1 if you suspect checking code has bug */ - -diff --git openjdk.orig/hotspot/src/share/vm/runtime/os.hpp openjdk/hotspot/src/share/vm/runtime/os.hpp ---- openjdk.orig/hotspot/src/share/vm/runtime/os.hpp -+++ openjdk/hotspot/src/share/vm/runtime/os.hpp -@@ -717,6 +717,8 @@ - static void free (void *memblock, MEMFLAGS flags = mtNone); - static bool check_heap(bool force = false); // verify C heap integrity - static char* strdup(const char *, MEMFLAGS flags = mtInternal); // Like strdup -+ // Like strdup, but exit VM when strdup() returns NULL -+ static char* strdup_check_oom(const char*, MEMFLAGS flags = mtInternal); - - #ifndef PRODUCT - static julong num_mallocs; // # of calls to malloc/realloc -diff --git openjdk.orig/hotspot/src/share/vm/runtime/vmStructs.cpp openjdk/hotspot/src/share/vm/runtime/vmStructs.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/vmStructs.cpp -+++ openjdk/hotspot/src/share/vm/runtime/vmStructs.cpp -@@ -51,6 +51,7 @@ - #include "interpreter/bytecodes.hpp" - #include "interpreter/interpreter.hpp" - #include "memory/allocation.hpp" -+#include "memory/allocation.inline.hpp" - #include "memory/cardTableRS.hpp" - #include "memory/defNewGeneration.hpp" - #include "memory/freeBlockDictionary.hpp" -@@ -92,6 +93,7 @@ - #include "runtime/globals.hpp" - #include "runtime/java.hpp" - #include "runtime/javaCalls.hpp" -+#include "runtime/os.hpp" - #include "runtime/perfMemory.hpp" - #include "runtime/serviceThread.hpp" - #include "runtime/sharedRuntime.hpp" -@@ -3301,14 +3303,14 @@ - } - } - if (strstr(typeName, " const") == typeName + len - 6) { -- char * s = strdup(typeName); -+ char * s = os::strdup_check_oom(typeName); - s[len - 6] = '\0'; - // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName); - if (recursiveFindType(origtypes, s, true) == 1) { -- free(s); -+ os::free(s); - return 1; - } -- free(s); -+ os::free(s); - } - if (!isRecurse) { - tty->print_cr("type \"%s\" not found", typeName); -diff --git openjdk.orig/hotspot/src/share/vm/services/management.cpp openjdk/hotspot/src/share/vm/services/management.cpp ---- openjdk.orig/hotspot/src/share/vm/services/management.cpp -+++ openjdk/hotspot/src/share/vm/services/management.cpp -@@ -1793,7 +1793,7 @@ - ResourceMark rm(THREAD); // thread->name() uses ResourceArea - - assert(thread->name() != NULL, "All threads should have a name"); -- _names_chars[_count] = strdup(thread->name()); -+ _names_chars[_count] = os::strdup(thread->name()); - _times->long_at_put(_count, os::is_thread_cpu_time_supported() ? - os::thread_cpu_time(thread) : -1); - _count++; -@@ -1811,7 +1811,7 @@ - - ThreadTimesClosure::~ThreadTimesClosure() { - for (int i = 0; i < _count; i++) { -- free(_names_chars[i]); -+ os::free(_names_chars[i]); - } - FREE_C_HEAP_ARRAY(char *, _names_chars, mtInternal); - } -diff --git openjdk.orig/hotspot/src/share/vm/shark/sharkBuilder.cpp openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp ---- openjdk.orig/hotspot/src/share/vm/shark/sharkBuilder.cpp -+++ openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp -@@ -413,7 +413,7 @@ - const char *name; - if (value->hasName()) - // XXX this leaks, but it's only debug code -- name = strdup(value->getName().str().c_str()); -+ name = os::strdup(value->getName().str().c_str()); - else - name = "unnamed_value"; - +../shenandoah/6424123-pr3696.patch \ No newline at end of file
--- a/patches/hotspot/aarch32/8064786-pr3601.patch Thu Jul 18 11:43:51 2019 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -# HG changeset patch -# User goetz -# Date 1415873641 -3600 -# Thu Nov 13 11:14:01 2014 +0100 -# Node ID 30520d5018b509b0ae68f5fcc9a5c540e3e5b2de -# Parent 533473c67de6ff767710594639033c8e83523fe5 -8064786, PR3601: Fix debug build after 8062808: Turn on the -Wreturn-type warning -Reviewed-by: stefank, tschatzl - -diff --git openjdk.orig/hotspot/src/share/vm/prims/jni.cpp openjdk/hotspot/src/share/vm/prims/jni.cpp ---- openjdk.orig/hotspot/src/share/vm/prims/jni.cpp -+++ openjdk/hotspot/src/share/vm/prims/jni.cpp -@@ -708,6 +708,7 @@ - - THROW_OOP_(JNIHandles::resolve(obj), JNI_OK); - ShouldNotReachHere(); -+ return 0; // Mute compiler. - JNI_END - - #ifndef USDT2 -@@ -734,6 +735,7 @@ - Handle protection_domain (THREAD, k->protection_domain()); - THROW_MSG_LOADER_(name, (char *)message, class_loader, protection_domain, JNI_OK); - ShouldNotReachHere(); -+ return 0; // Mute compiler. - JNI_END - -
--- a/patches/hotspot/aarch32/8141570-pr3548.patch Thu Jul 18 11:43:51 2019 +0100 +++ b/patches/hotspot/aarch32/8141570-pr3548.patch Thu Jul 18 19:52:10 2019 +0100 @@ -1,55 +1,1 @@ -# 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 --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 @@ - # --# 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 - - # The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized - OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) -@@ -42,5 +49,3 @@ - ifeq ($(ARCH_DATA_MODEL), 64) - CFLAGS += -D_LP64=1 - endif -- --OPT_CFLAGS/compactingPermGenGen.o = -O1 -diff --git 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 -+++ openjdk/hotspot/src/share/vm/runtime/java.cpp -@@ -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" +../shenandoah/8141570-pr3548.patch \ No newline at end of file
--- a/patches/hotspot/aarch32/8143245-pr3548.patch Thu Jul 18 11:43:51 2019 +0100 +++ b/patches/hotspot/aarch32/8143245-pr3548.patch Thu Jul 18 19:52:10 2019 +0100 @@ -1,146 +1,1 @@ -# 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-01-29 19:24:20.912427991 +0000 -+++ openjdk/hotspot/make/linux/makefiles/zeroshark.make 2019-01-29 19:28:51.204181986 +0000 -@@ -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 - - # The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized - OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) -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-01-16 07:13:59.000000000 +0000 -+++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp 2019-01-29 19:28:51.208181923 +0000 -@@ -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-01-16 07:13:59.000000000 +0000 -+++ openjdk/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp 2019-01-29 19:28:51.208181923 +0000 -@@ -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-01-16 07:13:59.000000000 +0000 -+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2019-01-29 19:29:06.931934919 +0000 -@@ -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-01-16 07:13:59.000000000 +0000 -+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp 2019-01-29 19:28:51.208181923 +0000 -@@ -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 +../shenandoah/8143245-pr3548.patch \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/aarch32/8223511.patch Thu Jul 18 19:52:10 2019 +0100 @@ -0,0 +1,48 @@ +# HG changeset patch +# User andrew +# Date 1562260843 -3600 +# Thu Jul 04 18:20:43 2019 +0100 +# Node ID 55f693ba975d445d83a59cc32367ec4c2452b0c5 +# Parent 9deea71d83dd9ddef034f11fdbde6bdcad96b74f +8223511: Extended AES support +Reviewed-by: phh, mbalao, bae + +diff --git openjdk.orig/hotspot/src/share/vm/classfile/vmSymbols.hpp openjdk/hotspot/src/share/vm/classfile/vmSymbols.hpp +--- openjdk.orig/hotspot/src/share/vm/classfile/vmSymbols.hpp ++++ openjdk/hotspot/src/share/vm/classfile/vmSymbols.hpp +@@ -832,21 +832,21 @@ + do_class(com_sun_crypto_provider_aescrypt, "com/sun/crypto/provider/AESCrypt") \ + do_intrinsic(_aescrypt_encryptBlock, com_sun_crypto_provider_aescrypt, encryptBlock_name, byteArray_int_byteArray_int_signature, F_R) \ + do_intrinsic(_aescrypt_decryptBlock, com_sun_crypto_provider_aescrypt, decryptBlock_name, byteArray_int_byteArray_int_signature, F_R) \ +- do_name( encryptBlock_name, "encryptBlock") \ +- do_name( decryptBlock_name, "decryptBlock") \ ++ do_name( encryptBlock_name, "implEncryptBlock") \ ++ do_name( decryptBlock_name, "implDecryptBlock") \ + do_signature(byteArray_int_byteArray_int_signature, "([BI[BI)V") \ + \ + do_class(com_sun_crypto_provider_cipherBlockChaining, "com/sun/crypto/provider/CipherBlockChaining") \ + do_intrinsic(_cipherBlockChaining_encryptAESCrypt, com_sun_crypto_provider_cipherBlockChaining, encrypt_name, byteArray_int_int_byteArray_int_signature, F_R) \ + do_intrinsic(_cipherBlockChaining_decryptAESCrypt, com_sun_crypto_provider_cipherBlockChaining, decrypt_name, byteArray_int_int_byteArray_int_signature, F_R) \ +- do_name( encrypt_name, "encrypt") \ +- do_name( decrypt_name, "decrypt") \ ++ do_name( encrypt_name, "implEncrypt") \ ++ do_name( decrypt_name, "implDecrypt") \ + do_signature(byteArray_int_int_byteArray_int_signature, "([BII[BI)I") \ + \ + /* support for sun.security.provider.SHA */ \ + do_class(sun_security_provider_sha, "sun/security/provider/SHA") \ + do_intrinsic(_sha_implCompress, sun_security_provider_sha, implCompress_name, implCompress_signature, F_R) \ +- do_name( implCompress_name, "implCompress") \ ++ do_name( implCompress_name, "implCompress0") \ + do_signature(implCompress_signature, "([BI)V") \ + \ + /* support for sun.security.provider.SHA2 */ \ +@@ -860,7 +860,7 @@ + /* support for sun.security.provider.DigestBase */ \ + do_class(sun_security_provider_digestbase, "sun/security/provider/DigestBase") \ + do_intrinsic(_digestBase_implCompressMB, sun_security_provider_digestbase, implCompressMB_name, implCompressMB_signature, F_R) \ +- do_name( implCompressMB_name, "implCompressMultiBlock") \ ++ do_name( implCompressMB_name, "implCompressMultiBlock0") \ + do_signature(implCompressMB_signature, "([BII)I") \ + \ + /* support for java.util.zip */ \