From 5a72747b010592abc97a82b3c8692971021dea1a Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Fri, 29 Jul 2016 00:28:04 +0000 Subject: [PATCH] extra/java8-openjdk to 8.u102-1.1 --- extra/java8-openjdk/8154210.patch | 47 +++++++++++++++++++++++++++++++ extra/java8-openjdk/PKGBUILD | 17 +++++++++-- 2 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 extra/java8-openjdk/8154210.patch diff --git a/extra/java8-openjdk/8154210.patch b/extra/java8-openjdk/8154210.patch new file mode 100644 index 000000000..51b813886 --- /dev/null +++ b/extra/java8-openjdk/8154210.patch @@ -0,0 +1,47 @@ +# HG changeset patch +# User aph +# Date 1461121375 -3600 +# Wed Apr 20 04:02:55 2016 +0100 +# Node ID 5605c859f0ec47d6f507cc83e783554a4210ccf6 +# Parent 7458e5178c8646a9b4f76ac3d13b222abed3f16f +8154210: Zero: Better byte behaviour +Summary: Complete support for 8132051 on Zero and fix failure on 64-bit big-endian systems +Reviewed-by: andrew, chrisphi + +diff -r 7458e5178c86 -r 5605c859f0ec src/cpu/zero/vm/cppInterpreter_zero.cpp +--- openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Tue May 17 03:03:36 2016 +0100 ++++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Apr 20 04:02:55 2016 +0100 +@@ -220,9 +220,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(method->result_type(), res); ++ BasicType t = method->result_type(); ++ if (is_subword_type(t)) { ++ res_jint = (jint)narrow(t, res_jint); ++ } + } + stack->push(res); + } +diff -r 7458e5178c86 -r 5605c859f0ec src/share/vm/interpreter/bytecodeInterpreter.cpp +--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Tue May 17 03:03:36 2016 +0100 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed Apr 20 04:02:55 2016 +0100 +@@ -593,8 +593,9 @@ + /* 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, ++/* 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, diff --git a/extra/java8-openjdk/PKGBUILD b/extra/java8-openjdk/PKGBUILD index 579e335bd..49a15d818 100644 --- a/extra/java8-openjdk/PKGBUILD +++ b/extra/java8-openjdk/PKGBUILD @@ -11,6 +11,8 @@ # - add arm to _JARCH and _DOC_ARCH # - configure with --with-jvm-variants=zero # - adjust doc package to use linux-${_DOC_ARCH}-normal-zero-release instead of normal-server-release +# - upstream patch for zero +# - prevent downgrading hotspot optimization with CFLAGS buildarch=22 @@ -23,7 +25,7 @@ _jdk_update=102 _jdk_build=14 pkgver=${_java_ver}.u${_jdk_update} _repo_ver=jdk${_java_ver}u${_jdk_update}-b${_jdk_build} -pkgrel=1 +pkgrel=1.1 arch=('i686' 'x86_64') url='http://openjdk.java.net/' license=('custom') @@ -39,7 +41,8 @@ source=(jdk8u-${_repo_ver}.tar.gz::${_url_src}/archive/${_repo_ver}.tar.gz jaxp-${_repo_ver}.tar.gz::${_url_src}/jaxp/archive/${_repo_ver}.tar.gz langtools-${_repo_ver}.tar.gz::${_url_src}/langtools/archive/${_repo_ver}.tar.gz nashorn-${_repo_ver}.tar.gz::${_url_src}/nashorn/archive/${_repo_ver}.tar.gz - build_with_gcc6.patch) + build_with_gcc6.patch + 8154210.patch) sha256sums=('d4161e41122de3526cfe4ca4d568e79b5843e833640752fa6ba2126f6372ed96' 'ae51aaf7b6116ca11b79985f94af4b1cfed4675db6ee848904ddfc70b0ed0376' @@ -49,7 +52,8 @@ sha256sums=('d4161e41122de3526cfe4ca4d568e79b5843e833640752fa6ba2126f6372ed96' 'bcff4bd5686c346e3fa676d0592e1e5b3b349f7f61636e702e999c00f940b066' '5cad411081130829799440f155d4f70eb3178a7a603af68202a2f6ac19d40324' '37050fe0525c45412f312fe88606e3c6b8cd02c0919b7695a1b94eff5dba8a42' - 'dcf5f495620231068b0c925a33ba7246bbeb85e9ae822b30ab77a66839c2d3b6') + 'dcf5f495620231068b0c925a33ba7246bbeb85e9ae822b30ab77a66839c2d3b6' + '292443358b7b7b570b3b42c3cb3dd6f1ac8bc79ada90b979aec10f52013958ae') case "${CARCH}" in 'x86_64') _JARCH=amd64 ; _DOC_ARCH=x86_64 ;; @@ -75,6 +79,10 @@ prepare() { done patch -p1 < ../build_with_gcc6.patch + + # patch for zero + cd "${srcdir}/hotspot-${_repo_ver}" + patch -p2 -i ../8154210.patch } build() { @@ -84,6 +92,9 @@ build() { # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1346 export MAKEFLAGS=${MAKEFLAGS/-j*} + # prevent downgrading hotspot optimization + CFLAGS=`echo $CFLAGS | sed -e 's/-O2//'` && CXXFLAGS="$CFLAGS" + install -d -m 755 "${srcdir}/${_prefix}/" sh configure \ --prefix="${srcdir}/${_prefix}" \