Hello community,

here is the log from the commit of package java-1_8_0-openjdk for 
openSUSE:Factory checked in at 2014-08-07 12:37:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/java-1_8_0-openjdk (Old)
 and      /work/SRC/openSUSE:Factory/.java-1_8_0-openjdk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "java-1_8_0-openjdk"

Changes:
--------
New Changes file:

--- /dev/null   2014-07-24 01:57:42.080040256 +0200
+++ 
/work/SRC/openSUSE:Factory/.java-1_8_0-openjdk.new/java-1_8_0-openjdk.changes   
    2014-08-07 12:37:58.000000000 +0200
@@ -0,0 +1,48 @@
+-------------------------------------------------------------------
+Fri Jul 18 07:21:20 UTC 2014 - fst...@suse.com
+
+- Upgrade to upstream tag jdk8u20-b23
+  * Security updates from 15 July 2014
+- Removed patch: voidreturn.patch
+  * Integrated upstream
+- Re-diffed patch: java-atk-wrapper-security.patch
+  * Re-diff to correspond to the new changes
+- Modify accessibility post script to actually create the
+  corresponding symlinks
+
+-------------------------------------------------------------------
+Tue Jul 15 08:03:53 UTC 2014 - fst...@suse.com
+
+- Initial package built from upstream OpenJDK
+  * Version 1.8.0.20~b22
+  * Sources from http://hg.openjdk.java.net/jdk8u/jdk8u20/
+    tag jdk8u20-b22
+- Initial bug-/build-fix patches
+  * 1015432.patch
+  * aarch64-jni-update.patch
+  * aarch64-misc.patch
+  * adlc-parser.patch
+  * applet-hole.patch
+  * compare-pointer-with-literal.patch
+  * disable-doclint-by-default.patch
+  * hotspot-build-j-directive.patch
+  * implicit-pointer-decl.patch
+  * include-all-srcs.patch
+  * java-atk-wrapper-security.patch
+  * link-with-as-needed.patch
+  * memory-limits.patch
+  * multiple-pkcs11-library-init.patch
+  * ppc-zero-hotspot.patch
+  * PStack-808293.patch
+  * s390-java-opts.patch
+  * s390-size_t.patch
+  * system-giflib5.patch
+  * system-lcms.patch
+  * system-libjpeg.patch
+  * system-libpng.patch
+  * voidreturn.patch
+- Added aarch64 hotspot from the tip of
+  http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot
+- Added pulseaudio provider from the tip of
+  http://icedtea.classpath.org/hg/icedtea-sound/
+

New:
----
  1015432.patch
  5c1d6da1445a.tar.bz2
  86856b2e3d18.tar.bz2
  919405d7316d.tar.bz2
  PStack-808293.patch
  TestCryptoLevel.java
  aarch64-jni-update.patch
  aarch64-misc.patch
  ad36f9454ce3.tar.bz2
  adlc-parser.patch
  applet-hole.patch
  b14daf2459c5.tar.bz2
  be30cb2a3088.tar.bz2
  c5b8254a0fe2.tar.bz2
  compare-pointer-with-literal.patch
  config.guess
  config.sub
  d6ded60cfdc5.tar.bz2
  disable-doclint-by-default.patch
  f09d1f6a401e.tar.bz2
  f3bf1b270fea.tar.bz2
  hotspot-build-j-directive.patch
  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-giflib5.patch
  system-lcms.patch
  system-libjpeg.patch
  system-libpng.patch
  systemtap-tapset.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ java-1_8_0-openjdk.spec ++++++
++++ 1174 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);
      }
  }
}
++++++ aarch64-jni-update.patch ++++++
--- jdk8/hotspot/make/linux/makefiles/mapfile-vers-product      2014-06-23 
13:56:33.000000000 -0400
+++ jdk8/hotspot/make/linux/makefiles/mapfile-vers-product      2014-07-02 
05:11:08.566464756 -0400
@@ -163,6 +163,7 @@
                 JVM_GetStackTraceElement;
                 JVM_GetSystemPackage;
                 JVM_GetSystemPackages;
