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