------------------------------------------------------------
revno: 704
committer: Matthias Klose <[email protected]>
branch nick: openjdk8
timestamp: Tue 2017-05-02 00:51:00 +0700
message:
openjdk-8 (8u131-b11-1) unstable; urgency=high
* Update to 8u131-b11, Hotspot 8u112-b12 for AArch64.
* Security fixes:
- S8167110, CVE-2017-3514: Windows peering issue.
- S8165626, CVE-2017-3512: Improved window framing.
- S8163528, CVE-2017-3511: Better library loading.
- S8169011, CVE-2017-3526: Resizing XML parse trees.
- S8163520, CVE-2017-3509: Reuse cache entries.
- S8171533, CVE-2017-3544: Better email transfer.
- S8170222, CVE-2017-3533: Better transfers of files.
- S8171121, CVE-2017-3539: Enhancing jar checking.
[ Tiago Stürmer Daitx ]
* d/p/jdk-ppc64el-S8165231.diff: fixes java.nio.Bits.unaligned() on
ppc64el. LP: #1677612.
* debian/buildwatch.sh: updated to stop it if no 'make' process is running,
as it probably means that the build failed - otherwise buildwatch keeps
the builder alive until it exits after the timer (3 hours by default)
expires.
removed:
debian/patches/sec-webrev-8u121-aarch64-hotspot-8159507.patch
debian/patches/sec-webrev-8u121-aarch64-hotspot-8161218.patch
debian/patches/sec-webrev-8u121-aarch64-hotspot-8167104.patch
added:
debian/patches/jdk-ppc64el-S8165231.diff
modified:
corba.tar.xz
debian/buildwatch.sh
debian/changelog
debian/rules
hotspot-aarch64.tar.xz
hotspot.tar.xz
jaxp.tar.xz
jaxws.tar.xz
jdk.tar.xz
langtools.tar.xz
nashorn.tar.xz
root.tar.xz
--
lp:~openjdk/openjdk/openjdk8
https://code.launchpad.net/~openjdk/openjdk/openjdk8
Your team Debian Java Maintainers is subscribed to branch
lp:~openjdk/openjdk/openjdk8.
To unsubscribe from this branch go to
https://code.launchpad.net/~openjdk/openjdk/openjdk8/+edit-subscription
=== modified file 'corba.tar.xz'
Binary files corba.tar.xz 2017-01-23 10:05:20 +0000 and corba.tar.xz 2017-05-01 17:51:00 +0000 differ
=== modified file 'debian/buildwatch.sh'
--- debian/buildwatch.sh 2014-05-29 08:50:43 +0000
+++ debian/buildwatch.sh 2017-05-01 17:51:00 +0000
@@ -1,40 +1,58 @@
#! /bin/sh
+#
+# Output something to stdout every so often so buildd won't kill
+# the build when building
+#
+
builddir=$1
echo $$ > buildwatch.pid
-maxwait=$(expr 180 \* 60)
-wait=$maxwait
-ival=$(expr 30 \* 60)
-#ival=3
-
-while [ $wait -gt 0 ]; do
- sleep $ival
- wait=$(expr $wait - $ival)
- state=
- if ps x | grep -v grep | egrep -qs '/cc1|jar|java|gij'; then
- state="compiler/java/jar running ..."
- wait=$maxwait
- fi
-
+time_unit="m"
+timer=0
+sleep_for=3
+time_up_at=180
+upd_every=30 # use a multiple of $sleep_for
+
+reset_timer() { timer=0; }
+inc_timer() { timer=$(expr $timer + $sleep_for); }
+time_up() { [ $timer -ge $time_up_at ]; }
+can_update() { [ $(expr $timer % $upd_every) -eq 0 ]; }
+do_sleep() { sleep ${sleep_for}${time_unit} && inc_timer; }
+
+is_running() {
+ ps x | grep -v grep | egrep -qs $@
+ return $?
+}
+
+while ! time_up; do
+ if [ ! -f buildwatch.pid ]; then
+ echo "[$0] pidfile removed" && break
+ fi
+ if ! is_running '/make'; then
+ echo "[$0] no make process detected (build done?)" && break
+ fi
+
+ do_sleep
+ can_update || continue
+
+ new_noisy=$(ls -l test/jtreg_output-* 2>&1 | md5sum)
new_quiet=$(ls -l $builddir/openjdk*/build/*/tmp/rt-orig.jar $builddir/openjdk*/build/*/lib/tools.jar $builddir/openjdk*/build/*/lib/ct.sym 2>&1 | md5sum)
- if [ "$old_quiet" != "$new_quiet" ]; then
- state="assembling jar file ..."
- wait=$maxwait
+ if [ -n "$old_noisy" -a "$old_noisy" != "$new_noisy" ]; then
+ # jtreg updated test files, so it should be updating stdout in its own
+ # keep quiet and restart timer
+ reset_timer
+ elif [ -n "$old_quiet" -a "$old_quiet" != "$new_quiet" ]; then
+ reset_timer
+ echo "[$0] assembling jar file ..."
+ elif is_running '/cc1|jar|java|gij'; then
+ echo "[$0] compiler/java/jar running ..."
+ reset_timer
fi
+ old_noisy=$new_noisy
old_quiet=$new_quiet
-
- new_noisy=$(ls -l $builddir/mauve-*/mauve_output* jtreg_output-* 2>&1 | md5sum)
- if [ "$old_noisy" != "$new_noisy" ]; then
- wait=$maxwait
- elif [ -n "$state" ]; then
- echo $state
- fi
- old_noisy=$new_noisy
-
- if [ ! -f buildwatch.pid ]; then
- echo "buildwatch exit"
- exit 0
- fi
done
+
+echo "[$0] exiting"
+rm -f buildwatch.pid
=== modified file 'debian/changelog'
--- debian/changelog 2017-04-16 07:23:46 +0000
+++ debian/changelog 2017-05-01 17:51:00 +0000
@@ -1,10 +1,38 @@
-openjdk-8 (8u121-b13-5) UNRELEASED; urgency=medium
-
+openjdk-8 (8u131-b11-1) unstable; urgency=high
+
+ * Update to 8u131-b11, Hotspot 8u112-b12 for AArch64.
+ * Security fixes:
+ - S8167110, CVE-2017-3514: Windows peering issue.
+ - S8165626, CVE-2017-3512: Improved window framing.
+ - S8163528, CVE-2017-3511: Better library loading.
+ - S8169011, CVE-2017-3526: Resizing XML parse trees.
+ - S8163520, CVE-2017-3509: Reuse cache entries.
+ - S8171533, CVE-2017-3544: Better email transfer.
+ - S8170222, CVE-2017-3533: Better transfers of files.
+ - S8171121, CVE-2017-3539: Enhancing jar checking.
+
+ [ Tiago Stürmer Daitx ]
+ * d/p/jdk-ppc64el-S8165231.diff: fixes java.nio.Bits.unaligned() on
+ ppc64el. LP: #1677612.
+ * debian/buildwatch.sh: updated to stop it if no 'make' process is running,
+ as it probably means that the build failed - otherwise buildwatch keeps
+ the builder alive until it exits after the timer (3 hours by default)
+ expires.
+
+ [ Matthias Klose ]
* openjdk-8-jre-headless: Add a break for tzdata-java. Closes: #857992.
* Use fonts-wqy-microhei and fonts-wqy-zenhei instead of transitional package
names. Closes: #859528.
- -- Matthias Klose <[email protected]> Sun, 16 Apr 2017 09:05:34 +0200
+ -- Matthias Klose <[email protected]> Mon, 01 May 2017 19:28:19 +0700
+
+openjdk-8 (8u121-b13-4.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * openjdk-8-jre-headless: Add Breaks: tzdata-java to ensure openjdk gets
+ upgraded on dist-upgrades from jessie. (Closes: #857992)
+
+ -- Andreas Beckmann <[email protected]> Tue, 18 Apr 2017 22:32:33 +0200
openjdk-8 (8u121-b13-4) unstable; urgency=medium
=== added file 'debian/patches/jdk-ppc64el-S8165231.diff'
--- debian/patches/jdk-ppc64el-S8165231.diff 1970-01-01 00:00:00 +0000
+++ debian/patches/jdk-ppc64el-S8165231.diff 2017-05-01 17:51:00 +0000
@@ -0,0 +1,48 @@
+# HG changeset patch
+# User horii
+# Date 1473905514 14400
+# Node ID 8d16f74380a78eb76cb33183a64440316393903e
+# Parent be698ac288484ab140715ee29ed9335e6ea8a33b
+8165231: java.nio.Bits.unaligned() doesn't return true on ppc
+Reviewed-by: simonis, coffeys
+
+diff -r be698ac28848 -r 8d16f74380a7 src/share/classes/java/nio/Bits.java
+--- openjdk/jdk/src/share/classes/java/nio/Bits.java Fri Sep 23 18:19:23 2016 +0000
++++ openjdk/jdk/src/share/classes/java/nio/Bits.java Wed Sep 14 22:11:54 2016 -0400
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+@@ -614,7 +614,8 @@
+ String arch = AccessController.doPrivileged(
+ new sun.security.action.GetPropertyAction("os.arch"));
+ unaligned = arch.equals("i386") || arch.equals("x86")
+- || arch.equals("amd64") || arch.equals("x86_64");
++ || arch.equals("amd64") || arch.equals("x86_64")
++ || arch.equals("ppc64") || arch.equals("ppc64le");
+ unalignedKnown = true;
+ return unaligned;
+ }
+diff -r be698ac28848 -r 8d16f74380a7 src/share/classes/sun/security/provider/ByteArrayAccess.java
+--- openjdk/jdk/src/share/classes/sun/security/provider/ByteArrayAccess.java Fri Sep 23 18:19:23 2016 +0000
++++ openjdk/jdk/src/share/classes/sun/security/provider/ByteArrayAccess.java Wed Sep 14 22:11:54 2016 -0400
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+@@ -94,7 +94,7 @@
+ String arch = java.security.AccessController.doPrivileged
+ (new sun.security.action.GetPropertyAction("os.arch", ""));
+ return arch.equals("i386") || arch.equals("x86") || arch.equals("amd64")
+- || arch.equals("x86_64");
++ || arch.equals("x86_64") || arch.equals("ppc64") || arch.equals("ppc64le");
+ }
+
+ /**
+
=== removed file 'debian/patches/sec-webrev-8u121-aarch64-hotspot-8159507.patch'
--- debian/patches/sec-webrev-8u121-aarch64-hotspot-8159507.patch 2017-01-23 10:17:38 +0000
+++ debian/patches/sec-webrev-8u121-aarch64-hotspot-8159507.patch 1970-01-01 00:00:00 +0000
@@ -1,109 +0,0 @@
-# HG changeset patch
-# User vkempik
-# Date 1470907059 -10800
-# Thu Aug 11 12:17:39 2016 +0300
-# Node ID fff265b310906946678b2efba34072f3af2131bd
-# Parent 57f957f4731d2fe04427afe6eddc8872611fbcf0
-8159507: RuntimeVisibleAnnotation validation
-Reviewed-by: rprotacio
-
---- a/hotspot/src/share/vm/classfile/classFileParser.cpp
-+++ b/hotspot/src/share/vm/classfile/classFileParser.cpp
-@@ -944,11 +944,12 @@ void ClassFileParser::parse_field_attrib
- runtime_visible_annotations_length = attribute_length;
- runtime_visible_annotations = cfs->get_u1_buffer();
- assert(runtime_visible_annotations != NULL, "null visible annotations");
-+ cfs->guarantee_more(runtime_visible_annotations_length, CHECK);
- parse_annotations(runtime_visible_annotations,
- runtime_visible_annotations_length,
- parsed_annotations,
- CHECK);
-- cfs->skip_u1(runtime_visible_annotations_length, CHECK);
-+ cfs->skip_u1_fast(runtime_visible_annotations_length);
- } else if (PreserveAllAnnotations && attribute_name == vmSymbols::tag_runtime_invisible_annotations()) {
- runtime_invisible_annotations_length = attribute_length;
- runtime_invisible_annotations = cfs->get_u1_buffer();
-@@ -1655,6 +1656,11 @@ int ClassFileParser::skip_annotation(u1*
- return index;
- }
-
-+// Safely increment index by val if does not pass limit
-+#define SAFE_ADD(index, limit, val) \
-+if (index >= limit - val) return limit; \
-+index += val;
-+
- // Skip an annotation value. Return >=limit if there is any problem.
- int ClassFileParser::skip_annotation_value(u1* buffer, int limit, int index) {
- // value := switch (tag:u1) {
-@@ -1665,19 +1671,19 @@ int ClassFileParser::skip_annotation_val
- // case @: annotation;
- // case s: s_con:u2;
- // }
-- if ((index += 1) >= limit) return limit; // read tag
-+ SAFE_ADD(index, limit, 1); // read tag
- u1 tag = buffer[index-1];
- switch (tag) {
- case 'B': case 'C': case 'I': case 'S': case 'Z':
- case 'D': case 'F': case 'J': case 'c': case 's':
-- index += 2; // skip con or s_con
-+ SAFE_ADD(index, limit, 2); // skip con or s_con
- break;
- case 'e':
-- index += 4; // skip e_class, e_name
-+ SAFE_ADD(index, limit, 4); // skip e_class, e_name
- break;
- case '[':
- {
-- if ((index += 2) >= limit) return limit; // read nval
-+ SAFE_ADD(index, limit, 2); // read nval
- int nval = Bytes::get_Java_u2(buffer+index-2);
- while (--nval >= 0 && index < limit) {
- index = skip_annotation_value(buffer, limit, index);
-@@ -1699,8 +1705,8 @@ void ClassFileParser::parse_annotations(
- ClassFileParser::AnnotationCollector* coll,
- TRAPS) {
- // annotations := do(nann:u2) {annotation}
-- int index = 0;
-- if ((index += 2) >= limit) return; // read nann
-+ int index = 2;
-+ if (index >= limit) return; // read nann
- int nann = Bytes::get_Java_u2(buffer+index-2);
- enum { // initial annotation layout
- atype_off = 0, // utf8 such as 'Ljava/lang/annotation/Retention;'
-@@ -1719,7 +1725,8 @@ void ClassFileParser::parse_annotations(
- s_size = 9,
- min_size = 6 // smallest possible size (zero members)
- };
-- while ((--nann) >= 0 && (index-2 + min_size <= limit)) {
-+ // Cannot add min_size to index in case of overflow MAX_INT
-+ while ((--nann) >= 0 && (index-2 <= limit - min_size)) {
- int index0 = index;
- index = skip_annotation(buffer, limit, index);
- u1* abase = buffer + index0;
-@@ -2324,10 +2331,11 @@ methodHandle ClassFileParser::parse_meth
- runtime_visible_annotations_length = method_attribute_length;
- runtime_visible_annotations = cfs->get_u1_buffer();
- assert(runtime_visible_annotations != NULL, "null visible annotations");
-+ cfs->guarantee_more(runtime_visible_annotations_length, CHECK_(nullHandle));
- parse_annotations(runtime_visible_annotations,
- runtime_visible_annotations_length, &parsed_annotations,
- CHECK_(nullHandle));
-- cfs->skip_u1(runtime_visible_annotations_length, CHECK_(nullHandle));
-+ cfs->skip_u1_fast(runtime_visible_annotations_length);
- } else if (PreserveAllAnnotations && method_attribute_name == vmSymbols::tag_runtime_invisible_annotations()) {
- runtime_invisible_annotations_length = method_attribute_length;
- runtime_invisible_annotations = cfs->get_u1_buffer();
-@@ -2953,11 +2961,12 @@ void ClassFileParser::parse_classfile_at
- runtime_visible_annotations_length = attribute_length;
- runtime_visible_annotations = cfs->get_u1_buffer();
- assert(runtime_visible_annotations != NULL, "null visible annotations");
-+ cfs->guarantee_more(runtime_visible_annotations_length, CHECK);
- parse_annotations(runtime_visible_annotations,
- runtime_visible_annotations_length,
- parsed_annotations,
- CHECK);
-- cfs->skip_u1(runtime_visible_annotations_length, CHECK);
-+ cfs->skip_u1_fast(runtime_visible_annotations_length);
- } else if (PreserveAllAnnotations && tag == vmSymbols::tag_runtime_invisible_annotations()) {
- runtime_invisible_annotations_length = attribute_length;
- runtime_invisible_annotations = cfs->get_u1_buffer();
=== removed file 'debian/patches/sec-webrev-8u121-aarch64-hotspot-8161218.patch'
--- debian/patches/sec-webrev-8u121-aarch64-hotspot-8161218.patch 2017-01-23 10:17:38 +0000
+++ debian/patches/sec-webrev-8u121-aarch64-hotspot-8161218.patch 1970-01-01 00:00:00 +0000
@@ -1,34 +0,0 @@
-# HG changeset patch
-# User shshahma
-# Date 1469535805 14400
-# Tue Jul 26 08:23:25 2016 -0400
-# Node ID b4b7e6bb414d8f79fa3ef266c039095c1163bfbc
-# Parent 5c22c4afdafb80d613797aae51a6b10351a90729
-8161218: Better bytecode loading
-Reviewed-by: acorn, mschoene, ctornqvi
-Contributed-by: [email protected]
-
---- a/hotspot/src/share/vm/classfile/verifier.cpp
-+++ b/hotspot/src/share/vm/classfile/verifier.cpp
-@@ -507,19 +507,13 @@ void ErrorContext::stackmap_details(outp
- stack_map_frame* sm_frame = sm_table->entries();
- streamIndentor si2(ss);
- int current_offset = -1;
-- // Subtract two from StackMapAttribute length because the length includes
-- // two bytes for number of table entries.
-- size_t sm_table_space = method->stackmap_data()->length() - 2;
-+ address end_of_sm_table = (address)sm_table + method->stackmap_data()->length();
- for (u2 i = 0; i < sm_table->number_of_entries(); ++i) {
- ss->indent();
-- size_t sm_frame_size = sm_frame->size();
-- // If the size of the next stackmap exceeds the length of the entire
-- // stackmap table then print a truncated message and return.
-- if (sm_frame_size > sm_table_space) {
-+ if (!sm_frame->verify((address)sm_frame, end_of_sm_table)) {
- sm_frame->print_truncated(ss, current_offset);
- return;
- }
-- sm_table_space -= sm_frame_size;
- sm_frame->print_on(ss, current_offset);
- ss->cr();
- current_offset += sm_frame->offset_delta();
=== removed file 'debian/patches/sec-webrev-8u121-aarch64-hotspot-8167104.patch'
--- debian/patches/sec-webrev-8u121-aarch64-hotspot-8167104.patch 2017-01-23 10:17:38 +0000
+++ debian/patches/sec-webrev-8u121-aarch64-hotspot-8167104.patch 1970-01-01 00:00:00 +0000
@@ -1,243 +0,0 @@
-# HG changeset patch
-# User kevinw
-# Date 1478123693 25200
-# Wed Nov 02 14:54:53 2016 -0700
-# Node ID 02a3d0dcbeddd8507d9a4b1f5a9f83aca75e5acb
-# Parent c7b69bdda4d76451da020996829d45d7880ed143
-8167104: Additional class construction refinements
-Reviewed-by: hseigel
-
---- a/hotspot/src/share/vm/classfile/stackMapFrame.cpp
-+++ b/hotspot/src/share/vm/classfile/stackMapFrame.cpp
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -155,47 +155,8 @@ int StackMapFrame::is_assignable_to(
- return i;
- }
-
--bool StackMapFrame::has_flag_match_exception(
-- const StackMapFrame* target) const {
-- // We allow flags of {UninitThis} to assign to {} if-and-only-if the
-- // target frame does not depend upon the current type.
-- // This is slightly too strict, as we need only enforce that the
-- // slots that were initialized by the <init> (the things that were
-- // UninitializedThis before initialize_object() converted them) are unused.
-- // However we didn't save that information so we'll enforce this upon
-- // anything that might have been initialized. This is a rare situation
-- // and javac never generates code that would end up here, but some profilers
-- // (such as NetBeans) might, when adding exception handlers in <init>
-- // methods to cover the invokespecial instruction. See 7020118.
--
-- assert(max_locals() == target->max_locals() &&
-- stack_size() == target->stack_size(), "StackMap sizes must match");
--
-- VerificationType top = VerificationType::top_type();
-- VerificationType this_type = verifier()->current_type();
--
-- if (!flag_this_uninit() || target->flags() != 0) {
-- return false;
-- }
--
-- for (int i = 0; i < target->locals_size(); ++i) {
-- if (locals()[i] == this_type && target->locals()[i] != top) {
-- return false;
-- }
-- }
--
-- for (int i = 0; i < target->stack_size(); ++i) {
-- if (stack()[i] == this_type && target->stack()[i] != top) {
-- return false;
-- }
-- }
--
-- return true;
--}
--
- bool StackMapFrame::is_assignable_to(
-- const StackMapFrame* target, bool is_exception_handler,
-- ErrorContext* ctx, TRAPS) const {
-+ const StackMapFrame* target, ErrorContext* ctx, TRAPS) const {
- if (_max_locals != target->max_locals()) {
- *ctx = ErrorContext::locals_size_mismatch(
- _offset, (StackMapFrame*)this, (StackMapFrame*)target);
-@@ -226,8 +187,7 @@ bool StackMapFrame::is_assignable_to(
- return false;
- }
-
-- bool match_flags = (_flags | target->flags()) == target->flags();
-- if (match_flags || is_exception_handler && has_flag_match_exception(target)) {
-+ if ((_flags | target->flags()) == target->flags()) {
- return true;
- } else {
- *ctx = ErrorContext::bad_flags(target->offset(),
---- a/hotspot/src/share/vm/classfile/stackMapFrame.hpp
-+++ b/hotspot/src/share/vm/classfile/stackMapFrame.hpp
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -167,8 +167,7 @@ class StackMapFrame : public ResourceObj
-
- // Return true if this stack map frame is assignable to target.
- bool is_assignable_to(
-- const StackMapFrame* target, bool is_exception_handler,
-- ErrorContext* ctx, TRAPS) const;
-+ const StackMapFrame* target, ErrorContext* ctx, TRAPS) const;
-
- inline void set_mark() {
- #ifdef ASSERT
-@@ -290,8 +289,6 @@ class StackMapFrame : public ResourceObj
- int is_assignable_to(
- VerificationType* src, VerificationType* target, int32_t len, TRAPS) const;
-
-- bool has_flag_match_exception(const StackMapFrame* target) const;
--
- TypeOrigin stack_top_ctx();
-
- void print_on(outputStream* str) const;
---- a/hotspot/src/share/vm/classfile/stackMapTable.cpp
-+++ b/hotspot/src/share/vm/classfile/stackMapTable.cpp
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -70,26 +70,25 @@ int StackMapTable::get_index_from_offset
-
- bool StackMapTable::match_stackmap(
- StackMapFrame* frame, int32_t target,
-- bool match, bool update, bool handler, ErrorContext* ctx, TRAPS) const {
-+ bool match, bool update, ErrorContext* ctx, TRAPS) const {
- int index = get_index_from_offset(target);
-- return match_stackmap(frame, target, index, match, update, handler, ctx, THREAD);
-+ return match_stackmap(frame, target, index, match, update, ctx, THREAD);
- }
-
- // Match and/or update current_frame to the frame in stackmap table with
- // specified offset and frame index. Return true if the two frames match.
--// handler is true if the frame in stackmap_table is for an exception handler.
- //
--// The values of match and update are: _match__update__handler
-+// The values of match and update are: _match__update
- //
--// checking a branch target: true false false
--// checking an exception handler: true false true
-+// checking a branch target: true false
-+// checking an exception handler: true false
- // linear bytecode verification following an
--// unconditional branch: false true false
-+// unconditional branch: false true
- // linear bytecode verification not following an
--// unconditional branch: true true false
-+// unconditional branch: true true
- bool StackMapTable::match_stackmap(
- StackMapFrame* frame, int32_t target, int32_t frame_index,
-- bool match, bool update, bool handler, ErrorContext* ctx, TRAPS) const {
-+ bool match, bool update, ErrorContext* ctx, TRAPS) const {
- if (frame_index < 0 || frame_index >= _frame_count) {
- *ctx = ErrorContext::missing_stackmap(frame->offset());
- frame->verifier()->verify_error(
-@@ -102,7 +101,7 @@ bool StackMapTable::match_stackmap(
- if (match) {
- // Has direct control flow from last instruction, need to match the two
- // frames.
-- result = frame->is_assignable_to(stackmap_frame, handler,
-+ result = frame->is_assignable_to(stackmap_frame,
- ctx, CHECK_VERIFY_(frame->verifier(), result));
- }
- if (update) {
-@@ -126,7 +125,7 @@ void StackMapTable::check_jump_target(
- StackMapFrame* frame, int32_t target, TRAPS) const {
- ErrorContext ctx;
- bool match = match_stackmap(
-- frame, target, true, false, false, &ctx, CHECK_VERIFY(frame->verifier()));
-+ frame, target, true, false, &ctx, CHECK_VERIFY(frame->verifier()));
- if (!match || (target < 0 || target >= _code_length)) {
- frame->verifier()->verify_error(ctx,
- "Inconsistent stackmap frames at branch target %d", target);
---- a/hotspot/src/share/vm/classfile/stackMapTable.hpp
-+++ b/hotspot/src/share/vm/classfile/stackMapTable.hpp
-@@ -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.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -77,12 +77,12 @@ class StackMapTable : public StackObj {
- // specified offset. Return true if the two frames match.
- bool match_stackmap(
- StackMapFrame* current_frame, int32_t offset,
-- bool match, bool update, bool handler, ErrorContext* ctx, TRAPS) const;
-+ bool match, bool update, ErrorContext* ctx, TRAPS) const;
- // Match and/or update current_frame to the frame in stackmap table with
- // specified offset and frame index. Return true if the two frames match.
- bool match_stackmap(
- StackMapFrame* current_frame, int32_t offset, int32_t frame_index,
-- bool match, bool update, bool handler, ErrorContext* ctx, TRAPS) const;
-+ bool match, bool update, ErrorContext* ctx, TRAPS) const;
-
- // Check jump instructions. Make sure there are no uninitialized
- // instances on backward branch.
---- a/hotspot/src/share/vm/classfile/verifier.cpp
-+++ b/hotspot/src/share/vm/classfile/verifier.cpp
-@@ -1817,7 +1817,7 @@ u2 ClassVerifier::verify_stackmap_table(
- // If matched, current_frame will be updated by this method.
- bool matches = stackmap_table->match_stackmap(
- current_frame, this_offset, stackmap_index,
-- !no_control_flow, true, false, &ctx, CHECK_VERIFY_(this, 0));
-+ !no_control_flow, true, &ctx, CHECK_VERIFY_(this, 0));
- if (!matches) {
- // report type error
- verify_error(ctx, "Instruction type does not match stack map");
-@@ -1864,7 +1864,7 @@ void ClassVerifier::verify_exception_han
- }
- ErrorContext ctx;
- bool matches = stackmap_table->match_stackmap(
-- new_frame, handler_pc, true, false, true, &ctx, CHECK_VERIFY(this));
-+ new_frame, handler_pc, true, false, &ctx, CHECK_VERIFY(this));
- if (!matches) {
- verify_error(ctx, "Stack map does not match the one at "
- "exception handler %d", handler_pc);
---- a/hotspot/test/runtime/handlerInTry/LoadHandlerInTry.java
-+++ b/hotspot/test/runtime/handlerInTry/LoadHandlerInTry.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -24,7 +24,7 @@
- /*
- * @test
- * @bug 8075118
-- * @summary Allow a ctor to call super() from a switch bytecode.
-+ * @summary JVM stuck in infinite loop during verification
- * @compile HandlerInTry.jasm
- * @compile IsolatedHandlerInTry.jasm
- * @run main/othervm -Xverify:all LoadHandlerInTry
-@@ -70,9 +70,10 @@ public class LoadHandlerInTry {
- System.out.println("Regression test for bug 8075118");
- try {
- Class newClass = Class.forName("HandlerInTry");
-- } catch (Exception e) {
-- System.out.println("Failed: Exception was thrown: " + e.toString());
-- throw e;
-+ throw new RuntimeException(
-+ "Failed to throw VerifyError for HandlerInTry");
-+ } catch (java.lang.VerifyError e) {
-+ System.out.println("Passed: VerifyError exception was thrown");
- }
-
- try {
=== modified file 'debian/rules'
--- debian/rules 2017-04-16 07:23:46 +0000
+++ debian/rules 2017-05-01 17:51:00 +0000
@@ -339,7 +339,7 @@
endif
endif
-ifneq (,$(filter $(DEB_HOST_ARCH), arm64 sparc64))
+ifneq (,$(filter $(DEB_HOST_ARCH), sparc64))
USE_PRECOMPILED_HEADER = 0
export USE_PRECOMPILED_HEADER
endif
@@ -396,6 +396,7 @@
jdk-ppc64el-S8170153.patch \
jdk-841269-filechooser.patch \
8164293.diff \
+ jdk-ppc64el-S8165231.diff \
# jdk-derived-font-size.diff \
# FIXME: update patches
@@ -422,12 +423,6 @@
hotspot-powerpcspe.diff \
zero-sh.diff
# FIXME zero-opt.diff
-else
- # aarch64 hotspot is still 8u112-b16
- COMMON_PATCHES += \
- sec-webrev-8u121-aarch64-hotspot-8159507.patch \
- sec-webrev-8u121-aarch64-hotspot-8161218.patch \
- sec-webrev-8u121-aarch64-hotspot-8167104.patch
endif
# FIXME needs an update:
@@ -1198,6 +1193,10 @@
JTREG_OPTIONS = -timeout:3
endif
+ifeq (,$(filter $(distrel),wheezy trusty))
+ JTREG_OPTIONS += -conc:auto
+endif
+
ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf))
JTREG_OPTIONS += -Xmx256M -vmoption:-Xmx256M
endif
@@ -1386,8 +1385,7 @@
touch $@
stamps/jtreg-check-jamvm: stamps/build stamps/xvfb-check
- ICEDTEA_JTREG_OTHERVM=-othervm \
- $(MAKE) -f debian/rules jtreg-run-check VMNAME=jamvm VMARGS='-vmoption:-jamvm' \
+ $(MAKE) -f debian/rules jtreg-run-check VMNAME=jamvm VMARGS='-vmoption:-jamvm' \
TEST_SUITES='hotspot langtools'
touch $@
@@ -1491,7 +1489,7 @@
mkdir -p test/hotspot/JTwork test/hotspot/JTreport
JT_JAVA=$(BOOTJDK_HOME) jtreg -v1 -a -ignore:quiet \
-w:test/hotspot/JTwork -r:test/hotspot/JTreport \
- -agentvm -conc:auto \
+ -agentvm \
-jdk:$(builddir)/$(sdkimg) \
$(JTREG_OPTIONS) \
$(CURDIR)/$(srcdir)/hotspot/test \
@@ -1501,8 +1499,7 @@
mkdir -p test/langtools/JTwork test/langtools/JTreport
JT_JAVA=$(BOOTJDK_HOME) jtreg -v1 -a -ignore:quiet \
-w:test/langtools/JTwork -r:test/langtools/JTreport \
- -agentvm -conc:auto \
- $${JTREG_OTHERVM:--samevm} \
+ -agentvm \
-jdk:$(builddir)/$(sdkimg) \
$(JTREG_OPTIONS) \
-exclude:debian/excludelist.langtools.jtx \
@@ -1519,8 +1516,7 @@
$(if $(DISPLAY),,$(XVFB_RUN_CMD)) \
JT_JAVA=$(BOOTJDK_HOME) jtreg -v1 -a -ignore:quiet \
-w:test/jdk/JTwork -r:test/jdk/JTreport \
- -agentvm -conc:auto \
- $${JTREG_OTHERVM:--samevm} \
+ -agentvm \
-jdk:$(builddir)/$(sdkimg) \
$(JTREG_OPTIONS) \
-exclude:debian/excludelist.jdk.jtx \
@@ -2277,14 +2273,14 @@
is_release =
is_release = yes
hg_project = jdk8u
-hg_tag = jdk8u121-b13
+hg_tag = jdk8u131-b11
package_version = $(subst jdk,,$(hg_tag))
ifneq ($(is_release),yes)
package_version := $(subst -,~,$(package_version))
endif
hg_url = http://hg.openjdk.java.net/jdk8u/$(hg_project)
hg_project_aarch64 = jdk8u
-hg_tag_aarch64 = aarch64-jdk8u112-b16
+hg_tag_aarch64 = aarch64-jdk8u131-b12
hg_url_aarch64 = http://hg.openjdk.java.net/aarch64-port/$(hg_project_aarch64)
origdir = ../openjdk-8-$(package_version).orig
get-orig:
=== modified file 'hotspot-aarch64.tar.xz'
Binary files hotspot-aarch64.tar.xz 2017-01-23 10:05:20 +0000 and hotspot-aarch64.tar.xz 2017-05-01 17:51:00 +0000 differ
=== modified file 'hotspot.tar.xz'
Binary files hotspot.tar.xz 2017-01-23 10:05:20 +0000 and hotspot.tar.xz 2017-05-01 17:51:00 +0000 differ
=== modified file 'jaxp.tar.xz'
Binary files jaxp.tar.xz 2017-01-23 10:05:20 +0000 and jaxp.tar.xz 2017-05-01 17:51:00 +0000 differ
=== modified file 'jaxws.tar.xz'
Binary files jaxws.tar.xz 2017-01-23 10:05:20 +0000 and jaxws.tar.xz 2017-05-01 17:51:00 +0000 differ
=== modified file 'jdk.tar.xz'
Binary files jdk.tar.xz 2017-01-23 10:05:20 +0000 and jdk.tar.xz 2017-05-01 17:51:00 +0000 differ
=== modified file 'langtools.tar.xz'
Binary files langtools.tar.xz 2017-01-23 10:05:20 +0000 and langtools.tar.xz 2017-05-01 17:51:00 +0000 differ
=== modified file 'nashorn.tar.xz'
Binary files nashorn.tar.xz 2017-01-23 10:05:20 +0000 and nashorn.tar.xz 2017-05-01 17:51:00 +0000 differ
=== modified file 'root.tar.xz'
Binary files root.tar.xz 2017-01-23 10:05:20 +0000 and root.tar.xz 2017-05-01 17:51:00 +0000 differ
__
This is the maintainer address of Debian's Java team
<http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers>.
Please use
[email protected] for discussions and questions.