+                JVM_GetTemporaryDirectory;
                 JVM_GetThreadStateNames;
                 JVM_GetThreadStateValues;
                 JVM_GetVersionInfo;
--- jdk8/hotspot/make/linux/makefiles/mapfile-vers-debug        2014-06-23 
13:56:33.000000000 -0400
+++ jdk8/hotspot/make/linux/makefiles/mapfile-vers-debug        2014-07-02 
05:10:54.827654319 -0400
@@ -163,6 +163,7 @@
                 JVM_GetStackTraceElement;
                 JVM_GetSystemPackage;
                 JVM_GetSystemPackages;
+                JVM_GetTemporaryDirectory;
                 JVM_GetThreadStateNames;
                 JVM_GetThreadStateValues;
                 JVM_GetVersionInfo;
--- jdk8/hotspot/src/share/vm/prims/jvm.cpp     2014-06-23 13:56:33.000000000 
-0400
+++ jdk8/hotspot/src/share/vm/prims/jvm.cpp     2014-07-02 05:09:22.335662279 
-0400
@@ -391,6 +391,21 @@
   return properties;
 JVM_END
 
+/*
+ * Return the temporary directory that the VM uses for the attach
+ * and perf data files.
+ *
+ * It is important that this directory is well-known and the
+ * same for all VM instances. It cannot be affected by configuration
+ * variables such as java.io.tmpdir.
+ */
+JVM_ENTRY(jstring, JVM_GetTemporaryDirectory(JNIEnv *env))
+  JVMWrapper("JVM_GetTemporaryDirectory");
+  HandleMark hm(THREAD);
+  const char* temp_dir = os::get_temp_directory();
+  Handle h = java_lang_String::create_from_platform_dependent_str(temp_dir, 
CHECK_NULL);
+  return (jstring) JNIHandles::make_local(env, h());
+JVM_END
 
 // java.lang.Runtime 
/////////////////////////////////////////////////////////////////////////
 
--- jdk8/hotspot/src/share/vm/prims/jvm.h       2014-06-23 13:56:33.000000000 
-0400
+++ jdk8/hotspot/src/share/vm/prims/jvm.h       2014-07-02 05:07:41.524389758 
-0400
@@ -1490,6 +1490,9 @@
 JNIEXPORT jobject JNICALL
 JVM_InitAgentProperties(JNIEnv *env, jobject agent_props);
 
+JNIEXPORT jstring JNICALL
+JVM_GetTemporaryDirectory(JNIEnv *env);
+
 /* Generics reflection support.
  *
  * Returns information about the given class's EnclosingMethod

++++++ aarch64-misc.patch ++++++
--- jdk8/common/autoconf/generated-configure.sh 2014-06-18 21:34:07.000000000 
+0200
+++ jdk8/common/autoconf/generated-configure.sh 2014-07-09 16:02:13.342878150 
+0200
@@ -6818,6 +6818,12 @@
       VAR_CPU_BITS=32
       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
@@ -6949,6 +6955,12 @@
       VAR_CPU_BITS=32
       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
@@ -7909,11 +7921,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
@@ -7953,6 +7960,9 @@
   if test "x$VAR_CPU" = xppc64 ; 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
@@ -29712,7 +29722,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
@@ -29957,6 +29967,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 2014-06-18 21:34:07.000000000 +0200
+++ jdk8/common/autoconf/jdk-options.m4 2014-07-09 16:03:01.156813855 +0200
@@ -117,11 +117,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
-      AC_MSG_ERROR([You cannot build a client JVM for a 64-bit machine.])
-    fi
-  fi
   if test "x$JVM_VARIANT_KERNEL" = xtrue; then
     if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
       AC_MSG_ERROR([You cannot build a kernel JVM for a 64-bit machine.])
@@ -161,6 +156,9 @@
   if test "x$VAR_CPU" = xppc64 ; 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    2014-06-18 21:34:07.000000000 +0200
+++ jdk8/common/autoconf/platform.m4    2014-07-09 16:02:13.345878082 +0200
@@ -48,6 +48,12 @@
       VAR_CPU_BITS=32
       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   2014-06-18 21:34:07.000000000 +0200
+++ jdk8/common/autoconf/toolchain.m4   2014-07-09 16:02:13.345878082 +0200
@@ -878,7 +878,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
@@ -1158,6 +1158,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 2014-06-23 01:01:34.000000000 +0200
+++ jdk8/jdk/make/gensrc/GensrcMisc.gmk 2014-07-09 16:02:13.346878060 +0200
@@ -95,7 +95,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        2014-06-23 01:01:34.000000000 
+0200
+++ jdk8/jdk/make/lib/SoundLibraries.gmk        2014-07-09 16:02:13.346878060 
+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   2014-06-23 
01:01:34.000000000 +0200
+++ jdk8/jdk/src/share/native/com/sun/media/sound/SoundDefs.h   2014-07-09 
16:02:13.346878060 +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    2014-07-09 16:02:13.346878060 
+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=<jvm_dir>" 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() {
++++++ applet-hole.patch ++++++
diff --git jdk8/jdk/src/share/classes/sun/applet/AppletPanel.java 
jdk8/jdk/src/share/classes/sun/applet/AppletPanel.java
--- jdk8/jdk/src/share/classes/sun/applet/AppletPanel.java
+++ jdk8/jdk/src/share/classes/sun/applet/AppletPanel.java
@@ -68,7 +68,7 @@
     /**
      * The applet (if loaded).
      */
