------------------------------------------------------------
revno: 680
committer: Matthias Klose <d...@ubuntu.com>
branch nick: openjdk8
timestamp: Tue 2016-08-02 09:53:25 +0200
message:
  openjdk-8 (8u102-b14.1-1) unstable; urgency=medium
  
    * Use the 8u101 tarballs instead of the 8u102 tarballs (inventing a fake
      version number).
  
   -- Matthias Klose <d...@ubuntu.com>  Mon, 01 Aug 2016 16:31:18 +0200
removed:
  debian/patches/8132051-aarch64.diff
  debian/patches/8132051-zero-aarch64.diff
renamed:
  debian/patches/8132051-zero-default.diff => debian/patches/8132051-zero.diff
modified:
  corba.tar.xz
  debian/changelog
  debian/control
  debian/control.in
  debian/patches/kfreebsd-support-hotspot.diff
  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	2016-07-25 18:28:26 +0000 and corba.tar.xz	2016-08-02 07:53:25 +0000 differ
=== modified file 'debian/changelog'
--- debian/changelog	2016-07-25 18:28:26 +0000
+++ debian/changelog	2016-08-02 07:53:25 +0000
@@ -1,6 +1,64 @@
+openjdk-8 (8u102-b14.1-1) unstable; urgency=medium
+
+  * Use the 8u101 tarballs instead of the 8u102 tarballs (inventing a fake
+    version number).
+
+ -- Matthias Klose <d...@ubuntu.com>  Mon, 01 Aug 2016 16:31:18 +0200
+
+openjdk-8 (8u102-b14-2) unstable; urgency=medium
+
+  * Update AArch64 and KFreeBSD patches.
+
+ -- Matthias Klose <d...@ubuntu.com>  Tue, 26 Jul 2016 13:00:12 +0200
+
 openjdk-8 (8u102-b14-1) unstable; urgency=medium
 
-  * Update to 8u101-b14.
+  * Update to 8u101-b14, including security fixes:
+  * IIOP Input Stream Hooking. CVE-2016-3458:
+    defaultReadObject is not forbidden in readObject in subclasses of
+    InputStreamHook which provides leverage to deserialize malicious objects
+    if a reference to the input stream can be obtained separately.
+  * Complete name checking. S8148872, CVE-2016-3500:
+    In some cases raw names in XML data are not checked for length limits
+    allowing for DoS attacks.
+  * Better delineation of XML processing. S8149962, CVE-2016-3508:
+    Denial of service measures do not take newline characters into account.
+    This can be used to conduct attacks like the billion laughs DoS.
+  * Coded byte streams. S8152479, CVE-2016-3550:
+    A fuzzed class file triggers an integer overflow in array access.
+  * Clean up lookup visibility. S8154475, CVE-2016-3587:
+    A fast path change allowed access to MH.invokeBasic via the public lookup
+    object. MH.iB does not do full type checking which can be used to create
+    type confusion.
+  * Bolster bytecode verification. S8155981, CVE-2016-3606:
+    The bytecode verifier checks that any classes' <init> method calls
+    super.<init> before returning. There is a way to bypass this requirement
+    which allows creating subclasses of classes that are not intended to be
+    extended.
+  * Persistent Parameter Processing. S8155985, CVE-2016-3598:
+    TOCTOU issue with types List passed into dropArguments() which can be used
+    to cause type confusion.
+  * Additional method handle validation. S8158571, CVE-2016-3610:
+    MHs.filterReturnValue does not check the filter parameter list size.
+    The single expected parameter is put in the last parameter position for
+    the filter MH allowing for type confusion.
+  * Enforce GCM limits. S8146514:
+    In GCM the counter should not be allowed to wrap (per the spec), since that
+    plus exposing the encrypted data could lead to leaking information.
+  * Construction of static protection domains. S8147771:
+    SubjectDomainCombiner does not honor the staticPermission field and will
+    create ProtectionDomains that vary with the system policy which may allow
+    unexpected permission sets.
+  * Share Class Data. S8150752:
+    Additional verification of AppCDS archives is required to prevent an
+    attacker from creating a type confusion situation.
+  * Enforce update ordering. S8149070:
+    If the GCM methods update() and updateAAD() are used out of order, the
+    security of the system can be weakened and an exception should be thrown
+    to warn the developer.
+  * Constrain AppCDS behavior. S8153312:
+    AppCDS does not create classloader constraints upon reloading classes
+    which could allow class spoofing under some circumstances.
 
  -- Matthias Klose <d...@ubuntu.com>  Fri, 24 Jun 2016 14:49:34 +0200
 

