Hello community,
here is the log from the commit of package java-1_8_0-openjdk.3996 for openSUSE:13.2:Update checked in at 2015-09-15 11:18:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/java-1_8_0-openjdk.3996 (Old)
and /work/SRC/openSUSE:13.2:Update/.java-1_8_0-openjdk.3996.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "java-1_8_0-openjdk.3996"
Changes:
--------
New Changes file:
--- /dev/null 2015-08-24 19:43:32.284261900 +0200
+++ /work/SRC/openSUSE:13.2:Update/.java-1_8_0-openjdk.3996.new/java-1_8_0-openjdk.changes 2015-09-15 11:18:24.000000000 +0200
@@ -0,0 +1,396 @@
+-------------------------------------------------------------------
+Wed Aug 19 08:12:09 UTC 2015 - fstrba@suse.com
+
+- Upgrade to upstream tag jdk8u60-b27
+ * Release of JDK 8u60
+- Removed patches:
+ * hotspot-support-kernel-4.patch
+ * cplusplus-interpreter.patch
+ * signed-overflow.patch
+ - Integrated upstream
+ * system-giflib5.patch
+ - Fixed differently upstream
+ * applet-hole.patch
+ - Not needed any more with recent versions of icedtea-web
+Modified patches
+ * aarch64-misc.patch
+ - Rediff to correspond to the new context
+ - Added bits from aarch64-port/jdk8/jdk
+
+-------------------------------------------------------------------
+Tue Aug 18 13:04:22 UTC 2015 - fstrba@suse.com
+
+- Add constraints file
+
+-------------------------------------------------------------------
+Wed Jul 22 08:21:13 UTC 2015 - fstrba@suse.com
+
+- Upgrade to upstream tag jdk8u51-b16
+ * Security fix release of July 15, 2015 (bsc#938248, bsc#937828)
+- Security issues fixed:
+ * CVE-2015-2590: Vulnerability in the Java SE, Java SE Embedded
+ component of Oracle Java SE (subcomponent: Libraries).
+ * CVE-2015-2597: Vulnerability in the Java SE component of Oracle
+ Java SE (subcomponent: Install).
+ * CVE-2015-2601: Vulnerability in the Java SE, JRockit, Java SE
+ Embedded component of Oracle Java SE (subcomponent: JCE).
+ * CVE-2015-2613: Vulnerability in the Java SE, Java SE Embedded
+ component of Oracle Java SE (subcomponent: JCE).
+ * CVE-2015-2619: Vulnerability in the Java SE, JavaFX, Java SE
+ Embedded component of Oracle Java SE (subcomponent: 2D).
+ * CVE-2015-2621: Vulnerability in the Java SE, Java SE Embedded
+ component of Oracle Java SE (subcomponent: JMX).
+ * CVE-2015-2625: Vulnerability in the Java SE, JRockit, Java SE
+ Embedded component of Oracle Java SE (subcomponent: JSSE).
+ * CVE-2015-2627: Vulnerability in the Java SE component of Oracle
+ Java SE (subcomponent: Install).
+ * CVE-2015-2628: Vulnerability in the Java SE, Java SE Embedded
+ component of Oracle Java SE (subcomponent: CORBA).
+ * CVE-2015-2632; Vulnerability in the Java SE component of Oracle
+ Java SE (subcomponent: 2D).
+ * CVE-2015-2637: Vulnerability in the Java SE, JavaFX, Java SE
+ Embedded component of Oracle Java SE (subcomponent: 2D).
+ * CVE-2015-2638: Vulnerability in the Java SE, JavaFX, Java SE
+ Embedded component of Oracle Java SE (subcomponent: 2D).
+ * CVE-2015-2659: Vulnerability in the Java SE, Java SE Embedded
+ component of Oracle Java SE (subcomponent: Security).
+ * CVE-2015-2664: Vulnerability in the Java SE component of Oracle
+ Java SE (subcomponent: Deployment).
+ * CVE-2015-2808: Vulnerability in the Java SE, JRockit, Java SE
+ Embedded component of Oracle Java SE (subcomponent: JSSE).
+ * CVE-2015-4000: Vulnerability in the Java SE, JRockit, Java SE
+ Embedded component of Oracle Java SE (subcomponent: JSSE).
+ * CVE-2015-4729: Vulnerability in the Java SE component of Oracle
+ Java SE (subcomponent: Deployment).
+ * CVE-2015-4731: Vulnerability in the Java SE, Java SE Embedded
+ component of Oracle Java SE (subcomponent: JMX).
+ * CVE-2015-4732: Vulnerability in the Java SE, Java SE Embedded
+ component of Oracle Java SE (subcomponent: Libraries).
+ * CVE-2015-4733: Vulnerability in the Java SE, Java SE Embedded
+ component of Oracle Java SE (subcomponent: RMI).
+ * CVE-2015-4736: Vulnerability in the Java SE component of Oracle
+ Java SE (subcomponent: Deployment).
+ * CVE-2015-4748: Vulnerability in the Java SE, JRockit, Java SE
+ Embedded component of Oracle Java SE (subcomponent: Security).
+ * CVE-2015-4749: Vulnerability in the Java SE, JRockit, Java SE
+ Embedded component of Oracle Java SE (subcomponent: JNDI).
+ * CVE-2015-4760: Vulnerability in the Java SE component of Oracle
+ Java SE (subcomponent: 2D).
+
+-------------------------------------------------------------------
+Thu Jun 18 13:38:54 UTC 2015 - tchvatal@suse.com
+
+- Use priority matching to ibm-java, always 5 bigger than it
+
+-------------------------------------------------------------------
+Wed Jun 10 08:10:23 UTC 2015 - fstrba@suse.com
+
+- Added patch:
+ * zero-dummy.patch
+ - Fix crash of ZERO VM built with gcc5
+
+-------------------------------------------------------------------
+Fri Jun 5 12:58:27 UTC 2015 - fstrba@suse.com
+
+- Added patch:
+ * signed-overflow.patch
+ - fix OOM due to signed overflow shown by gcc5 build
+
+-------------------------------------------------------------------
+Tue May 26 08:36:52 UTC 2015 - fstrba@suse.com
+
+- Use the tzdb.dat from tzdata-java8 package on distributions
+ that have it.
+
+-------------------------------------------------------------------
+Tue May 5 15:15:09 UTC 2015 - fstrba@suse.com
+
+- Added patch:
+ * hotspot-support-kernel-4.patch
+ * fix build on systems having kernel 4.0
+
+-------------------------------------------------------------------
+Thu Apr 16 15:47:54 UTC 2015 - fstrba@suse.com
+
+- Update the aarch64 tarball to the recent tip
+ * The revision has merged changes up to jdk8u45-b14
+- Apply cplusplus-interpreter.patch to the default hotspot tarball
+ only (aarch64 tarball has the patch integrated)
+
+-------------------------------------------------------------------
+Wed Apr 15 08:27:37 UTC 2015 - fstrba@suse.com
+
+- Upgrade to upstream tag jdk8u45-b14
+ * Security fix release of April 14, 2015
+
+-------------------------------------------------------------------
+Wed Apr 8 07:37:27 UTC 2015 - fstrba@suse.com
+
+- Build the accelerated aarch64 hotspot anew
+
+-------------------------------------------------------------------
+Thu Mar 5 16:40:27 UTC 2015 - fstrba@suse.com
+
+- Update the aarch64 tarball to a recent tip of the jdk8 repository
+
+-------------------------------------------------------------------
+Wed Mar 4 06:44:04 UTC 2015 - fstrba@suse.com
+
+- jdk8u40-b25 became officially jdk8u40 release
+ * Modify the package version
+
+-------------------------------------------------------------------
+Tue Feb 17 12:58:49 UTC 2015 - fstrba@suse.com
+
+- Modified patch
+ * system-libjpeg.patch
+ - correct the case mismatch that prevented JPEG decoder from
+ working correctly (bnc#905950)
+
+-------------------------------------------------------------------
+Mon Feb 16 08:01:42 UTC 2015 - fstrba@suse.com
+
+- Upgrade to upstream tag jdk8u40-b25
+
+-------------------------------------------------------------------
+Thu Feb 5 09:55:30 UTC 2015 - fstrba@suse.com
+
+- Upgrade to upstream tag jdk8u40-b24
+- Upgrade the aarch64 hotspot to new tip
+ * sync-ed with jdk8u40-b23
+- Removed patch
+ * aarch64-b12tob22.patch
+ - Not needed since the aarch64 tarball is on a recent enough
+ tag
+- Modified patch
+ * s390-size_t.patch
+ - Adapt to hotspot changes
+
+-------------------------------------------------------------------
+Tue Jan 27 07:52:58 UTC 2015 - fstrba@suse.com
+
+- Removed patch
+ * aarch64-b12tob21.patch
+ - replaced by one that forward-ports to b22
+- Added patch
+ * aarch64-b12tob22.patch
+ - forward-port the aarch64 hotspot to b22.
+
+-------------------------------------------------------------------
+Sun Jan 25 18:06:11 UTC 2015 - fstrba@suse.com
+
+- Modify patch: system-giflib5.patch
+ * Fix build with giflib 5.1.x
+
+-------------------------------------------------------------------
+Thu Jan 22 09:42:50 UTC 2015 - fstrba@suse.com
+
+- Upgrade to upstream tag jdk8u40-b22
+ * Security update from 2015-01-20
+
+-------------------------------------------------------------------
+Wed Jan 21 08:22:26 UTC 2015 - fstrba@suse.com
+
+- Upgrade to upstream tag jdk8u40-b21
+- Removed patch:
+ * aarch64-b12tob20.patch
+ - replaced by new version
++++ 199 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.2:Update/.java-1_8_0-openjdk.3996.new/java-1_8_0-openjdk.changes
New:
----
1015432.patch
10ad4b9d79f9.tar.bz2
72a33aed7dcc.tar.bz2
8ec803e97a0d.tar.bz2
8f260851e051.tar.bz2
975eb04d1795.tar.bz2
PStack-808293.patch
TestCryptoLevel.java
_constraints
aarch64-misc.patch
adlc-parser.patch
afbc08ea922b.tar.bz2
be922f27d059.tar.bz2
compare-pointer-with-literal.patch
config.guess
config.sub
d50c3672fd18.tar.bz2
disable-doclint-by-default.patch
e8e293d0db49.tar.bz2
icedtea-sound-1.0.1.tar.xz
implicit-pointer-decl.patch
include-all-srcs.patch
java-1_8_0-openjdk.changes
java-1_8_0-openjdk.spec
java-atk-wrapper-security.patch
jconsole.desktop.in
link-with-as-needed.patch
memory-limits.patch
multiple-pkcs11-library-init.patch
nss.cfg
policytool.desktop.in
ppc-zero-hotspot.patch
s390-java-opts.patch
s390-size_t.patch
system-lcms.patch
system-libjpeg.patch
system-libpng.patch
systemtap-tapset.tar.gz
zero-dummy.patch
zero-javadoc-verbose.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ java-1_8_0-openjdk.spec ++++++
++++ 1239 lines (skipped)
++++++ 1015432.patch ++++++
--- jdk8/hotspot/src/os/linux/vm/os_linux.cpp Wed Oct 23 15:44:12 2013 -0700
+++ jdk8/hotspot/src/os/linux/vm/os_linux.cpp Thu Dec 19 16:03:33 2013 +0000
@@ -4797,9 +4797,19 @@
// size. Add a page for compiler2 recursion in main thread.
// Add in 2*BytesPerWord times page size to account for VM stack during
// class initialization depending on 32 or 64 bit VM.
+
+
os::Linux::min_stack_allowed = MAX2(os::Linux::min_stack_allowed,
(size_t)(StackYellowPages+StackRedPages+StackShadowPages) * Linux::page_size() +
- (2*BytesPerWord COMPILER2_PRESENT(+1)) * Linux::vm_default_page_size());
+ (2*BytesPerWord COMPILER2_PRESENT(+1))
+ *
+#ifdef PPC
+ NOT_ZERO ( Linux::vm_default_page_size() )
+ ZERO_ONLY ( Linux::page_size() )
+#else
+ ( Linux::vm_default_page_size() )
+#endif
+ );
size_t threadStackSizeInBytes = ThreadStackSize * K;
if (threadStackSizeInBytes != 0 &&
++++++ PStack-808293.patch ++++++
--- jdk8/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java 2012-04-06 02:26:33.322164601 +0200
+++ jdk8/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java 2012-04-06 02:26:57.958514071 +0200
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, Red Hat Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -84,7 +85,8 @@
out.print("----------------- ");
out.print(th);
out.println(" -----------------");
- while (f != null) {
+ int maxStack = 256;
+ while (f != null && maxStack-- > 0) {
ClosestSymbol sym = f.closestSymbolToPC();
Address pc = f.pc();
out.print(pc + "\t");
@@ -158,10 +160,19 @@
}
}
}
+ Address oldPC = f.pc();
+ Address oldFP = f.localVariableBase();
f = f.sender(th);
+ if (f != null
+ && oldPC.equals(f.pc())
+ && oldFP.equals(f.localVariableBase())) {
+ // We didn't make any progress
+ f = null;
+ }
}
} catch (Exception exp) {
- exp.printStackTrace();
+ // exp.printStackTrace();
+ out.println("bad stack: " + exp);
// continue, may be we can do a better job for other threads
}
if (concurrentLocks) {
++++++ TestCryptoLevel.java ++++++
/* TestCryptoLevel -- Ensure unlimited crypto policy is in use.
Copyright (C) 2012 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
*/
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
import java.security.Permission;
import java.security.PermissionCollection;
public class TestCryptoLevel
{
public static void main(String[] args)
throws NoSuchFieldException, ClassNotFoundException,
IllegalAccessException, InvocationTargetException
{
Class<?> cls = null;
Method def = null, exempt = null;
try
{
cls = Class.forName("javax.crypto.JceSecurity");
}
catch (ClassNotFoundException ex)
{
System.err.println("Running a non-Sun JDK.");
System.exit(0);
}
try
{
def = cls.getDeclaredMethod("getDefaultPolicy");
exempt = cls.getDeclaredMethod("getExemptPolicy");
}
catch (NoSuchMethodException ex)
{
System.err.println("Running IcedTea with the original crypto patch.");
System.exit(0);
}
def.setAccessible(true);
exempt.setAccessible(true);
PermissionCollection defPerms = (PermissionCollection) def.invoke(null);
PermissionCollection exemptPerms = (PermissionCollection) exempt.invoke(null);
Class<?> apCls = Class.forName("javax.crypto.CryptoAllPermission");
Field apField = apCls.getDeclaredField("INSTANCE");
apField.setAccessible(true);
Permission allPerms = (Permission) apField.get(null);
if (defPerms.implies(allPerms) && (exemptPerms == null || exemptPerms.implies(allPerms)))
{
System.err.println("Running with the unlimited policy.");
System.exit(0);
}
else
{
System.err.println("WARNING: Running with a restricted crypto policy.");
System.exit(-1);
}
}
}
++++++ _constraints ++++++
<constraints>
<hardware>
<physicalmemory>
<size unit="M">2048</size>
</physicalmemory>
<disk>
<size unit="G">6</size>
</disk>
</hardware>
<overwrite>
<conditions>
<arch>armv7l</arch>
<arch>armv6l</arch>
</conditions>
<hardware>
<physicalmemory>
<size unit="M">512</size>
</physicalmemory>
</hardware>
</overwrite>
</constraints>
++++++ aarch64-misc.patch ++++++
--- jdk8/common/autoconf/build-aux/autoconf-config.sub 2015-07-10 06:29:38.191114297 +0200
+++ jdk8/common/autoconf/build-aux/autoconf-config.sub 2015-07-10 07:44:34.468972246 +0200
@@ -264,6 +264,7 @@
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
+ | aarch64 \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
@@ -340,6 +341,7 @@
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
+ | aarch64-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
--- jdk8/common/autoconf/generated-configure.sh 2015-07-10 06:29:38.193114252 +0200
+++ jdk8/common/autoconf/generated-configure.sh 2015-07-10 07:44:34.477972040 +0200
@@ -6835,6 +6835,12 @@
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
+ aarch64)
+ VAR_CPU=aarch64
+ VAR_CPU_ARCH=aarch64
+ VAR_CPU_BITS=64
+ VAR_CPU_ENDIAN=little
+ ;;
powerpc)
VAR_CPU=ppc
VAR_CPU_ARCH=ppc
@@ -6972,6 +6978,12 @@
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
+ aarch64)
+ VAR_CPU=aarch64
+ VAR_CPU_ARCH=aarch64
+ VAR_CPU_BITS=64
+ VAR_CPU_ENDIAN=little
+ ;;
powerpc)
VAR_CPU=ppc
VAR_CPU_ARCH=ppc
@@ -7942,11 +7954,6 @@
JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
JVM_VARIANT_CORE=`$ECHO "$JVM_VARIANTS" | $SED -e '/,core,/!s/.*/false/g' -e '/,core,/s/.*/true/g'`
- if test "x$JVM_VARIANT_CLIENT" = xtrue; then
- if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
- as_fn_error $? "You cannot build a client JVM for a 64-bit machine." "$LINENO" 5
- fi
- fi
if test "x$JVM_VARIANT_KERNEL" = xtrue; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
as_fn_error $? "You cannot build a kernel JVM for a 64-bit machine." "$LINENO" 5
@@ -7989,6 +7996,9 @@
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
INCLUDE_SA=false
fi
+ if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
+ INCLUDE_SA=false
+ fi
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
@@ -29654,7 +29664,7 @@
#
case $COMPILER_NAME in
gcc )
- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \
+ CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-unused-parameter -Wno-parentheses \
-pipe \
-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
case $OPENJDK_TARGET_CPU_ARCH in
@@ -29899,6 +29909,9 @@
s390)
ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}31"
;;
+ aarch64)
+ ZERO_ARCHFLAG=""
+ ;;
*)
ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
esac
--- jdk8/common/autoconf/jdk-options.m4 2015-07-10 06:29:38.193114252 +0200
+++ jdk8/common/autoconf/jdk-options.m4 2015-07-10 07:44:34.479971994 +0200
@@ -164,6 +164,9 @@
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
INCLUDE_SA=false
fi
+ if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
+ INCLUDE_SA=false
+ fi
AC_SUBST(INCLUDE_SA)
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
--- jdk8/common/autoconf/platform.m4 2015-07-10 06:29:38.194114229 +0200
+++ jdk8/common/autoconf/platform.m4 2015-07-10 07:44:34.479971994 +0200
@@ -54,6 +54,12 @@
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
+ aarch64)
+ VAR_CPU=aarch64
+ VAR_CPU_ARCH=aarch64
+ VAR_CPU_BITS=64
+ VAR_CPU_ENDIAN=little
+ ;;
powerpc)
VAR_CPU=ppc
VAR_CPU_ARCH=ppc
--- jdk8/common/autoconf/toolchain.m4 2015-07-10 06:29:38.194114229 +0200
+++ jdk8/common/autoconf/toolchain.m4 2015-07-10 07:44:34.479971994 +0200
@@ -957,7 +957,7 @@
#
case $COMPILER_NAME in
gcc )
- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \
+ CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-unused-parameter -Wno-parentheses \
-pipe \
-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
case $OPENJDK_TARGET_CPU_ARCH in
@@ -1237,6 +1237,9 @@
s390)
ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}31"
;;
+ aarch64)
+ ZERO_ARCHFLAG=""
+ ;;
*)
ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
esac
--- jdk8/jdk/make/gensrc/GensrcMisc.gmk 2015-07-02 06:53:30.000000000 +0200
+++ jdk8/jdk/make/gensrc/GensrcMisc.gmk 2015-07-10 07:44:34.480971971 +0200
@@ -76,7 +76,7 @@
INCLUDE_FILES := $(GENSRC_SOR_SRC_FILE), \
LANG := C, \
CC := $(BUILD_CC), \
- LDEXE := $(BUILD_LD), \
+ LDEXE := $(BUILD_CC), \
OBJECT_DIR := $(GENSRC_SOR_BIN), \
OUTPUT_DIR := $(GENSRC_SOR_BIN), \
PROGRAM := genSocketOptionRegistry))
--- jdk8/jdk/make/lib/SoundLibraries.gmk 2015-07-02 06:53:30.000000000 +0200
+++ jdk8/jdk/make/lib/SoundLibraries.gmk 2015-07-10 07:44:34.480971971 +0200
@@ -139,6 +139,10 @@
ifeq ($(OPENJDK_TARGET_CPU), ppc64)
LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC64
endif
+
+ ifeq ($(OPENJDK_TARGET_CPU), aarch64)
+ LIBJSOUND_CFLAGS += -DX_ARCH=X_AARCH64
+ endif
endif
LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
--- jdk8/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2015-07-02 06:53:30.000000000 +0200
+++ jdk8/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2015-07-10 07:44:34.480971971 +0200
@@ -43,6 +43,7 @@
#define X_ZERO 6
#define X_ARM 7
#define X_PPC 8
+#define X_AARCH64 9
// **********************************
// Make sure you set X_PLATFORM and X_ARCH defines correctly.
--- jdk8/jdk/src/solaris/bin/aarch64/jvm.cfg 1970-01-01 01:00:00.000000000 +0100
+++ jdk8/jdk/src/solaris/bin/aarch64/jvm.cfg 2015-07-10 07:44:34.480971971 +0200
@@ -0,0 +1,39 @@
+# Copyright (c) 2011, 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
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+# List of JVMs that can be used as an option to java, javac, etc.
+# Order is important -- first in this list is the default JVM.
+# NOTE that this both this file and its format are UNSUPPORTED and
+# WILL GO AWAY in a future release.
+#
+# You may also select a JVM in an arbitrary location with the
+# "-XXaltjvm=" option, but that too is unsupported
+# and may not be available in a future release.
+#
+# n.b. server must be first so it is used as the default
+-server KNOWN
+-minimal ERROR
+-cacao ERROR
+-zero KNOWN
+-shark ERROR
+-jamvm ERROR
++++++ adlc-parser.patch ++++++
--- jdk8/hotspot/src/share/vm/adlc/formsopt.cpp 2014-07-03 21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/adlc/formsopt.cpp 2014-07-14 11:43:21.900408570 +0200
@@ -347,6 +347,7 @@
_return_value = NULL;
_c_return_value = NULL;
_interpreter_frame_pointer_reg = NULL;
+ _cisc_spilling_operand_name = NULL;
}
FrameForm::~FrameForm() {
++++++ compare-pointer-with-literal.patch ++++++
--- jdk8/jdk/src/solaris/native/sun/awt/awt_Font.c 2014-06-23 01:01:34.000000000 +0200
+++ jdk8/jdk/src/solaris/native/sun/awt/awt_Font.c 2014-07-08 23:22:33.235559628 +0200
@@ -502,7 +502,7 @@
jio_snprintf(fdata->flist[i].xlfd, strlen(nativename) + 10,
nativename, size * 10);
- if (nativename != NULL && nativename != "")
+ if (nativename && !strcmp(nativename, ""))
JNU_ReleaseStringPlatformChars(env, fontDescriptorName, (const char *) nativename);
/*
++++++ config.guess ++++++
++++ 1420 lines (skipped)
++++++ config.sub ++++++
++++ 1805 lines (skipped)
++++++ disable-doclint-by-default.patch ++++++
Disable doclint by default
OpenJDK 8 adds and enables doclint by default. This catches issues in
javadoc comments. It is too strict, breaks javadoc compilation and, in
general, breaks the build for old code known to build with previous
versions of OpenJDK.
See: http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html
See: https://lists.fedoraproject.org/pipermail/java-devel/2014-February/005150.ht...
Author: Andrew John Hughes
Author: Emmanuel Bourg
--- jdk8/langtools/src/share/classes/com/sun/tools/javadoc/DocEnv.java
+++ jdk8/langtools/src/share/classes/com/sun/tools/javadoc/DocEnv.java
@@ -811,10 +811,9 @@
doclintOpts.add(opt == null ? DocLint.XMSGS_OPTION : DocLint.XMSGS_CUSTOM_PREFIX + opt);
}
- if (doclintOpts.isEmpty()) {
- doclintOpts.add(DocLint.XMSGS_OPTION);
- } else if (doclintOpts.size() == 1
- && doclintOpts.get(0).equals(DocLint.XMSGS_CUSTOM_PREFIX + "none")) {
+ if (doclintOpts.isEmpty() ||
+ (doclintOpts.size() == 1
+ && doclintOpts.get(0).equals(DocLint.XMSGS_CUSTOM_PREFIX + "none"))) {
return;
}
--- jdk8/langtools/test/tools/javadoc/doclint/DocLintTest.java
+++ jdk8/langtools/test/tools/javadoc/doclint/DocLintTest.java
@@ -130,12 +130,12 @@
};
test(Collections.<String>emptyList(),
- Main.Result.ERROR,
- EnumSet.of(Message.DL_ERR9A, Message.DL_WRN12A));
+ Main.Result.OK,
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN13));
test(Arrays.asList(rawDiags),
- Main.Result.ERROR,
- EnumSet.of(Message.DL_ERR9, Message.DL_WRN12));
+ Main.Result.OK,
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN13));
test(Arrays.asList("-Xdoclint:none"),
Main.Result.OK,
@@ -158,8 +158,8 @@
EnumSet.of(Message.DL_WRN12));
test(Arrays.asList(rawDiags, "-private"),
- Main.Result.ERROR,
- EnumSet.of(Message.DL_ERR6, Message.DL_ERR9, Message.DL_WRN12));
+ Main.Result.OK,
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN13));
test(Arrays.asList(rawDiags, "-Xdoclint:syntax", "-private"),
Main.Result.ERROR,
++++++ implicit-pointer-decl.patch ++++++
--- jdk8/jdk/src/share/instrument/JarFacade.c 2014-07-03 00:01:31.000000000 +0200
+++ jdk8/jdk/src/share/instrument/JarFacade.c 2014-07-15 08:45:35.144295472 +0200
@@ -23,14 +23,7 @@
* questions.
*/
-#ifdef _WIN32
-/*
- * Win* needs this include. However, Linux and Solaris do not.
- * Having this include on Solaris SPARC breaks having non US-ASCII
- * characters in the value of the Premain-Class attribute.
- */
#include
-#endif /* _WIN32 */
#include
#include
++++++ include-all-srcs.patch ++++++
--- jdk8/jdk/make/CreateJars.gmk
+++ jdk8/jdk/make/CreateJars.gmk
@@ -569,38 +569,12 @@
##########################################################################################
SRC_ZIP_INCLUDES = \
- com/sun/corba \
- com/sun/image/codec/jpeg \
- com/sun/imageio \
- com/sun/java_cup \
- com/sun/javadoc \
- com/sun/java/swing \
- com/sun/jmx \
- com/sun/naming \
- com/sun/org/apache \
- com/sun/security/auth \
- com/sun/security/jgss \
- com/sun/source \
+ com \
java \
- javax/accessibility \
- javax/annotation \
- javax/imageio \
- javax/lang \
- javax/management \
- javax/naming \
- javax/print \
- javax/rmi \
- javax/script \
- javax/security \
- javax/sound \
- javax/sql \
- javax/swing \
- javax/tools \
- javax/xml \
- org/ietf \
- org/omg \
- org/w3c/dom \
- org/xml/sax \
+ javax \
+ jdk \
+ org \
+ sun \
#
SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes
@@ -632,7 +606,6 @@
$(eval $(call SetupZipArchive,BUILD_SRC_ZIP, \
SRC := $(SRC_ZIP_SRCS) $(IMAGES_OUTPUTDIR)/src, \
INCLUDES := $(SRC_ZIP_INCLUDES) launcher, \
- EXCLUDES := javax/swing/beaninfo, \
SUFFIXES := .java .c .h, \
ZIP := $(IMAGES_OUTPUTDIR)/src.zip, \
EXTRA_DEPS := $(LAUNCHER_ZIP_SRC)))
++++++ java-atk-wrapper-security.patch ++++++
--- jdk8/jdk/src/share/lib/security/java.security-linux 2014-07-15 23:08:27.000000000 +0200
+++ jdk8/jdk/src/share/lib/security/java.security-linux 2014-07-18 09:04:45.127566697 +0200
@@ -211,7 +211,9 @@
jdk.internal.,\
jdk.nashorn.internal.,\
jdk.nashorn.tools.,\
- com.sun.activation.registries.
+ com.sun.activation.registries.,\
+ org.GNOME.Accessibility.,\
+ org.GNOME.Bonobo.
#
# List of comma-separated packages that start with or equal this string
@@ -258,7 +260,9 @@
jdk.internal.,\
jdk.nashorn.internal.,\
jdk.nashorn.tools.,\
- com.sun.activation.registries.
+ com.sun.activation.registries.,\
+ org.GNOME.Accessibility.,\
+ org.GNOME.Bonobo.
#
# Determines whether this properties file can be appended to
++++++ jconsole.desktop.in ++++++
[Desktop Entry]
Name=OpenJDK 8 Monitoring & Management Console
GenericName=OpenJDK Monitoring & Management Console
Comment=Monitor and manage OpenJDK applications for @VERSION@
Exec=@JAVA_HOME@/bin/jconsole
Icon=java
Terminal=false
Type=Application
StartupWMClass=sun-tools-jconsole-JConsole
Categories=Development;Profiling;
Version=1.0
++++++ link-with-as-needed.patch ++++++
--- jdk8/jdk/make/CompileLaunchers.gmk 2014-09-26 08:53:47.340118668 +0200
+++ jdk8/jdk/make/CompileLaunchers.gmk 2014-09-26 08:54:18.702392301 +0200
@@ -427,7 +427,7 @@
# binary (at least on linux) which causes the size to differ between old and new build.
ifeq ($(USE_EXTERNAL_LIBZ), true)
UNPACKEXE_CFLAGS := -DSYSTEM_ZLIB
- UNPACKEXE_ZIPOBJS := -lz
+ UNPACKEXE_LIBS := -lz
else
UNPACKEXE_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.8
UNPACKEXE_ZIPOBJS := $(JDK_OUTPUTDIR)/objs/libzip/zcrc32$(OBJ_SUFFIX) \
@@ -488,9 +488,9 @@
LDFLAGS_posix := $(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \
$(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX)) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
- LDFLAGS_linux := -lc, \
+ LDFLAGS_linux := , \
LDFLAGS_solaris := $(UNPACKEXE_LDFLAGS_solaris) -lc, \
- LDFLAGS_SUFFIX := $(LIBCXX), \
+ LDFLAGS_SUFFIX := $(UNPACKEXE_LIBS) $(LIBCXX), \
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/unpackexe$(OUTPUT_SUBDIR), \
OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/unpackexe$(OUTPUT_SUBDIR), \
PROGRAM := unpack200, \
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk 2014-09-26 08:53:47.341118645 +0200
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk 2014-09-26 08:54:22.383307050 +0200
@@ -760,10 +760,10 @@
$(BUILD_LIBJAVAJPEG_CLOSED_INCLUDES) \
$(BUILD_LIBJAVAJPEG_HEADERS), \
MAPFILE := $(BUILD_LIBJAVAJPEG_MAPFILE), \
- LDFLAGS := $(LDFLAGS_JDKLIB) $(LIBJPEG_LIBS) \
+ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
- LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
+ LDFLAGS_SUFFIX := $(LIBJPEG_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
RC_FLAGS := $(RC_FLAGS) \
-D "JDK_FNAME=javajpeg.dll" \
++++++ memory-limits.patch ++++++
--- jdk8/hotspot/src/share/vm/runtime/globals.hpp 2014-04-23 22:06:29.000000000 +0100
+++ jdk8/hotspot/src/share/vm/runtime/globals.hpp 2014-05-12 20:42:01.633428300 +0100
@@ -3113,7 +3113,7 @@
product(uintx, InitialHeapSize, 0, \
"Initial heap size (in bytes); zero means use ergonomics") \
\
- product(uintx, MaxHeapSize, ScaleForWordSize(96*M), \
+ product(uintx, MaxHeapSize, ScaleForWordSize(512*M), \
"Maximum heap size (in bytes)") \
\
product(uintx, OldSize, ScaleForWordSize(4*M), \
++++++ multiple-pkcs11-library-init.patch ++++++
# HG changeset patch
# User andrew
# Date 1352129932 0
# Node ID e9c857dcb964dbfa5eef3a3590244cb4d999cf7a
# Parent 1406789608b76d0906881979335d685855f44190
Allow multiple PKCS11 library initialisation to be a non-critical error.
diff -r 1406789608b7 -r e9c857dcb964 src/share/classes/sun/security/pkcs11/Config.java
--- jdk8/jdk/src/share/classes/sun/security/pkcs11/Config.java Tue Oct 30 13:05:14 2012 +0000
+++ jdk8/jdk/src/share/classes/sun/security/pkcs11/Config.java Mon Nov 05 15:38:52 2012 +0000
@@ -52,6 +52,7 @@
static final int ERR_HALT = 1;
static final int ERR_IGNORE_ALL = 2;
static final int ERR_IGNORE_LIB = 3;
+ static final int ERR_IGNORE_MULTI_INIT = 4;
// same as allowSingleThreadedModules but controlled via a system property
// and applied to all providers. if set to false, no SunPKCS11 instances
@@ -980,6 +981,8 @@
handleStartupErrors = ERR_IGNORE_LIB;
} else if (val.equals("halt")) {
handleStartupErrors = ERR_HALT;
+ } else if (val.equals("ignoreMultipleInitialisation")) {
+ handleStartupErrors = ERR_IGNORE_MULTI_INIT;
} else {
throw excToken("Invalid value for handleStartupErrors:");
}
diff -r 1406789608b7 -r e9c857dcb964 src/share/classes/sun/security/pkcs11/SunPKCS11.java
--- jdk8/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java Tue Oct 30 13:05:14 2012 +0000
+++ jdk8/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java Mon Nov 05 15:38:52 2012 +0000
@@ -168,26 +168,37 @@
String nssLibraryDirectory = config.getNssLibraryDirectory();
String nssSecmodDirectory = config.getNssSecmodDirectory();
boolean nssOptimizeSpace = config.getNssOptimizeSpace();
+ int errorHandling = config.getHandleStartupErrors();
if (secmod.isInitialized()) {
if (nssSecmodDirectory != null) {
String s = secmod.getConfigDir();
if ((s != null) &&
(s.equals(nssSecmodDirectory) == false)) {
- throw new ProviderException("Secmod directory "
- + nssSecmodDirectory
- + " invalid, NSS already initialized with "
- + s);
+ String msg = "Secmod directory " + nssSecmodDirectory
+ + " invalid, NSS already initialized with " + s;
+ if (errorHandling == Config.ERR_IGNORE_MULTI_INIT ||
+ errorHandling == Config.ERR_IGNORE_ALL) {
+ throw new UnsupportedOperationException(msg);
+ } else {
+ throw new ProviderException(msg);
+ }
}
}
if (nssLibraryDirectory != null) {
String s = secmod.getLibDir();
if ((s != null) &&
(s.equals(nssLibraryDirectory) == false)) {
- throw new ProviderException("NSS library directory "
+ String msg = "NSS library directory "
+ nssLibraryDirectory
+ " invalid, NSS already initialized with "
- + s);
+ + s;
+ if (errorHandling == Config.ERR_IGNORE_MULTI_INIT ||
+ errorHandling == Config.ERR_IGNORE_ALL) {
+ throw new UnsupportedOperationException(msg);
+ } else {
+ throw new ProviderException(msg);
+ }
}
}
} else {
++++++ nss.cfg ++++++
name = NSS
nssLibraryDirectory =
nssDbMode = noDb
attributes = compatibility
++++++ policytool.desktop.in ++++++
[Desktop Entry]
Name=OpenJDK 8 Policy Tool
GenericName=OpenJDK Policy Tool
Comment=Manage OpenJDK policy files (@VERSION@)
Exec=@JAVA_HOME@/bin/policytool
Icon=java
Terminal=false
Type=Application
StartupWMClass=sun-security-tools-PolicyTool
Categories=Settings;DesktopSettings;Security;
Version=1.0
++++++ ppc-zero-hotspot.patch ++++++
diff -up jdk8/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp.ppc64 jdk8/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp
--- jdk8/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp.ppc64 2013-02-22 19:02:06.000000000 +0100
+++ jdk8/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp 2013-04-18 16:21:24.897403406 +0200
@@ -32,11 +32,15 @@
//
define_pd_global(bool, DontYieldALot, false);
-define_pd_global(intx, ThreadStackSize, 1536);
+define_pd_global(intx, ThreadStackSize, 1664);
#ifdef _LP64
-define_pd_global(intx, VMThreadStackSize, 1024);
+#if defined (_LITTLE_ENDIAN) && defined (__powerpc64__)
+define_pd_global(intx, VMThreadStackSize, 1920);
#else
-define_pd_global(intx, VMThreadStackSize, 512);
+define_pd_global(intx, VMThreadStackSize, 1280);
+#endif
+#else
+define_pd_global(intx, VMThreadStackSize, 640);
#endif // _LP64
define_pd_global(intx, CompilerThreadStackSize, 0);
define_pd_global(uintx, JVMInvokeMethodSlack, 8192);
++++++ s390-java-opts.patch ++++++
diff -urEbwB jdk8/common/autoconf/boot-jdk.m4 jdk8/common/autoconf/boot-jdk.m4
--- jdk8/common/autoconf/boot-jdk.m4 2014-10-28 18:10:36.000000000 +0100
+++ jdk8/common/autoconf/boot-jdk.m4 2014-11-11 12:54:41.698246995 +0100
@@ -319,21 +319,12 @@
AC_MSG_CHECKING([flags for boot jdk java command for big workloads])
# Starting amount of heap memory.
- ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA])
+ ADD_JVM_ARG_IF_OK([-Xms256M],boot_jdk_jvmargs_big,[$JAVA])
# Maximum amount of heap memory.
# Maximum stack size.
- if test "x$BUILD_NUM_BITS" = x32; then
- JVM_MAX_HEAP=1100M
+ JVM_MAX_HEAP=768M
STACK_SIZE=768
- else
- # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit
- # pointers are used. Apparently, we need to increase the heap and stack
- # space for the jvm. More specifically, when running javac to build huge
- # jdk batch
- JVM_MAX_HEAP=1600M
- STACK_SIZE=1536
- fi
ADD_JVM_ARG_IF_OK([-Xmx$JVM_MAX_HEAP],boot_jdk_jvmargs_big,[$JAVA])
ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA])
ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],boot_jdk_jvmargs_big,[$JAVA])
++++++ s390-size_t.patch ++++++
--- jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp 2015-02-06 12:41:58.252468796 +0100
+++ jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp 2015-02-06 12:42:56.781083256 +0100
@@ -2659,7 +2659,7 @@
if (ResizeOldPLAB && CMSOldPLABResizeQuicker) {
size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks);
n_blks += CMSOldPLABReactivityFactor*multiple*n_blks;
- n_blks = MIN2(n_blks, CMSOldPLABMax);
+ n_blks = MIN2(n_blks, (size_t)CMSOldPLABMax);
}
assert(n_blks > 0, "Error");
_cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl);
--- jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2015-02-06 12:41:58.252468796 +0100
+++ jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2015-02-06 12:42:56.784083185 +0100
@@ -957,7 +957,7 @@
if (free_percentage < desired_free_percentage) {
size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
assert(desired_capacity >= capacity(), "invalid expansion size");
- size_t expand_bytes = MAX2(desired_capacity - capacity(), MinHeapDeltaBytes);
+ size_t expand_bytes = MAX2(desired_capacity - capacity(), (size_t)MinHeapDeltaBytes);
if (PrintGCDetails && Verbose) {
size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
gclog_or_tty->print_cr("\nFrom compute_new_size: ");
@@ -6575,7 +6575,7 @@
HeapWord* curAddr = _markBitMap.startWord();
while (curAddr < _markBitMap.endWord()) {
size_t remaining = pointer_delta(_markBitMap.endWord(), curAddr);
- MemRegion chunk(curAddr, MIN2(CMSBitMapYieldQuantum, remaining));
+ MemRegion chunk(curAddr, MIN2((size_t)CMSBitMapYieldQuantum, remaining));
_markBitMap.clear_large_range(chunk);
if (ConcurrentMarkSweepThread::should_yield() &&
!foregroundGCIsActive() &&
@@ -6874,7 +6874,7 @@
return;
}
// Double capacity if possible
- size_t new_capacity = MIN2(_capacity*2, MarkStackSizeMax);
+ size_t new_capacity = MIN2(_capacity*2, (size_t)MarkStackSizeMax);
// Do not give up existing stack until we have managed to
// get the double capacity that we desired.
ReservedSpace rs(ReservedSpace::allocation_align_size_up(
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2015-02-06 12:41:58.253468772 +0100
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2015-02-06 12:42:56.785083162 +0100
@@ -3902,7 +3902,7 @@
// of things to do) or totally (at the very end).
size_t target_size;
if (partially) {
- target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize);
+ target_size = MIN2((size_t)(_task_queue->max_elems()/3), (size_t)GCDrainStackTargetSize);
} else {
target_size = 0;
}
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2015-02-06 12:41:58.254468748 +0100
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2015-02-06 12:42:56.787083115 +0100
@@ -1738,7 +1738,7 @@
verify_region_sets_optional();
- size_t expand_bytes = MAX2(word_size * HeapWordSize, MinHeapDeltaBytes);
+ size_t expand_bytes = MAX2(word_size * HeapWordSize, (size_t)MinHeapDeltaBytes);
ergo_verbose1(ErgoHeapSizing,
"attempt heap expansion",
ergo_format_reason("allocation request failed")
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp 2015-02-06 12:41:58.255468724 +0100
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp 2015-02-06 12:42:56.787083115 +0100
@@ -38,7 +38,7 @@
_cancel(false),
_empty(true),
_dropped(0) {
- _nqueues = MAX2(ParallelGCThreads, (size_t)1);
+ _nqueues = MAX2((size_t)ParallelGCThreads, (size_t)1);
_queues = NEW_C_HEAP_ARRAY(G1StringDedupWorkerQueue, _nqueues, mtGC);
for (size_t i = 0; i < _nqueues; i++) {
new (_queues + i) G1StringDedupWorkerQueue(G1StringDedupWorkerQueue::default_segment_size(), _max_cache_size, _max_size);
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp 2015-02-06 12:41:58.255468724 +0100
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp 2015-02-06 12:42:56.788083092 +0100
@@ -110,7 +110,7 @@
};
G1StringDedupEntryCache::G1StringDedupEntryCache() {
- _nlists = MAX2(ParallelGCThreads, (size_t)1);
+ _nlists = MAX2((size_t)ParallelGCThreads, (size_t)1);
_lists = PaddedArray::create_unfreeable((uint)_nlists);
}
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp 2015-02-06 12:41:58.256468700 +0100
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp 2015-02-06 12:42:56.788083092 +0100
@@ -147,7 +147,7 @@
if (FLAG_IS_DEFAULT(G1HeapRegionSize)) {
size_t average_heap_size = (initial_heap_size + max_heap_size) / 2;
region_size = MAX2(average_heap_size / HeapRegionBounds::target_number(),
- (uintx) HeapRegionBounds::min_size());
+ (size_t) HeapRegionBounds::min_size());
}
int region_size_log = log2_long((jlong) region_size);
--- jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2015-02-06 12:41:58.258468651 +0100
+++ jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2015-02-06 12:42:56.789083068 +0100
@@ -910,8 +910,8 @@
void PSParallelCompact::initialize_dead_wood_limiter()
{
const size_t max = 100;
- _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0;
- _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
+ _dwl_mean = double(MIN2((size_t)ParallelOldDeadWoodLimiterMean, max)) / 100.0;
+ _dwl_std_dev = double(MIN2((size_t)ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
_dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev);
DEBUG_ONLY(_dwl_initialized = true;)
_dwl_adjustment = normal_distribution(1.0);
--- jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2015-02-06 12:41:58.257468675 +0100
+++ jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2015-02-06 12:42:56.790083045 +0100
@@ -194,7 +194,7 @@
const size_t num_overflow_elems = of_stack->size();
const size_t space_available = queue->max_elems() - queue->size();
const size_t num_take_elems = MIN3(space_available / 4,
- ParGCDesiredObjsFromOverflowList,
+ (size_t)ParGCDesiredObjsFromOverflowList,
num_overflow_elems);
// Transfer the most recent num_take_elems from the overflow
// stack to our work queue.
--- jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp 2015-02-06 12:41:58.263468530 +0100
+++ jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp 2015-02-06 12:42:56.790083045 +0100
@@ -385,7 +385,7 @@
uintx calculated_size = NewSize + OldSize;
double shrink_factor = (double) MaxHeapSize / calculated_size;
uintx smaller_new_size = align_size_down((uintx)(NewSize * shrink_factor), _gen_alignment);
- FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), smaller_new_size));
+ FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), (size_t)smaller_new_size));
_initial_gen0_size = NewSize;
// OldSize is already aligned because above we aligned MaxHeapSize to
@@ -433,7 +433,7 @@
// yield a size that is too small) and bound it by MaxNewSize above.
// Ergonomics plays here by previously calculating the desired
// NewSize and MaxNewSize.
- max_new_size = MIN2(MAX2(max_new_size, NewSize), MaxNewSize);
+ max_new_size = MIN2(MAX2(max_new_size, (size_t)NewSize), (size_t)MaxNewSize);
}
assert(max_new_size > 0, "All paths should set max_new_size");
@@ -455,23 +455,23 @@
// lower limit.
_min_gen0_size = NewSize;
desired_new_size = NewSize;
- max_new_size = MAX2(max_new_size, NewSize);
+ max_new_size = MAX2(max_new_size, (size_t)NewSize);
} else if (FLAG_IS_ERGO(NewSize)) {
// If NewSize is set ergonomically, we should use it as a lower
// limit, but use NewRatio to calculate the initial size.
_min_gen0_size = NewSize;
desired_new_size =
- MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize);
- max_new_size = MAX2(max_new_size, NewSize);
+ MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize);
+ max_new_size = MAX2(max_new_size, (size_t)NewSize);
} else {
// For the case where NewSize is the default, use NewRatio
// to size the minimum and initial generation sizes.
// Use the default NewSize as the floor for these values. If
// NewRatio is overly large, the resulting sizes can be too
// small.
- _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), NewSize);
+ _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), (size_t)NewSize);
desired_new_size =
- MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize);
+ MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize);
}
assert(_min_gen0_size > 0, "Sanity check");
@@ -573,7 +573,7 @@
} else {
// It's been explicitly set on the command line. Use the
// OldSize and then determine the consequences.
- _min_gen1_size = MIN2(OldSize, _min_heap_byte_size - _min_gen0_size);
+ _min_gen1_size = MIN2((size_t)OldSize, _min_heap_byte_size - _min_gen0_size);
_initial_gen1_size = OldSize;
// If the user has explicitly set an OldSize that is inconsistent
--- jdk8/hotspot/src/share/vm/memory/metaspace.cpp 2015-02-06 12:41:58.264468506 +0100
+++ jdk8/hotspot/src/share/vm/memory/metaspace.cpp 2015-02-06 12:42:56.791083021 +0100
@@ -1455,7 +1455,7 @@
void MetaspaceGC::post_initialize() {
// Reset the high-water mark once the VM initialization is done.
- _capacity_until_GC = MAX2(MetaspaceAux::committed_bytes(), MetaspaceSize);
+ _capacity_until_GC = MAX2(MetaspaceAux::committed_bytes(), (size_t)MetaspaceSize);
}
bool MetaspaceGC::can_expand(size_t word_size, bool is_class) {
@@ -1515,7 +1515,7 @@
(size_t)MIN2(min_tmp, double(max_uintx));
// Don't shrink less than the initial generation size
minimum_desired_capacity = MAX2(minimum_desired_capacity,
- MetaspaceSize);
+ (size_t)MetaspaceSize);
if (PrintGCDetails && Verbose) {
gclog_or_tty->print_cr("\nMetaspaceGC::compute_new_size: ");
@@ -1573,7 +1573,7 @@
const double max_tmp = used_after_gc / minimum_used_percentage;
size_t maximum_desired_capacity = (size_t)MIN2(max_tmp, double(max_uintx));
maximum_desired_capacity = MAX2(maximum_desired_capacity,
- MetaspaceSize);
+ (size_t)MetaspaceSize);
if (PrintGCDetails && Verbose) {
gclog_or_tty->print_cr(" "
" maximum_free_percentage: %6.2f"
@@ -3245,7 +3245,7 @@
// on the medium chunk list. The next chunk will be small and progress
// from there. This size calculated by -version.
_first_class_chunk_word_size = MIN2((size_t)MediumChunk*6,
- (CompressedClassSpaceSize/BytesPerWord)*2);
+ (size_t)(CompressedClassSpaceSize/BytesPerWord)*2);
_first_class_chunk_word_size = align_word_size_up(_first_class_chunk_word_size);
// Arbitrarily set the initial virtual space to a multiple
// of the boot class loader size.
--- jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp 2015-02-06 12:41:58.267468433 +0100
+++ jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp 2015-02-06 12:42:56.792082998 +0100
@@ -48,7 +48,7 @@
const size_t beg_index = size_t(index);
assert(beg_index < len || len == 0, "index too large");
- const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
+ const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
const size_t end_index = beg_index + stride;
T* const base = (T*)a->base();
T* const beg = base + beg_index;
@@ -82,7 +82,7 @@
const size_t beg_index = size_t(index);
assert(beg_index < len || len == 0, "index too large");
- const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
+ const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
const size_t end_index = beg_index + stride;
T* const base = (T*)a->base();
T* const beg = base + beg_index;
--- jdk8/hotspot/src/share/vm/runtime/arguments.cpp 2015-02-06 12:41:58.277468191 +0100
+++ jdk8/hotspot/src/share/vm/runtime/arguments.cpp 2015-02-06 12:42:56.794082951 +0100
@@ -1277,7 +1277,7 @@
// NewSize was set on the command line and it is larger than
// preferred_max_new_size.
if (!FLAG_IS_DEFAULT(NewSize)) { // NewSize explicitly set at command-line
- FLAG_SET_ERGO(uintx, MaxNewSize, MAX2(NewSize, preferred_max_new_size));
+ FLAG_SET_ERGO(uintx, MaxNewSize, MAX2((size_t)NewSize, preferred_max_new_size));
} else {
FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size);
}
@@ -1302,8 +1302,8 @@
// Unless explicitly requested otherwise, make young gen
// at least min_new, and at most preferred_max_new_size.
if (FLAG_IS_DEFAULT(NewSize)) {
- FLAG_SET_ERGO(uintx, NewSize, MAX2(NewSize, min_new));
- FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize));
+ FLAG_SET_ERGO(uintx, NewSize, MAX2((size_t)NewSize, min_new));
+ FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t)NewSize));
if (PrintGCDetails && Verbose) {
// Too early to use gclog_or_tty
tty->print_cr("CMS ergo set NewSize: " SIZE_FORMAT, NewSize);
@@ -1313,7 +1313,7 @@
// so it's NewRatio x of NewSize.
if (FLAG_IS_DEFAULT(OldSize)) {
if (max_heap > NewSize) {
- FLAG_SET_ERGO(uintx, OldSize, MIN2(NewRatio*NewSize, max_heap - NewSize));
+ FLAG_SET_ERGO(uintx, OldSize, MIN2((unsigned long)(NewRatio*NewSize), max_heap - NewSize));
if (PrintGCDetails && Verbose) {
// Too early to use gclog_or_tty
tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize);
++++++ system-lcms.patch ++++++
--- jdk8/common/autoconf/libraries.m4 2014-09-26 08:49:01.572737814 +0200
+++ jdk8/common/autoconf/libraries.m4 2014-09-26 08:50:22.896853996 +0200
@@ -679,6 +679,46 @@
###############################################################################
#
+ # Check for the lcms2 library
+ #
+
+ AC_ARG_WITH(lcms, [AS_HELP_STRING([--with-lcms],
+ [use lcms2 from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
+
+ AC_CHECK_LIB(lcms2, cmsOpenProfileFromFile,
+ [ LCMS_FOUND=yes ],
+ [ LCMS_FOUND=no ])
+
+ AC_MSG_CHECKING([for which lcms to use])
+
+ DEFAULT_LCMS=bundled
+
+ #
+ # If user didn't specify, use DEFAULT_LCMS
+ #
+ if test "x${with_lcms}" = "x"; then
+ with_lcms=${DEFAULT_LCMS}
+ fi
+
+ if test "x${with_lcms}" = "xbundled"; then
+ USE_EXTERNAL_LCMS=false
+ AC_MSG_RESULT([bundled])
+ elif test "x${with_lcms}" = "xsystem"; then
+ if test "x${LCMS_FOUND}" = "xyes"; then
+ USE_EXTERNAL_LCMS=true
+ AC_MSG_RESULT([system])
+ else
+ AC_MSG_RESULT([system not found])
+ AC_MSG_ERROR([--with-lcms=system specified, but no lcms found!])
+ fi
+ else
+ AC_MSG_ERROR([Invalid value for --with-lcms: ${with_lcms}, use 'system' or 'bundled'])
+ fi
+
+ AC_SUBST(USE_EXTERNAL_LCMS)
+
+ ###############################################################################
+ #
# Check for the png library
#
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk 2014-09-26 08:49:00.981751504 +0200
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk 2014-09-26 08:50:22.897853978 +0200
@@ -669,8 +669,8 @@
##########################################################################################
# TODO: Update awt lib path when awt is converted
-$(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \
- LIBRARY := lcms, \
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVALCMS, \
+ LIBRARY := javalcms, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms, \
LANG := C, \
@@ -688,19 +688,19 @@
LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \
LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \
- LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm, \
+ LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm -llcms2, \
LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm,\
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
RC_FLAGS := $(RC_FLAGS) \
- -D "JDK_FNAME=lcms.dll" \
- -D "JDK_INTERNAL_NAME=lcms" \
+ -D "JDK_FNAME=javalcms.dll" \
+ -D "JDK_INTERNAL_NAME=javalcms" \
-D "JDK_FTYPE=0x2L", \
- OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/liblcms, \
+ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjavalcms, \
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
-BUILD_LIBRARIES += $(BUILD_LIBLCMS)
+BUILD_LIBRARIES += $(BUILD_LIBJAVALCMS)
-$(BUILD_LIBLCMS): $(BUILD_LIBAWT)
+$(BUILD_LIBJAVALCMS): $(BUILD_LIBAWT)
##########################################################################################
--- jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java 2014-09-26 08:49:00.646759264 +0200
+++ jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java 2014-09-26 08:50:22.897853978 +0200
@@ -207,7 +207,7 @@
* disposer frameworks
*/
System.loadLibrary("awt");
- System.loadLibrary("lcms");
+ System.loadLibrary("javalcms");
return null;
}
});
++++++ system-libjpeg.patch ++++++
--- jdk8/common/autoconf/libraries.m4 2015-02-17 13:27:11.468829365 +0100
+++ jdk8/common/autoconf/libraries.m4 2015-02-17 13:27:49.143980484 +0100
@@ -608,11 +608,36 @@
# Check for the jpeg library
#
+ AC_ARG_WITH(libjpeg, [AS_HELP_STRING([--with-libjpeg],
+ [use libjpeg from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
+
+ AC_MSG_CHECKING([for which libjpeg to use])
+
+ # default is bundled
+ DEFAULT_LIBJPEG=bundled
+
+ #
+ # if user didn't specify, use DEFAULT_LIBJPEG
+ #
+ if test "x${with_libjpeg}" = "x"; then
+ with_libjpeg=${DEFAULT_LIBJPEG}
+ fi
+
+ AC_MSG_RESULT(${with_libjpeg})
+
+ if test "x${with_libjpeg}" = "xbundled"; then
+ USE_EXTERNAL_LIBJPEG=false
+ elif test "x${with_libjpeg}" = "xsystem"; then
+ AC_CHECK_HEADER(jpeglib.h, [],
+ [ AC_MSG_ERROR([--with-libjpeg=system specified, but jpeglib.h not found!])])
+ AC_CHECK_LIB(jpeg, jpeg_CreateDecompress, [],
+ [ AC_MSG_ERROR([--with-libjpeg=system specified, but no libjpeg found])])
+
USE_EXTERNAL_LIBJPEG=true
- AC_CHECK_LIB(jpeg, main, [],
- [ USE_EXTERNAL_LIBJPEG=false
- AC_MSG_NOTICE([Will use jpeg decoder bundled with the OpenJDK source])
- ])
+ else
+ AC_MSG_ERROR([Invalid use of --with-libjpeg: ${with_libjpeg}, use 'system' or 'bundled'])
+ fi
+
AC_SUBST(USE_EXTERNAL_LIBJPEG)
###############################################################################
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk 2015-02-17 13:25:22.125292473 +0100
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk 2015-02-17 13:28:30.812041352 +0100
@@ -704,18 +704,20 @@
##########################################################################################
+BUILD_LIBJAVAJPEG_DIR := $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
+
ifdef OPENJDK
- BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
+ BUILD_LIBJAVAJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
else
- BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed
- BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
- BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC)
+ BUILD_LIBJAVAJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed
+ BUILD_LIBJAVAJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
+ BUILD_LIBJAVAJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJAVAJPEG_CLOSED_SRC)
endif
-BUILD_LIBJPEG_REORDER :=
+BUILD_LIBJAVAJPEG_REORDER :=
ifeq ($(OPENJDK_TARGET_OS), solaris)
ifneq ($(OPENJDK_TARGET_CPU), x86_64)
- BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
+ BUILD_LIBJAVAJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
endif
endif
@@ -730,37 +733,50 @@
# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
# ifeq ($(CC_43_OR_NEWER), 1)
-# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
+# BUILD_LIBJAVAJPEG_CFLAGS_linux += -Wno-clobbered
# endif
#endif
-$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG, \
- LIBRARY := jpeg, \
+ifeq ($(USE_EXTERNAL_LIBJPEG), true)
+ LIBJPEG_LIBS := -ljpeg
+ BUILD_LIBJAVAJPEG_INCLUDE_FILES := \
+ imageioJPEG.c \
+ jpegdecoder.c
+ BUILD_LIBJAVAJPEG_HEADERS :=
+else
+ LIBJPEG_LIBS :=
+ BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
+ BUILD_LIBJAVAJPEG_HEADERS := -I$(BUILD_LIBJAVAJPEG_DIR)
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVAJPEG, \
+ LIBRARY := javajpeg, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
- SRC := $(BUILD_LIBJPEG_CLOSED_SRC) \
- $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
+ SRC := $(BUILD_LIBJAVAJPEG_CLOSED_SRC) \
+ $(BUILD_LIBJAVAJPEG_DIR), \
+ INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
LANG := C, \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) \
- $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
- -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
- MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
- LDFLAGS := $(LDFLAGS_JDKLIB) \
+ $(BUILD_LIBJAVAJPEG_CLOSED_INCLUDES) \
+ $(BUILD_LIBJAVAJPEG_HEADERS), \
+ MAPFILE := $(BUILD_LIBJAVAJPEG_MAPFILE), \
+ LDFLAGS := $(LDFLAGS_JDKLIB) $(LIBJPEG_LIBS) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
RC_FLAGS := $(RC_FLAGS) \
- -D "JDK_FNAME=jpeg.dll" \
- -D "JDK_INTERNAL_NAME=jpeg" \
+ -D "JDK_FNAME=javajpeg.dll" \
+ -D "JDK_INTERNAL_NAME=javajpeg" \
-D "JDK_FTYPE=0x2L", \
- REORDER := $(BUILD_LIBJPEG_REORDER), \
+ REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjpeg, \
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
-$(BUILD_LIBJPEG): $(BUILD_LIBJAVA)
+$(BUILD_LIBJAVAJPEG): $(BUILD_LIBJAVA)
-BUILD_LIBRARIES += $(BUILD_LIBJPEG)
+BUILD_LIBRARIES += $(BUILD_LIBJAVAJPEG)
##########################################################################################
@@ -1206,6 +1222,13 @@
GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
endif
+ ifeq ($(USE_EXTERNAL_LIBJPEG), true)
+ LIBJPEG_LDFLAGS := -ljpeg
+ else
+ LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
+ LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
+ endif
+
ifneq ($(OPENJDK_TARGET_OS), macosx)
LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
else
@@ -1268,11 +1291,13 @@
EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
LANG := C, \
OPTIMIZATION := LOW, \
- CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS), \
+ CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
+ $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS), \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
- LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS), \
+ LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \
+ $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS), \
LDFLAGS_SUFFIX_solaris := -lc, \
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
RC_FLAGS := $(RC_FLAGS) \
--- jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java 2015-02-17 13:25:22.295288644 +0100
+++ jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java 2015-02-17 13:27:49.145980439 +0100
@@ -89,7 +89,7 @@
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
public Void run() {
- System.loadLibrary("jpeg");
+ System.loadLibrary("javajpeg");
return null;
}
});
--- jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java 2015-02-17 13:25:22.295288644 +0100
+++ jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java 2015-02-17 13:27:49.145980439 +0100
@@ -179,7 +179,7 @@
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
public Void run() {
- System.loadLibrary("jpeg");
+ System.loadLibrary("javajpeg");
return null;
}
});
--- jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java 2015-02-17 13:25:22.170291459 +0100
+++ jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java 2015-02-17 13:27:49.146980416 +0100
@@ -56,7 +56,7 @@
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
public Void run() {
- System.loadLibrary("jpeg");
+ System.loadLibrary("javajpeg");
return null;
}
});
--- jdk8/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2015-02-17 13:25:22.531283329 +0100
+++ jdk8/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2015-02-17 13:27:49.146980416 +0100
@@ -51,7 +51,7 @@
/* headers from the JPEG library */
#include
-#include "jerror.h"
+#include
#undef MAX
#define MAX(a,b) ((a) > (b) ? (a) : (b))
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c 2015-02-17 13:25:22.539283148 +0100
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c 2015-02-17 13:27:49.147980394 +0100
@@ -25,9 +25,9 @@
#include "splashscreen_impl.h"
-#include "jinclude.h"
-#include "jpeglib.h"
-#include "jerror.h"
+#include
+#include
+#include
#include
@@ -113,11 +113,11 @@
if (cinfo->src == NULL) { /* first time for this JPEG object? */
cinfo->src = (struct jpeg_source_mgr *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo,
- JPOOL_PERMANENT, SIZEOF(stream_source_mgr));
+ JPOOL_PERMANENT, sizeof(stream_source_mgr));
src = (stream_src_ptr) cinfo->src;
src->buffer = (JOCTET *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo,
- JPOOL_PERMANENT, INPUT_BUF_SIZE * SIZEOF(JOCTET));
+ JPOOL_PERMANENT, INPUT_BUF_SIZE * sizeof(JOCTET));
}
src = (stream_src_ptr) cinfo->src;
++++++ system-libpng.patch ++++++
--- jdk8/common/autoconf/libraries.m4 2014-09-26 08:45:01.057310067 +0200
+++ jdk8/common/autoconf/libraries.m4 2014-09-26 08:46:38.602049970 +0200
@@ -679,6 +679,47 @@
###############################################################################
#
+ # Check for the png library
+ #
+
+ AC_ARG_WITH(libpng, [AS_HELP_STRING([--with-libpng],
+ [use libpng from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
+
+ AC_CHECK_LIB(png, png_sig_cmp,
+ [ LIBPNG_FOUND=yes ],
+ [ LIBPNG_FOUND=no ])
+
+ AC_MSG_CHECKING([for which libpng to use])
+
+ # default is bundled
+ DEFAULT_LIBPNG=bundled
+
+ #
+ # if user didn't specify, use DEFAULT_LIBPNG
+ #
+ if test "x${with_libpng}" = "x"; then
+ with_libpng=${DEFAULT_libpng}
+ fi
+
+
+ if test "x${with_libpng}" = "xbundled"; then
+ USE_EXTERNAL_LIBPNG=false
+ AC_MSG_RESULT([bundled])
+ elif test "x${with_libpng}" = "xsystem"; then
+ if test "x${LIBPNG_FOUND}" = "xyes"; then
+ USE_EXTERNAL_LIBPNG=true
+ AC_MSG_RESULT([system])
+ else
+ AC_MSG_RESULT([system not found])
+ AC_MSG_ERROR([--with-libpng=system specified, but no libpng found!])
+ fi
+ else
+ AC_MSG_ERROR([Invalid value of --with-libpng: ${with_libpng}, use 'system' or 'bundled'])
+ fi
+ AC_SUBST(USE_EXTERNAL_LIBPNG)
+
+ ###############################################################################
+ #
# Check for the zlib library
#
--- jdk8/common/autoconf/spec.gmk.in 2014-09-26 08:45:01.057310067 +0200
+++ jdk8/common/autoconf/spec.gmk.in 2014-09-26 08:46:38.603049945 +0200
@@ -555,6 +555,7 @@
ENABLE_JFR=@ENABLE_JFR@
ENABLE_INTREE_EC=@ENABLE_INTREE_EC@
USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
+USE_EXTERNAL_LIBPNG:=@USE_EXTERNAL_LIBPNG@
USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk 2014-09-26 08:45:00.475323552 +0200
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk 2014-09-26 08:46:38.603049945 +0200
@@ -1211,7 +1211,6 @@
ifndef BUILD_HEADLESS_ONLY
LIBSPLASHSCREEN_DIRS := \
$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
- $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
$(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
ifeq ($(USE_EXTERNAL_LIBGIF), true)
@@ -1228,6 +1227,13 @@
LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
endif
+ ifeq ($(USE_EXTERNAL_LIBPNG), true)
+ LIBPNG_LDFLAGS := -lpng
+ else
+ LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/image/libpng
+ LIBPNG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/libpng
+ endif
+
ifneq ($(OPENJDK_TARGET_OS), macosx)
LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
else
@@ -1291,12 +1297,12 @@
LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
- $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS), \
+ $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS), \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \
- $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS), \
+ $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS) $(LIBPNG_LDFLAGS), \
LDFLAGS_SUFFIX_solaris := -lc, \
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
RC_FLAGS := $(RC_FLAGS) \
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2014-09-26 08:45:00.414324966 +0200
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2014-09-26 08:46:38.603049945 +0200
@@ -25,8 +25,7 @@
#include "splashscreen_impl.h"
-#include "../libpng/png.h"
-
+#include
#include
#define SIG_BYTES 8
++++++ zero-dummy.patch ++++++
--- jdk8/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2015-06-10 10:06:49.485230587 +0200
+++ jdk8/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2015-06-10 10:07:33.645229254 +0200
@@ -55,8 +55,8 @@
#include "utilities/vmError.hpp"
address os::current_stack_pointer() {
- address dummy = (address) &dummy;
- return dummy;
+ // return the address of the current function
+ return (address)__builtin_frame_address(0);
}
frame os::get_sender_for_C_frame(frame* fr) {
++++++ zero-javadoc-verbose.patch ++++++
Index: jdk8u-3e6d3c8810ee/make/Javadoc.gmk
===================================================================
--- jdk8u-3e6d3c8810ee.orig/make/Javadoc.gmk
+++ jdk8u-3e6d3c8810ee/make/Javadoc.gmk
@@ -260,7 +260,6 @@ $(call CopyrightLine,$(COPYRIGHT_URL),$(
# Common javadoc options used by all
COMMON_JAVADOCFLAGS = \
-XDignore.symbol.file=true \
- -quiet \
-use \
-keywords \
-Xdoclint:none \