-    Applet applet;
+    protected Applet applet;
 
     /**
      * Applet will allow initialization.  Should be
@@ -162,7 +162,8 @@
      * Creates a thread to run the applet. This method is called
      * each time an applet is loaded and reloaded.
      */
-    synchronized void createAppletThread() {
+       //Overridden by NetxPanel.
+    protected synchronized void createAppletThread() {
         // Create a thread group for the applet, and start a new
         // thread to load the applet.
         String nm = "applet-" + getCode();
@@ -306,7 +307,7 @@
     /**
      * Get an event from the queue.
      */
-    synchronized AppletEvent getNextEvent() throws InterruptedException {
+    protected synchronized AppletEvent getNextEvent() throws 
InterruptedException {
         while (queue == null || queue.isEmpty()) {
             wait();
         }
@@ -692,7 +693,8 @@
      * applet event processing so that it can be gracefully interrupted from
      * things like HotJava.
      */
-    private void runLoader() {
+       //Overridden by NetxPanel.
+    protected void runLoader() {
         if (status != APPLET_DISPOSE) {
             showAppletStatus("notdisposed");
             return;
diff --git jdk8/jdk/src/share/classes/sun/applet/AppletViewerPanel.java 
jdk8/jdk/src/share/classes/sun/applet/AppletViewerPanel.java
--- jdk8/jdk/src/share/classes/sun/applet/AppletViewerPanel.java
+++ jdk8/jdk/src/share/classes/sun/applet/AppletViewerPanel.java
@@ -42,25 +42,25 @@
  *
  * @author      Arthur van Hoff
  */
-class AppletViewerPanel extends AppletPanel {
+public class AppletViewerPanel extends AppletPanel {
 
     /* Are we debugging? */
-    static boolean debug = false;
+    protected static boolean debug = false;
 
     /**
      * The document url.
      */
-    URL documentURL;
+    protected URL documentURL;
 
     /**
      * The base url.
      */
-    URL baseURL;
+    protected URL baseURL;
 
     /**
      * The attributes of the applet.
      */
-    Hashtable atts;
+    protected Hashtable<String,String> atts;
 
     /*
      * JDK 1.1 serialVersionUID
@@ -70,7 +70,7 @@
     /**
      * Construct an applet viewer and start the applet.
      */
-    AppletViewerPanel(URL documentURL, Hashtable atts) {
+    protected AppletViewerPanel(URL documentURL, Hashtable<String,String> 
atts) {
         this.documentURL = documentURL;
         this.atts = atts;
 
@@ -106,7 +106,7 @@
      * Get an applet parameter.
      */
     public String getParameter(String name) {
-        return (String)atts.get(name.toLowerCase());
+        return atts.get(name.toLowerCase());
     }
 
     /**
@@ -202,12 +202,12 @@
         return (AppletContext)getParent();
     }
 
-    static void debug(String s) {
+    protected static void debug(String s) {
         if(debug)
             System.err.println("AppletViewerPanel:::" + s);
     }
 
-    static void debug(String s, Throwable t) {
+    protected static void debug(String s, Throwable t) {
         if(debug) {
             t.printStackTrace();
             debug(s);
++++++ 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 ++++++
++++ 1578 lines (skipped)

++++++ config.sub ++++++
++++ 1793 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.html

Author: Andrew John Hughes <ahug...@redhat.com>
Author: Emmanuel Bourg <ebo...@apache.org>
--- 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,
++++++ hotspot-build-j-directive.patch ++++++
# HG changeset patch
# User andrew
# Date 1398183426 -3600
# Node ID b4ea3a87f707e674a144e805084bda0f72ad4e38
# Parent  00aa9f5a26b9e2c7bdca547201106f76e23a8c01
Don't substitute 'j' for '-j' inside -I directives

--- jdk8/hotspot/make/linux/makefiles/adjust-mflags.sh  Tue Apr 22 17:15:43 
2014 +0100
+++ jdk8/hotspot/make/linux/makefiles/adjust-mflags.sh  Tue Apr 22 17:17:06 
2014 +0100
@@ -64,7 +64,7 @@
        echo "$MFLAGS" \
        | sed '
                s/^-/ -/
-               s/ -\([^        ][^     ]*\)j/ -\1 -j/
+               s/ -\([^        I][^    ]*\)j/ -\1 -j/
                s/ -j[0-9][0-9]*/ -j/
                s/ -j\([^       ]\)/ -j -\1/
                s/ -j/ -j'${HOTSPOT_BUILD_JOBS:-${default_build_jobs}}'/

++++++ 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 <ctype.h>
-#endif /* _WIN32 */
 #include <string.h>
 #include <stdlib.h>
 
++++++ 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
+++ jdk8/jdk/make/CompileLaunchers.gmk
@@ -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
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk
@@ -762,10 +762,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 ++++++
--- jdk8/common/autoconf/boot-jdk.m4    2014-06-18 21:34:07.000000000 +0200
+++ jdk8/common/autoconf/boot-jdk.m4    2014-07-09 22:00:05.272599977 +0200
@@ -315,12 +315,12 @@
     fi
 
     # Minimum amount of heap memory.
-    ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA])
+    ADD_JVM_ARG_IF_OK([-Xms256M],boot_jdk_jvmargs,[$JAVA])
     if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = 
"xppc64" ; then
       # Why does macosx need more heap? Its the huge JDK batch.
       ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA])
     else
-      ADD_JVM_ARG_IF_OK([-Xmx1100M],boot_jdk_jvmargs,[$JAVA])
+      ADD_JVM_ARG_IF_OK([-Xmx768M],boot_jdk_jvmargs,[$JAVA])
     fi
     # When is adding -client something that speeds up the JVM?
     # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
++++++ s390-size_t.patch ++++++
--- 
jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
        2014-07-03 21:56:12.000000000 +0200
+++ 
jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
        2014-07-11 13:41:53.568013676 +0200
@@ -2686,7 +2686,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
   2014-07-03 21:56:12.000000000 +0200
+++ 
jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
   2014-07-11 13:58:22.740341755 +0200
@@ -950,7 +950,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: ");
@@ -6559,7 +6559,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() &&
@@ -6858,7 +6858,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   
2014-07-03 21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp   
2014-07-11 13:57:11.817966591 +0200
@@ -3767,7 +3767,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  
2014-07-03 21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp  
2014-07-11 13:41:53.582013356 +0200
@@ -1730,7 +1730,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       
2014-07-03 21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp       
2014-07-11 15:59:18.899087161 +0200
@@ -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       
2014-07-03 21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp       
2014-07-11 16:09:06.970540320 +0200
@@ -110,7 +110,7 @@
 };
 
 G1StringDedupEntryCache::G1StringDedupEntryCache() {
-  _nlists = MAX2(ParallelGCThreads, (size_t)1);
+  _nlists = MAX2((size_t)ParallelGCThreads, (size_t)1);
   _lists = PaddedArray<G1StringDedupEntryFreeList, 
mtGC>::create_unfreeable((uint)_nlists);
 }
 
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp       
2014-07-03 21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp       
2014-07-11 13:41:53.582013356 +0200
@@ -160,7 +160,7 @@
   if (FLAG_IS_DEFAULT(G1HeapRegionSize)) {
     size_t average_heap_size = (initial_heap_size + max_heap_size) / 2;
     region_size = MAX2(average_heap_size / TARGET_REGION_NUMBER,
-                       (uintx) MIN_REGION_SIZE);
+                       (size_t) MIN_REGION_SIZE);
   }
 
   int region_size_log = log2_long((jlong) region_size);
--- 
jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp  
    2014-07-03 21:56:12.000000000 +0200
+++ 
jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp  
    2014-07-11 17:39:05.464946601 +0200
@@ -71,7 +71,7 @@
   if (_virtual_space != NULL && 
_virtual_space->expand_by(_reserved_byte_size)) {
     _region_start = covered_region.start();
     _region_size = covered_region.word_size();
-    idx_t* map = (idx_t*)_virtual_space->reserved_low_addr();
+    BitMap::bm_word_t* map = 
(BitMap::bm_word_t*)_virtual_space->reserved_low_addr();
     _beg_bits.set_map(map);
     _beg_bits.set_size(bits / 2);
     _end_bits.set_map(map + words / 2);
--- 
jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
  2014-07-03 21:56:12.000000000 +0200
+++ 
jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
  2014-07-11 13:41:53.584013310 +0200
@@ -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     
2014-07-03 21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp     
2014-07-11 13:41:53.585013287 +0200
@@ -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        2014-07-03 
21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp        2014-07-11 
13:38:14.060047977 +0200
@@ -389,7 +389,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
@@ -437,7 +437,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");
 
@@ -459,23 +459,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");
@@ -577,7 +577,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      2014-07-03 
21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/memory/metaspace.cpp      2014-07-11 
16:19:00.043879052 +0200
@@ -1431,7 +1431,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) {
@@ -1491,7 +1491,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: ");
@@ -1546,7 +1546,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"
@@ -3197,7 +3197,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/memory/threadLocalAllocBuffer.cpp 2014-07-03 
21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2014-07-11 
17:50:56.051695703 +0200
@@ -238,7 +238,7 @@
   size_t init_sz;
 
   if (TLABSize > 0) {
-    init_sz = MIN2(TLABSize / HeapWordSize, max_size());
+    init_sz = MIN2((size_t)(TLABSize / HeapWordSize), max_size());
   } else if (global_stats() == NULL) {
     // Startup issue - main thread initialized before heap initialized.
     init_sz = min_size();
--- jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp     2014-07-03 
21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp     2014-07-11 
13:41:56.743940848 +0200
@@ -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     2014-07-03 
21:56:12.000000000 +0200
+++ jdk8/hotspot/src/share/vm/runtime/arguments.cpp     2014-07-11 
11:47:11.845740259 +0200
@@ -1244,7 +1244,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);
     }
@@ -1269,8 +1269,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);
@@ -1280,7 +1280,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);
@@ -1401,7 +1401,7 @@
   return true;
 }
 
-uintx Arguments::max_heap_for_compressed_oops() {
+size_t Arguments::max_heap_for_compressed_oops() {
   // Avoid sign flip.
   assert(OopEncodingHeapMax > (uint64_t)os::vm_page_size(), "Unusual page 
size");
   // We need to fit both the NULL page and the heap into the memory budget, 
while
++++++ system-giflib5.patch ++++++
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c
@@ -316,9 +316,18 @@
 int
 SplashDecodeGifStream(Splash * splash, SplashStream * stream)
 {
+#ifdef GIFLIB_MAJOR >= 5
+    int error = 0;
+    GifFileType *gif = DGifOpen((void *) stream, SplashStreamGifInputFunc, 
&error);
+
+    if (error)
+       return 0;
+#else
     GifFileType *gif = DGifOpen((void *) stream, SplashStreamGifInputFunc);
 
     if (!gif)
         return 0;
+#endif
+
     return SplashDecodeGif(splash, gif);
 }
++++++ system-lcms.patch ++++++
# DP: taken from http://icedtea.classpath.org/wiki/IcedTea_Patches_for_OpenJDK_8

Index: b/common/autoconf/libraries.m4
===================================================================
--- jdk8/common/autoconf/libraries.m4
+++ jdk8/common/autoconf/libraries.m4
@@ -679,6 +679,46 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
 
   
###############################################################################
   #
+  # 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
   #
 
Index: b/jdk/make/lib/Awt2dLibraries.gmk
===================================================================
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk
@@ -670,8 +670,8 @@ endif
 
##########################################################################################
 
 # 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, \
@@ -689,19 +689,19 @@ $(eval $(call SetupNativeCompilation,BUI
     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)
 
 
##########################################################################################
 
Index: b/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java
===================================================================
--- jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java
+++ jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java
@@ -207,7 +207,7 @@ public class LCMS implements PCMM {
                          * disposer frameworks
                          */
                         System.loadLibrary("awt");
-                        System.loadLibrary("lcms");
+                        System.loadLibrary("javalcms");
                         return null;
                     }
                 });
++++++ system-libjpeg.patch ++++++
--- jdk8/common/autoconf/generated-configure.sh 2014-06-18 21:34:07.000000000 
+0200
+++ jdk8/common/autoconf/generated-configure.sh 2014-07-08 18:47:15.372657941 
+0200
@@ -1058,6 +1058,7 @@
 with_alsa
 with_alsa_include
 with_alsa_lib
+with_libjpeg
 with_giflib
 with_zlib
 with_stdc__lib
@@ -1828,6 +1829,8 @@
                           headers under PATH/include)
   --with-alsa-include     specify directory for the alsa include files
   --with-alsa-lib         specify directory for the alsa library
+  --with-libjpeg          use libjpeg from build system or OpenJDK source
+                          (system, bundled) [bundled]
   --with-giflib           use giflib from build system or OpenJDK source
                           (system, bundled) [bundled]
   --with-zlib             use zlib from build system or OpenJDK source
@@ -3868,7 +3871,7 @@
 #CUSTOM_AUTOCONF_INCLUDE
 
 # Do not change or remove the following line, it is needed for consistency 
checks:
-DATE_WHEN_GENERATED=1397150809
+DATE_WHEN_GENERATED=1404288415
 
 ###############################################################################
 #
@@ -34911,10 +34919,43 @@
   # Check for the jpeg library
   #
 
-  USE_EXTERNAL_LIBJPEG=true
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ljpeg" >&5
-$as_echo_n "checking for main in -ljpeg... " >&6; }
-if ${ac_cv_lib_jpeg_main+:} false; then :
+
+# Check whether --with-libjpeg was given.
+if test "${with_libjpeg+set}" = set; then :
+  withval=$with_libjpeg;
+fi
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for which libjpeg to use" 
>&5
+$as_echo_n "checking for which libjpeg to use... " >&6; }
+
+  # 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
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libjpeg}" >&5
+$as_echo "${with_libjpeg}" >&6; }
+
+  if test "x${with_libjpeg}" = "xbundled"; then
+    USE_EXTERNAL_LIBJPEG=false
+  elif test "x${with_libjpeg}" = "xsystem"; then
+    ac_fn_cxx_check_header_mongrel "$LINENO" "jpeglib.h" 
"ac_cv_header_jpeglib_h" "$ac_includes_default"
+if test "x$ac_cv_header_jpeglib_h" = xyes; then :
+
+else
+   as_fn_error $? "--with-libjpeg=system specified, but jpeglib.h not found!" 
"$LINENO" 5
+fi
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 
jpeg_CreateDecompress in -ljpeg" >&5
+$as_echo_n "checking for jpeg_CreateDecompress in -ljpeg... " >&6; }
+if ${ac_cv_lib_jpeg_jpeg_CreateDecompress+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -34922,27 +34963,33 @@
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char jpeg_CreateDecompress ();
 int
 main ()
 {
-return main ();
+return jpeg_CreateDecompress ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_lib_jpeg_main=yes
+  ac_cv_lib_jpeg_jpeg_CreateDecompress=yes
 else
-  ac_cv_lib_jpeg_main=no
+  ac_cv_lib_jpeg_jpeg_CreateDecompress=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_main" >&5
-$as_echo "$ac_cv_lib_jpeg_main" >&6; }
-if test "x$ac_cv_lib_jpeg_main" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 
$ac_cv_lib_jpeg_jpeg_CreateDecompress" >&5
+$as_echo "$ac_cv_lib_jpeg_jpeg_CreateDecompress" >&6; }
+if test "x$ac_cv_lib_jpeg_jpeg_CreateDecompress" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBJPEG 1
 _ACEOF