=== modified file 'debian/control'
--- debian/control	2016-07-25 10:34:32 +0000
+++ debian/control	2016-08-02 07:53:25 +0000
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: OpenJDK Team <open...@lists.launchpad.net>
 Uploaders: Matthias Klose <d...@ubuntu.com>
-Build-Depends: debhelper (>= 5), quilt, m4, lsb-release, zip, unzip,
+Build-Depends: debhelper (>= 9), quilt, m4, lsb-release, zip, unzip,
   sharutils, gawk, cpio, pkg-config, procps, wdiff, fastjar (>= 2:0.96-0ubuntu2),
   autoconf (>= 2.69), automake, autotools-dev, ant, ant-optional,  libtool,
   g++-5,
@@ -13,8 +13,8 @@
   zlib1g-dev, libattr1-dev, libpng-dev, libjpeg-dev, libgif-dev, libpulse-dev (>= 0.9.12) [!alpha], systemtap-sdt-dev [!sh4],
   libnss3-dev (>= 2:3.17.1), tzdata,
   mauve, jtreg, xvfb, xauth, xfonts-base, libgl1-mesa-dri [!x32], twm | metacity, twm | dbus-x11, x11-xkb-utils,
-  time, openjdk-8-jdk-headless <cross>,
-Standards-Version: 3.9.7
+  time, openjdk-8-jdk-headless <cross>, dpkg-dev (>= 1.17.14),
+Standards-Version: 3.9.8
 Homepage: http://openjdk.java.net/
 Vcs-Bzr: http://bazaar.launchpad.net/~openjdk/openjdk/openjdk8
 Vcs-Browser: https://code.launchpad.net/~openjdk/openjdk/openjdk8

=== modified file 'debian/control.in'
--- debian/control.in	2016-07-25 10:34:32 +0000
+++ debian/control.in	2016-08-02 07:53:25 +0000
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: OpenJDK Team <open...@lists.launchpad.net>
 Uploaders: Matthias Klose <d...@ubuntu.com>
-Build-Depends: debhelper (>= 5), quilt, m4, lsb-release, zip, unzip,
+Build-Depends: debhelper (>= 9), quilt, m4, lsb-release, zip, unzip,
   sharutils, gawk, cpio, pkg-config, procps, wdiff, @bd_fastjar@
   @bd_autotools@ @bd_ant@ @bd_cacao@ @bd_jamvm@
   @bd_gcc@
@@ -14,7 +14,7 @@
   @bd_nss@ @bd_tzdata@
   @bd_mauve@ @bd_jtreg@ @bd_xvfb@
   time, @bd_cross@
-Standards-Version: 3.9.7
+Standards-Version: 3.9.8
 Homepage: http://openjdk.java.net/
 Vcs-Bzr: http://bazaar.launchpad.net/~openjdk/openjdk/openjdk8
 Vcs-Browser: https://code.launchpad.net/~openjdk/openjdk/openjdk8

