------------------------------------------------------------
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.

Reply via email to