@@ -34950,10 +34997,13 @@
   LIBS="-ljpeg $LIBS"
 
 else
-   USE_EXTERNAL_LIBJPEG=false
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Will use jpeg decoder bundled 
with the OpenJDK source" >&5
-$as_echo "$as_me: Will use jpeg decoder bundled with the OpenJDK source" >&6;}
+   as_fn_error $? "--with-libjpeg=system specified, but no libjpeg found" 
"$LINENO" 5
+fi
+
 
+    USE_EXTERNAL_LIBJPEG=true
+  else
+    as_fn_error $? "Invalid use of --with-libjpeg: ${with_libjpeg}, use 
'system' or 'bundled'" "$LINENO" 5
 fi
 
 
--- jdk8/common/autoconf/libraries.m4   2014-06-18 21:34:07.000000000 +0200
+++ jdk8/common/autoconf/libraries.m4   2014-07-08 18:47:15.372657941 +0200
@@ -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        2014-06-23 01:01:34.000000000 
+0200
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk        2014-07-08 18:47:15.373657942 
+0200
@@ -705,18 +705,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
 
@@ -731,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)
 
 
##########################################################################################
 
@@ -1207,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
@@ -1269,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    
    2014-06-23 01:01:34.000000000 +0200
+++ 
jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java    
    2014-07-08 18:47:15.373657942 +0200