=== removed file 'debian/patches/8132051-aarch64.diff'
--- debian/patches/8132051-aarch64.diff	2016-04-21 14:59:28 +0000
+++ debian/patches/8132051-aarch64.diff	1970-01-01 00:00:00 +0000
@@ -1,248 +0,0 @@
-# HG changeset patch
-# User aph
-# Date 1460374398 0
-#      Mon Apr 11 11:33:18 2016 +0000
-# Node ID 388e9d0905e69727a15a94f825bdde17e2ed96d6
-# Parent  e2b90ce9a1d12eae1a8edbd34eacd9a9674e315b
-8132051: Better byte behavior
-Reviewed-by: adinn
-
-diff --git a/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp b/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp
---- openjdk/hotspot/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp
-+++ openjdk/hotspot/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp
-@@ -337,7 +337,7 @@
-     length.load_item();
- 
-   }
--  if (needs_store_check) {
-+  if (needs_store_check || x->check_boolean()) {
-     value.load_item();
-   } else {
-     value.load_for_store(x->elt_type());
-@@ -386,7 +386,8 @@
-     // Seems to be a precise
-     post_barrier(LIR_OprFact::address(array_addr), value.result());
-   } else {
--    __ move(value.result(), array_addr, null_check_info);
-+    LIR_Opr result = maybe_mask_boolean(x, array.result(), value.result(), null_check_info);
-+    __ move(result, array_addr, null_check_info);
-   }
- }
- 
-diff --git a/src/cpu/aarch64/vm/interp_masm_aarch64.cpp b/src/cpu/aarch64/vm/interp_masm_aarch64.cpp
---- openjdk/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp
-+++ openjdk/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp
-@@ -41,7 +41,43 @@
- #include "runtime/thread.inline.hpp"
- 
- 
--// Implementation of InterpreterMacroAssembler
-+void InterpreterMacroAssembler::narrow(Register result) {
-+
-+  // Get method->_constMethod->_result_type
-+  ldr(rscratch1, Address(rfp, frame::interpreter_frame_method_offset * wordSize));
-+  ldr(rscratch1, Address(rscratch1, Method::const_offset()));
-+  ldrb(rscratch1, Address(rscratch1, ConstMethod::result_type_offset()));
-+
-+  Label done, notBool, notByte, notChar;
-+
-+  // common case first
-+  cmpw(rscratch1, T_INT);
-+  br(Assembler::EQ, done);
-+
-+  // mask integer result to narrower return type.
-+  cmpw(rscratch1, T_BOOLEAN);
-+  br(Assembler::NE, notBool);
-+  andw(result, result, 0x1);
-+  b(done);
-+
-+  bind(notBool);
-+  cmpw(rscratch1, T_BYTE);
-+  br(Assembler::NE, notByte);
-+  sbfx(result, result, 0, 8);
-+  b(done);
-+
-+  bind(notByte);
-+  cmpw(rscratch1, T_CHAR);
-+  br(Assembler::NE, notChar);
-+  ubfx(result, result, 0, 16);  // truncate upper 16 bits
-+  b(done);
-+
-+  bind(notChar);
-+  sbfx(result, result, 0, 16);     // sign-extend short
-+
-+  // Nothing to do for T_INT
-+  bind(done);
-+}
- 
- #ifndef CC_INTERP
- 
-@@ -79,6 +115,7 @@
-                verify_oop(r0, state);               break;
-     case ltos: ldr(r0, val_addr);                   break;
-     case btos:                                   // fall through
-+    case ztos:                                   // fall through
-     case ctos:                                   // fall through
-     case stos:                                   // fall through
-     case itos: ldrw(r0, val_addr);                  break;
-@@ -312,6 +349,7 @@
-   switch (state) {
-   case atos: pop_ptr();                 break;
-   case btos:
-+  case ztos:
-   case ctos:
-   case stos:
-   case itos: pop_i();                   break;
-@@ -329,6 +367,7 @@
-   switch (state) {
-   case atos: push_ptr();                break;
-   case btos:
-+  case ztos:
-   case ctos:
-   case stos:
-   case itos: push_i();                  break;
-diff --git a/src/cpu/aarch64/vm/interp_masm_aarch64.hpp b/src/cpu/aarch64/vm/interp_masm_aarch64.hpp
---- openjdk/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp
-+++ openjdk/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp
-@@ -252,6 +252,9 @@
-   void update_mdp_by_constant(Register mdp_in, int constant);
-   void update_mdp_for_ret(Register return_bci);
- 
-+  // narrow int return value
-+  void narrow(Register result);
-+
-   void profile_taken_branch(Register mdp, Register bumped_count);
-   void profile_not_taken_branch(Register mdp);
-   void profile_call(Register mdp);
-diff --git a/src/cpu/aarch64/vm/templateTable_aarch64.cpp b/src/cpu/aarch64/vm/templateTable_aarch64.cpp
---- openjdk/hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp
-+++ openjdk/hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp
-@@ -233,6 +233,7 @@
-   switch (bc) {
-   case Bytecodes::_fast_aputfield:
-   case Bytecodes::_fast_bputfield:
-+  case Bytecodes::_fast_zputfield:
-   case Bytecodes::_fast_cputfield:
-   case Bytecodes::_fast_dputfield:
-   case Bytecodes::_fast_fputfield:
-@@ -1072,6 +1073,18 @@
-   // r1: index
-   // r3: array
-   index_check(r3, r1); // prefer index in r1
-+
-+  // Need to check whether array is boolean or byte
-+  // since both types share the bastore bytecode.
-+  __ load_klass(r2, r3);
-+  __ ldrw(r2, Address(r2, Klass::layout_helper_offset()));
-+  int diffbit = Klass::layout_helper_boolean_diffbit();
-+  __ andw(rscratch1, r2, diffbit);
-+  Label L_skip;
-+  __ cbzw(rscratch1, L_skip);
-+  __ andw(r0, r0, 1);  // if it is a T_BOOLEAN array, mask the stored value to 0/1
-+  __ bind(L_skip);
-+
-   __ lea(rscratch1, Address(r3, r1, Address::uxtw(0)));
-   __ strb(r0, Address(rscratch1,
- 		      arrayOopDesc::base_offset_in_bytes(T_BYTE)));
-@@ -2186,6 +2199,13 @@
-   if (_desc->bytecode() == Bytecodes::_return)
-     __ membar(MacroAssembler::StoreStore);
- 
-+  // Narrow result if state is itos but result type is smaller.
-+  // Need to narrow in the return bytecode rather than in generate_return_entry
-+  // since compiled code callers expect the result to already be narrowed.
-+  if (state == itos) {
-+    __ narrow(r0);
-+  }
-+
-   __ remove_activation(state);
-   __ ret(lr);
- }
-@@ -2395,7 +2415,7 @@
- 
-   const Address field(obj, off);
- 
--  Label Done, notByte, notInt, notShort, notChar,
-+  Label Done, notByte, notBool, notInt, notShort, notChar,
-               notLong, notFloat, notObj, notDouble;
- 
-   // x86 uses a shift and mask or wings it with a shift plus assert
-@@ -2415,6 +2435,20 @@
-   __ b(Done);
- 
-   __ bind(notByte);
-+  __ cmp(flags, ztos);
-+  __ br(Assembler::NE, notBool);
-+
-+  // ztos (same code as btos)
-+  __ ldrsb(r0, field);
-+  __ push(ztos);
-+  // Rewrite bytecode to be faster
-+  if (!is_static) {
-+    // use btos rewriting, no truncating to t/f bit is needed for getfield.
-+    patch_bytecode(Bytecodes::_fast_bgetfield, bc, r1);
-+  }
-+  __ b(Done);
-+
-+  __ bind(notBool);
-   __ cmp(flags, atos);
-   __ br(Assembler::NE, notObj);
-   // atos
-@@ -2606,7 +2640,7 @@
-   // field address
-   const Address field(obj, off);
- 
--  Label notByte, notInt, notShort, notChar,
-+  Label notByte, notBool, notInt, notShort, notChar,
-         notLong, notFloat, notObj, notDouble;
- 
-   // x86 uses a shift and mask or wings it with a shift plus assert
-@@ -2628,6 +2662,22 @@
-   }
- 
-   __ bind(notByte);
-+  __ cmp(flags, ztos);
-+  __ br(Assembler::NE, notBool);
-+
-+  // ztos
-+  {
-+    __ pop(ztos);
-+    if (!is_static) pop_and_check_object(obj);
-+    __ andw(r0, r0, 0x1);
-+    __ strb(r0, field);
-+    if (!is_static) {
-+      patch_bytecode(Bytecodes::_fast_zputfield, bc, r1, true, byte_no);
-+    }
-+    __ b(Done);
-+  }
-+
-+  __ bind(notBool);
-   __ cmp(flags, atos);
-   __ br(Assembler::NE, notObj);
- 
-@@ -2778,6 +2828,7 @@
-     switch (bytecode()) {          // load values into the jvalue object
-     case Bytecodes::_fast_aputfield: __ push_ptr(r0); break;
-     case Bytecodes::_fast_bputfield: // fall through
-+    case Bytecodes::_fast_zputfield: // fall through
-     case Bytecodes::_fast_sputfield: // fall through
-     case Bytecodes::_fast_cputfield: // fall through
-     case Bytecodes::_fast_iputfield: __ push_i(r0); break;
-@@ -2803,6 +2854,7 @@
-     switch (bytecode()) {             // restore tos values
-     case Bytecodes::_fast_aputfield: __ pop_ptr(r0); break;
-     case Bytecodes::_fast_bputfield: // fall through
-+    case Bytecodes::_fast_zputfield: // fall through
-     case Bytecodes::_fast_sputfield: // fall through
-     case Bytecodes::_fast_cputfield: // fall through
-     case Bytecodes::_fast_iputfield: __ pop_i(r0); break;
-@@ -2858,6 +2910,9 @@
-   case Bytecodes::_fast_iputfield:
-     __ strw(r0, field);
-     break;
-+  case Bytecodes::_fast_zputfield:
-+    __ andw(r0, r0, 0x1);  // boolean is true if LSB is 1
-+    // fall through to bputfield
-   case Bytecodes::_fast_bputfield:
-     __ strb(r0, field);
-     break;

=== removed file 'debian/patches/8132051-zero-aarch64.diff'
--- debian/patches/8132051-zero-aarch64.diff	2016-04-21 14:59:28 +0000
+++ debian/patches/8132051-zero-aarch64.diff	1970-01-01 00:00:00 +0000
@@ -1,74 +0,0 @@
-diff -r 388e9d0905e6 src/cpu/zero/vm/cppInterpreter_zero.cpp
---- openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp	Mon Apr 11 11:33:18 2016 +0000
-+++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp	Mon Apr 11 21:42:21 2016 +0100
-@@ -93,6 +93,7 @@
-     case T_SHORT:
-       return (intptr_t)(jshort)result;
-     case T_OBJECT:  // nothing to do fall through
-+    case T_ARRAY:
-     case T_LONG:
-     case T_INT:
-     case T_FLOAT:
-@@ -219,9 +219,16 @@
-   // Push our result
-   for (int i = 0; i < result_slots; i++) {
-     // Adjust result to smaller
--    intptr_t res = result[-i];
-+    union {
-+      intptr_t res;
-+      jint res_jint;
-+    };
-+    res = result[-i];
-     if (result_slots == 1) {
--      res = narrow(result_type_of(method), res);
-+      BasicType t = result_type_of(method);
-+      if (is_subword_type(t)) {
-+	res_jint = (jint)narrow(t, res_jint);
-+      }
-     }
-     stack->push(res);
-   }
-@@ -796,22 +797,10 @@
- }
- 
- BasicType CppInterpreter::result_type_of(Method* method) {
--  BasicType t;
--  switch (method->result_index()) {
--    case 0 : t = T_BOOLEAN; break;
--    case 1 : t = T_CHAR;    break;
--    case 2 : t = T_BYTE;    break;
--    case 3 : t = T_SHORT;   break;
--    case 4 : t = T_INT;     break;
--    case 5 : t = T_LONG;    break;
--    case 6 : t = T_VOID;    break;
--    case 7 : t = T_FLOAT;   break;
--    case 8 : t = T_DOUBLE;  break;
--    case 9 : t = T_OBJECT;  break;
--    default: ShouldNotReachHere();
--  }
--  assert(AbstractInterpreter::BasicType_as_index(t) == method->result_index(),
--         "out of step with AbstractInterpreter::BasicType_as_index");
-+  // Get method->_constMethod->_result_type
-+  u1 *p = ((unsigned char *)method->constMethod()
-+           + in_bytes(ConstMethod::result_type_offset()));
-+  BasicType t = (BasicType)*p;
-   return t;
- }
- 
-diff -r 388e9d0905e6 src/share/vm/interpreter/bytecodeInterpreter.cpp
---- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon Apr 11 11:33:18 2016 +0000
-+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon Apr 11 21:42:21 2016 +0100
-@@ -593,9 +593,10 @@
- /* 0xDC */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
- 
- /* 0xE0 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
--/* 0xE4 */ &&opc_default,     &&opc_fast_aldc,      &&opc_fast_aldc_w,  &&opc_return_register_finalizer,
--/* 0xE8 */ &&opc_invokehandle,&&opc_default,        &&opc_default,      &&opc_default,
--/* 0xEC */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
-+/* 0xE4 */ &&opc_default,     &&opc_default,        &&opc_fast_aldc,    &&opc_fast_aldc_w,
-+/* 0xE8 */ &&opc_return_register_finalizer,
-+                              &&opc_invokehandle,   &&opc_default,      &&opc_default,
-+/* 0xEC */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
- 
- /* 0xF0 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
- /* 0xF4 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,

=== renamed file 'debian/patches/8132051-zero-default.diff' => 'debian/patches/8132051-zero.diff'
=== modified file 'debian/patches/kfreebsd-support-hotspot.diff'
--- debian/patches/kfreebsd-support-hotspot.diff	2015-12-16 04:24:41 +0000
+++ debian/patches/kfreebsd-support-hotspot.diff	2016-08-02 07:53:25 +0000
@@ -118,7 +118,7 @@
  }
  
  julong os::physical_memory() {
-@@ -2171,18 +2191,22 @@ void os::print_memory_info(outputStream*
+@@ -2182,18 +2202,22 @@ void os::print_memory_info(outputStream*
    st->print("Memory:");
    st->print(" %dk page", os::vm_page_size()>>10);
  
@@ -448,7 +448,7 @@
 ===================================================================
 --- a/hotspot/make/defs.make
 +++ b/hotspot/make/defs.make
-@@ -167,9 +167,6 @@ endif
+@@ -179,9 +179,6 @@ endif
  # Windows should have OS predefined
  ifeq ($(OS),)
    OS   := $(shell uname -s)
@@ -458,7 +458,7 @@
    ifeq ($(OS), Darwin)
      OS=bsd
    endif
-@@ -195,6 +192,10 @@ else
+@@ -207,6 +204,10 @@ else
    OSNAME=linux
  endif
  
@@ -473,7 +473,7 @@
 ===================================================================
 --- a/hotspot/make/linux/Makefile
 +++ b/hotspot/make/linux/Makefile
-@@ -232,6 +232,9 @@ checks: check_os_version check_j2se_vers
+@@ -236,6 +236,9 @@ checks: check_os_version check_j2se_vers
  SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%
  OS_VERSION := $(shell uname -r)
  EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))
@@ -487,18 +487,24 @@
 ===================================================================
 --- a/hotspot/make/linux/makefiles/defs.make
 +++ b/hotspot/make/linux/makefiles/defs.make
-@@ -102,9 +102,9 @@ ifneq (,$(findstring $(ARCH), amd64 x86_
+@@ -84,7 +84,7 @@ ifneq (,$(findstring $(ARCH), sparc))
  endif
  
- # i686/i586 ie 32-bit x86
--ifneq (,$(findstring $(ARCH), i686 i586))
-+ifneq (,$(filter $(ARCH), i686 i586 i486 i386))
-   ARCH_DATA_MODEL  = 32
--  PLATFORM         = linux-i586
-+  PLATFORM         = linux_i486
-   VM_PLATFORM      = linux_i486
-   HS_ARCH          = x86
- endif
+ # i686/i586 and amd64/x86_64
+-ifneq (,$(findstring $(ARCH), amd64 x86_64 i686 i586))
++ifneq (,$(findstring $(ARCH), amd64 x86_64 i686 i586 i486 i386))
+   ifeq ($(ARCH_DATA_MODEL), 64)
+     ARCH_DATA_MODEL = 64
+     MAKE_ARGS       += LP64=1
+@@ -92,7 +92,7 @@ ifneq (,$(findstring $(ARCH), amd64 x86_
+     VM_PLATFORM     = linux_amd64
+   else
+     ARCH_DATA_MODEL = 32
+-    PLATFORM        = linux-i586
++    PLATFORM        = linux_i486
+     VM_PLATFORM     = linux_i486
+   endif
+   HS_ARCH           = x86
 Index: b/hotspot/agent/src/os/linux/ps_core.c
 ===================================================================
 --- a/hotspot/agent/src/os/linux/ps_core.c
@@ -687,16 +693,16 @@
 @@ -216,7 +266,11 @@ static bool ptrace_waitpid(pid_t pid) {
  
  // attach to a process/thread specified by "pid"
- static bool ptrace_attach(pid_t pid) {
+ static bool ptrace_attach(pid_t pid, char* err_buf, size_t err_buf_len) {
 +#if defined(__FreeBSD_kernel__)
 +  if (ptrace(PTRACE_ATTACH, pid, NULL, 0) < 0) {
 +#else
    if (ptrace(PTRACE_ATTACH, pid, NULL, NULL) < 0) {
 +#endif
-     print_debug("ptrace(PTRACE_ATTACH, ..) failed for %d\n", pid);
-     return false;
-   } else {
-@@ -310,7 +364,11 @@ static bool read_lib_info(struct ps_proc
+     char buf[200];
+     char* msg = strerror_r(errno, buf, sizeof(buf));
+     snprintf(err_buf, err_buf_len, "ptrace(PTRACE_ATTACH, ..) failed for %d: %s", pid, msg);
+@@ -313,7 +367,11 @@ static bool read_lib_info(struct ps_proc
  
  // detach a given pid
  static bool ptrace_detach(pid_t pid) {
@@ -723,8 +729,8 @@
  #include "proc_service.h"
  
  #ifdef ALT_SASRCDIR
-@@ -72,6 +76,10 @@ combination of ptrace and /proc calls.
- #define user_regs_struct  pt_regs
+@@ -80,6 +84,10 @@ combination of ptrace and /proc calls.
+ #define user_regs_struct user_pt_regs
  #endif
  
 +#if defined(__FreeBSD_kernel__)
@@ -738,7 +744,7 @@
 ===================================================================
 --- a/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
 +++ b/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
-@@ -364,7 +364,7 @@ JNIEXPORT jlongArray JNICALL Java_sun_jv
+@@ -374,7 +374,7 @@ JNIEXPORT jlongArray JNICALL Java_sun_jv
  
  #ifdef i386
  #define REG_INDEX(reg) sun_jvm_hotspot_debugger_x86_X86ThreadContext_##reg
@@ -747,7 +753,7 @@
    regs[REG_INDEX(GS)]  = (uintptr_t) gregs.xgs;
    regs[REG_INDEX(FS)]  = (uintptr_t) gregs.xfs;
    regs[REG_INDEX(ES)]  = (uintptr_t) gregs.xes;
-@@ -380,12 +380,28 @@ JNIEXPORT jlongArray JNICALL Java_sun_jv
+@@ -390,12 +390,28 @@ JNIEXPORT jlongArray JNICALL Java_sun_jv
    regs[REG_INDEX(PC)] = (uintptr_t) gregs.eip;
    regs[REG_INDEX(CS)]  = (uintptr_t) gregs.xcs;
    regs[REG_INDEX(SS)]  = (uintptr_t) gregs.xss;
@@ -778,7 +784,7 @@
    regs[REG_INDEX(R15)] = gregs.r15;
    regs[REG_INDEX(R14)] = gregs.r14;
    regs[REG_INDEX(R13)] = gregs.r13;
-@@ -411,7 +427,27 @@ JNIEXPORT jlongArray JNICALL Java_sun_jv
+@@ -421,7 +437,27 @@ JNIEXPORT jlongArray JNICALL Java_sun_jv
    regs[REG_INDEX(ES)] = gregs.es;
    regs[REG_INDEX(FS)] = gregs.fs;
    regs[REG_INDEX(GS)] = gregs.gs;
@@ -807,9 +813,11 @@
  #endif /* amd64 */
  
  #if defined(sparc) || defined(sparcv9)
+Index: b/hotspot/make/linux/makefiles/saproc.make
+===================================================================
 --- a/hotspot/make/linux/makefiles/saproc.make
 +++ b/hotspot/make/linux/makefiles/saproc.make
-@@ -90,6 +90,7 @@
+@@ -90,6 +90,7 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
  	           -I$(GENERATED)                                       \
  	           -I$(BOOT_JAVA_HOME)/include                          \
  	           -I$(BOOT_JAVA_HOME)/include/$(Platform_os_family)    \

=== modified file 'debian/rules'
--- debian/rules	2016-07-25 18:28:26 +0000
+++ debian/rules	2016-08-02 07:53:25 +0000
@@ -362,9 +362,8 @@
 # FIXME: 8132051-zero.diff doesn't apply for the default hotspot tarball,
 # resulting in broken zero builds
 COMMON_PATCHES = \
-	$(if $(filter $(DEB_HOST_ARCH),$(hotspot_aarch64_archs)),,6926048.diff) \
-	8132051-zero-$(if $(filter $(DEB_HOST_ARCH),$(hotspot_aarch64_archs)),aarch64,default).diff \
-	$(if $(filter $(DEB_HOST_ARCH),$(hotspot_aarch64_archs)),8132051-aarch64.diff) \
+	6926048.diff \
+	8132051-zero.diff \
 	autoconf-select.diff \
 	hotspot-warn-no-errformat.diff \
 	aarch64.diff \
@@ -675,7 +674,7 @@
 	openjdk-8-jdk | openjdk-7-jdk,
 ifeq (,$(filter $(distrel),squeeze wheezy jessie precise trusty))
 bd_cross += \
-	openjdk-8-jdk-headless <cross>,
+	openjdk-8-jdk-headless <cross>, dpkg-dev (>= 1.17.14),
 endif
 
 # This section should be in sync with "CC/CXX" definition
@@ -2323,7 +2322,7 @@
 is_release		=
 is_release		= yes
 hg_project		= jdk8u
-hg_tag			= jdk8u102-b14
+hg_tag			= jdk8u101-b13
 package_version		= $(subst jdk,,$(hg_tag))
 ifneq ($(is_release),yes)
   package_version	:= $(subst -,~,$(package_version))
@@ -2355,6 +2354,7 @@
 	: # remove JSON license from THIRD_PARTY_README; no files shipped
 	set -ex; \
 	for repo in root corba jaxp jaxws langtools hotspot jdk nashorn hotspot-aarch64; do \
+	  [ -f $(origdir)/$$repo.tar.bz2 ] || continue; \
 	  d=$$(tar tf $(origdir)/$$repo.tar.bz2 | head -1 | sed 's,/.*,,'); \
 	  tar xf $(origdir)/$$repo.tar.bz2; \
 	  find $$d -maxdepth 2 -name THIRD_PARTY_README; \

=== modified file 'hotspot-aarch64.tar.xz'
Binary files hotspot-aarch64.tar.xz	2016-07-25 18:28:26 +0000 and hotspot-aarch64.tar.xz	2016-08-02 07:53:25 +0000 differ
=== modified file 'hotspot.tar.xz'
Binary files hotspot.tar.xz	2016-07-25 18:28:26 +0000 and hotspot.tar.xz	2016-08-02 07:53:25 +0000 differ
=== modified file 'jaxp.tar.xz'
Binary files jaxp.tar.xz	2016-07-25 18:28:26 +0000 and jaxp.tar.xz	2016-08-02 07:53:25 +0000 differ
=== modified file 'jaxws.tar.xz'
Binary files jaxws.tar.xz	2016-07-25 18:28:26 +0000 and jaxws.tar.xz	2016-08-02 07:53:25 +0000 differ
=== modified file 'jdk.tar.xz'
Binary files jdk.tar.xz	2016-07-25 18:28:26 +0000 and jdk.tar.xz	2016-08-02 07:53:25 +0000 differ
=== modified file 'langtools.tar.xz'
Binary files langtools.tar.xz	2016-07-25 18:28:26 +0000 and langtools.tar.xz	2016-08-02 07:53:25 +0000 differ
=== modified file 'nashorn.tar.xz'
Binary files nashorn.tar.xz	2016-07-25 18:28:26 +0000 and nashorn.tar.xz	2016-08-02 07:53:25 +0000 differ
=== modified file 'root.tar.xz'
Binary files root.tar.xz	2016-07-25 18:28:26 +0000 and root.tar.xz	2016-08-02 07:53:25 +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
debian-j...@lists.debian.org for discussions and questions.

Reply via email to