@@ -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    
    2014-06-23 01:01:34.000000000 +0200
+++ 
jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java    
    2014-07-08 18:47:15.374657940 +0200
@@ -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      
2014-06-23 01:01:34.000000000 +0200
+++ jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java      
2014-07-08 18:47:15.374657940 +0200
@@ -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  2014-06-23 
01:01:34.000000000 +0200
+++ jdk8/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c  2014-07-08 
18:47:15.374657940 +0200
@@ -51,7 +51,7 @@
 
 /* headers from the JPEG library */
 #include <jpeglib.h>
-#include "jerror.h"
+#include <jerror.h>
 
 #undef MAX
 #define MAX(a,b)        ((a) > (b) ? (a) : (b))
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c  
2014-06-23 01:01:34.000000000 +0200
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c  
2014-07-08 19:15:42.773049037 +0200
@@ -25,9 +25,9 @@
 
 #include "splashscreen_impl.h"
 
-#include "jinclude.h"
-#include "jpeglib.h"
-#include "jerror.h"
+#include <jpeglib.h>
+#include <jerror.h>
+#include <jmorecfg.h>
 
 #include <setjmp.h>
 
@@ -107,11 +107,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
+++ jdk8/common/autoconf/libraries.m4
@@ -679,6 +679,47 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
 
   
###############################################################################
   #
+  # 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
+++ jdk8/common/autoconf/spec.gmk.in
@@ -555,6 +555,7 @@ endif
 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
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk
@@ -1213,7 +1213,6 @@ endif
 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)
@@ -1230,6 +1229,13 @@ ifndef BUILD_HEADLESS_ONLY
     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
@@ -1293,12 +1299,12 @@ ifndef BUILD_HEADLESS_ONLY
       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
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c
@@ -25,8 +25,7 @@
 
 #include "splashscreen_impl.h"
 
-#include "../libpng/png.h"
-
+#include <png.h>
 #include <setjmp.h>
 
 #define SIG_BYTES 8
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to