mirror of
https://abf.rosa.ru/djam/java-1.8.0-openjdk.git
synced 2025-04-11 11:04:20 +00:00
Initial package based on fedora
This commit is contained in:
commit
757708d188
29 changed files with 6169 additions and 0 deletions
4
.abf.yml
Normal file
4
.abf.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
sources:
|
||||
aarch64-port-jdk8-b128-aarch64-992.tar.xz: dc388a21e1e446ad72b72716831bf82493b18f9e
|
||||
jdk8u-jdk8u5-b13.tar.xz: e05b8b3d45a5948eed9a629f410bfdfe7e474a12
|
||||
systemtap-tapset.tar.gz: 44444c943de42c8d08dbf6954cb05a5275d1fa56
|
43
0001-PPC64LE-arch-support-in-openjdk-1.8.patch
Normal file
43
0001-PPC64LE-arch-support-in-openjdk-1.8.patch
Normal file
|
@ -0,0 +1,43 @@
|
|||
From ebf2be47870510a6348db5fe3419578ec6fea877 Mon Sep 17 00:00:00 2001
|
||||
From: Brent Baude <baude@us.ibm.com>
|
||||
Date: Thu, 24 Apr 2014 09:32:36 -0500
|
||||
Subject: [PATCH] PPC64LE arch support in openjdk-1.8
|
||||
|
||||
---
|
||||
jdk8/common/autoconf/platform.m4 | 6 ++++++
|
||||
jdk8/hotspot/src/os/linux/vm/os_linux.cpp | 2 ++
|
||||
2 files changed, 8 insertions(+)
|
||||
|
||||
diff --git a/jdk8/common/autoconf/platform.m4 b/jdk8/common/autoconf/platform.m4
|
||||
index 757bf22..2506fc8 100644
|
||||
--- a/jdk8/common/autoconf/platform.m4
|
||||
+++ b/jdk8/common/autoconf/platform.m4
|
||||
@@ -60,6 +60,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
|
||||
VAR_CPU_BITS=64
|
||||
VAR_CPU_ENDIAN=big
|
||||
;;
|
||||
+ powerpc64le)
|
||||
+ VAR_CPU=ppc64le
|
||||
+ VAR_CPU_ARCH=ppc
|
||||
+ VAR_CPU_BITS=64
|
||||
+ VAR_CPU_ENDIAN=little
|
||||
+ ;;
|
||||
s390)
|
||||
VAR_CPU=s390
|
||||
VAR_CPU_ARCH=s390
|
||||
diff --git a/jdk8/hotspot/src/os/linux/vm/os_linux.cpp b/jdk8/hotspot/src/os/linux/vm/os_linux.cpp
|
||||
index 68314bb..5885d10 100644
|
||||
--- a/jdk8/hotspot/src/os/linux/vm/os_linux.cpp
|
||||
+++ b/jdk8/hotspot/src/os/linux/vm/os_linux.cpp
|
||||
@@ -1978,6 +1978,8 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen)
|
||||
static Elf32_Half running_arch_code=EM_SPARC;
|
||||
#elif (defined __powerpc64__)
|
||||
static Elf32_Half running_arch_code=EM_PPC64;
|
||||
+ #elif (defined __powerpc64le__)
|
||||
+ static Elf32_Half running_arch_code=EM_PPC64LE;
|
||||
#elif (defined __powerpc__)
|
||||
static Elf32_Half running_arch_code=EM_PPC;
|
||||
#elif (defined ARM)
|
||||
--
|
||||
1.9.0
|
||||
|
23
1015432.patch
Normal file
23
1015432.patch
Normal file
|
@ -0,0 +1,23 @@
|
|||
--- 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 &&
|
40
PStack-808293.patch
Normal file
40
PStack-808293.patch
Normal file
|
@ -0,0 +1,40 @@
|
|||
--- 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) {
|
2
README.src
Normal file
2
README.src
Normal file
|
@ -0,0 +1,2 @@
|
|||
The java-1.8.0-openjdk-src subpackage contains the complete OpenJDK 8
|
||||
class library source code for use by IDE indexers and debuggers.
|
72
TestCryptoLevel.java
Normal file
72
TestCryptoLevel.java
Normal file
|
@ -0,0 +1,72 @@
|
|||
/* 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);
|
||||
}
|
||||
}
|
||||
}
|
108
applet-hole.patch
Normal file
108
applet-hole.patch
Normal file
|
@ -0,0 +1,108 @@
|
|||
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);
|
1558
config.guess
vendored
Normal file
1558
config.guess
vendored
Normal file
File diff suppressed because it is too large
Load diff
1788
config.sub
vendored
Normal file
1788
config.sub
vendored
Normal file
File diff suppressed because it is too large
Load diff
58
disable-doclint-by-default.patch
Normal file
58
disable-doclint-by-default.patch
Normal file
|
@ -0,0 +1,58 @@
|
|||
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 <ahughes@redhat.com>
|
||||
Author: Emmanuel Bourg <ebourg@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,
|
65
generate_source_tarball.sh
Executable file
65
generate_source_tarball.sh
Executable file
|
@ -0,0 +1,65 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Generates the 'source tarball' for JDK 8 projects.
|
||||
#
|
||||
# Usage: generate_source_tarball.sh project_name repo_name tag
|
||||
#
|
||||
# Examples:
|
||||
# ./generate_source_tarball.sh jdk8 jdk8 jdk8-b79
|
||||
# ./generate_source_tarball.sh jdk8u jdk8u jdk8u5-b13
|
||||
# ./generate_source_tarball.sh aarch64-port jdk8 aarch64-${DATE}
|
||||
#
|
||||
# This script creates a single source tarball out of the repository
|
||||
# based on the given tag and removes code not allowed in fedora. For
|
||||
# consistency, the source tarball will always contain 'jdk8' as the top
|
||||
# level folder.
|
||||
|
||||
set -e
|
||||
|
||||
PROJECT_NAME="$1"
|
||||
REPO_NAME="$2"
|
||||
VERSION="$3"
|
||||
OPENJDK_URL=http://hg.openjdk.java.net
|
||||
|
||||
if [[ "${PROJECT_NAME}" = "" ]] ; then
|
||||
echo "No repository specified."
|
||||
exit -1
|
||||
fi
|
||||
if [[ "${REPO_NAME}" = "" ]] ; then
|
||||
echo "No repository specified."
|
||||
exit -1
|
||||
fi
|
||||
if [[ "${VERSION}" = "" ]]; then
|
||||
echo "No version/tag specified."
|
||||
exit -1;
|
||||
fi
|
||||
|
||||
mkdir "${REPO_NAME}"
|
||||
pushd "${REPO_NAME}"
|
||||
|
||||
REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}"
|
||||
|
||||
wget "${REPO_ROOT}/archive/${VERSION}.tar.gz"
|
||||
tar xf "${VERSION}.tar.gz"
|
||||
rm "${VERSION}.tar.gz"
|
||||
|
||||
mv "${REPO_NAME}-${VERSION}" jdk8
|
||||
pushd jdk8
|
||||
|
||||
for subrepo in corba hotspot jdk jaxws jaxp langtools nashorn
|
||||
do
|
||||
wget "${REPO_ROOT}/${subrepo}/archive/${VERSION}.tar.gz"
|
||||
tar xf "${VERSION}.tar.gz"
|
||||
rm "${VERSION}.tar.gz"
|
||||
mv "${subrepo}-${VERSION}" "${subrepo}"
|
||||
done
|
||||
|
||||
rm -vr jdk/src/share/native/sun/security/ec/impl
|
||||
|
||||
popd
|
||||
|
||||
tar cJf ${REPO_NAME}-${VERSION}.tar.xz jdk8
|
||||
|
||||
popd
|
||||
|
||||
mv "${REPO_NAME}/${REPO_NAME}-${VERSION}.tar.xz" .
|
24
generate_tarballs.sh
Executable file
24
generate_tarballs.sh
Executable file
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash
|
||||
|
||||
VERSION=3506c375241e
|
||||
ICEDTEA_URL=http://icedtea.classpath.org/hg/icedtea7/
|
||||
|
||||
wget -O icedtea7.tar.gz ${ICEDTEA_URL}/archive/${VERSION}.tar.gz
|
||||
tar xzf icedtea7.tar.gz
|
||||
rm -f icedtea7.tar.gz
|
||||
pushd icedtea7-${VERSION}
|
||||
|
||||
# desktop files
|
||||
mv jconsole.desktop ../jconsole.desktop.in
|
||||
mv policytool.desktop ../policytool.desktop.in
|
||||
|
||||
# tapsets
|
||||
mv tapset/hotspot{,-1.8.0}.stp.in || exit 1
|
||||
mv tapset/hotspot_gc{,-1.8.0}.stp.in || exit 1
|
||||
mv tapset/hotspot_jni{,-1.8.0}.stp.in || exit 1
|
||||
mv tapset/jstack{,-1.8.0}.stp.in || exit 1
|
||||
tar cvzf systemtap-tapset.tar.gz tapset
|
||||
mv systemtap-tapset.tar.gz ../
|
||||
|
||||
popd
|
||||
rm -rf icedtea7-${VERSION}
|
16
java-1.8.0-openjdk-accessible-toolkit.patch
Normal file
16
java-1.8.0-openjdk-accessible-toolkit.patch
Normal file
|
@ -0,0 +1,16 @@
|
|||
diff -uNr openjdk-orig/jdk/src/share/classes/java/awt/Toolkit.java jdk8/jdk/src/share/classes/java/awt/Toolkit.java
|
||||
--- openjdk-orig/jdk/src/share/classes/java/awt/Toolkit.java 2009-01-23 11:59:47.000000000 -0500
|
||||
+++ jdk8/jdk/src/share/classes/java/awt/Toolkit.java 2009-01-23 12:05:20.000000000 -0500
|
||||
@@ -871,7 +871,11 @@
|
||||
return null;
|
||||
}
|
||||
});
|
||||
- loadAssistiveTechnologies();
|
||||
+ try {
|
||||
+ loadAssistiveTechnologies();
|
||||
+ } catch ( AWTError error) {
|
||||
+ // ignore silently
|
||||
+ }
|
||||
} finally {
|
||||
// Make sure to always re-enable the JIT.
|
||||
java.lang.Compiler.enable();
|
47
java-1.8.0-openjdk-bitmap.patch
Normal file
47
java-1.8.0-openjdk-bitmap.patch
Normal file
|
@ -0,0 +1,47 @@
|
|||
diff -up jdk8/hotspot/src/share/vm/utilities/bitMap.inline.hpp.s390 openjdk/hotspot/src/share/vm/utilities/bitMap.inline.hpp
|
||||
--- jdk8/hotspot/src/share/vm/utilities/bitMap.inline.hpp.s390 2012-02-10 08:30:46.378435291 -0500
|
||||
+++ jdk8/hotspot/src/share/vm/utilities/bitMap.inline.hpp 2012-02-10 08:47:27.478427892 -0500
|
||||
@@ -52,16 +52,16 @@ inline void BitMap::clear_bit(idx_t bit)
|
||||
|
||||
inline bool BitMap::par_set_bit(idx_t bit) {
|
||||
verify_index(bit);
|
||||
- volatile idx_t* const addr = word_addr(bit);
|
||||
- const idx_t mask = bit_mask(bit);
|
||||
- idx_t old_val = *addr;
|
||||
+ volatile bm_word_t* const addr = word_addr(bit);
|
||||
+ const bm_word_t mask = bit_mask(bit);
|
||||
+ bm_word_t old_val = *addr;
|
||||
|
||||
do {
|
||||
- const idx_t new_val = old_val | mask;
|
||||
+ const bm_word_t new_val = old_val | mask;
|
||||
if (new_val == old_val) {
|
||||
return false; // Someone else beat us to it.
|
||||
}
|
||||
- const idx_t cur_val = (idx_t) Atomic::cmpxchg_ptr((void*) new_val,
|
||||
+ const bm_word_t cur_val = (bm_word_t) Atomic::cmpxchg_ptr((void*) new_val,
|
||||
(volatile void*) addr,
|
||||
(void*) old_val);
|
||||
if (cur_val == old_val) {
|
||||
@@ -73,16 +73,16 @@ inline bool BitMap::par_set_bit(idx_t bi
|
||||
|
||||
inline bool BitMap::par_clear_bit(idx_t bit) {
|
||||
verify_index(bit);
|
||||
- volatile idx_t* const addr = word_addr(bit);
|
||||
- const idx_t mask = ~bit_mask(bit);
|
||||
- idx_t old_val = *addr;
|
||||
+ volatile bm_word_t* const addr = word_addr(bit);
|
||||
+ const bm_word_t mask = ~bit_mask(bit);
|
||||
+ bm_word_t old_val = *addr;
|
||||
|
||||
do {
|
||||
- const idx_t new_val = old_val & mask;
|
||||
+ const bm_word_t new_val = old_val & mask;
|
||||
if (new_val == old_val) {
|
||||
return false; // Someone else beat us to it.
|
||||
}
|
||||
- const idx_t cur_val = (idx_t) Atomic::cmpxchg_ptr((void*) new_val,
|
||||
+ const bm_word_t cur_val = (bm_word_t) Atomic::cmpxchg_ptr((void*) new_val,
|
||||
(volatile void*) addr,
|
||||
(void*) old_val);
|
||||
if (cur_val == old_val) {
|
11
java-1.8.0-openjdk-giflib5.patch
Normal file
11
java-1.8.0-openjdk-giflib5.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c.orig 2014-05-13 18:05:41.415221692 +0100
|
||||
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c 2014-05-13 18:05:52.969222160 +0100
|
||||
@@ -318,7 +318,7 @@
|
||||
int
|
||||
SplashDecodeGifStream(Splash * splash, SplashStream * stream)
|
||||
{
|
||||
- GifFileType *gif = DGifOpen((void *) stream, SplashStreamGifInputFunc);
|
||||
+ GifFileType *gif = DGifOpen((void *) stream, SplashStreamGifInputFunc, NULL);
|
||||
|
||||
if (!gif)
|
||||
return 0;
|
18
java-1.8.0-openjdk-ppc-zero-hotspot.patch
Normal file
18
java-1.8.0-openjdk-ppc-zero-hotspot.patch
Normal file
|
@ -0,0 +1,18 @@
|
|||
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,11 @@
|
||||
//
|
||||
|
||||
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);
|
||||
+define_pd_global(intx, VMThreadStackSize, 1664);
|
||||
#else
|
||||
-define_pd_global(intx, VMThreadStackSize, 512);
|
||||
+define_pd_global(intx, VMThreadStackSize, 1152);
|
||||
#endif // _LP64
|
||||
define_pd_global(intx, CompilerThreadStackSize, 0);
|
||||
define_pd_global(uintx, JVMInvokeMethodSlack, 8192);
|
22
java-1.8.0-openjdk-s390.patch
Normal file
22
java-1.8.0-openjdk-s390.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff -up jdk8/common/autoconf/platform.m4.s390 jdk8/common/autoconf/platform.m4
|
||||
--- jdk8/common/autoconf/platform.m4.s390 2013-04-30 07:30:55.368691627 -0400
|
||||
+++ jdk8/common/autoconf/platform.m4 2013-04-30 07:31:51.168692356 -0400
|
||||
@@ -60,6 +60,18 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU
|
||||
VAR_CPU_BITS=64
|
||||
VAR_CPU_ENDIAN=big
|
||||
;;
|
||||
+ s390)
|
||||
+ VAR_CPU=s390
|
||||
+ VAR_CPU_ARCH=s390
|
||||
+ VAR_CPU_BITS=32
|
||||
+ VAR_CPU_ENDIAN=big
|
||||
+ ;;
|
||||
+ s390x)
|
||||
+ VAR_CPU=s390x
|
||||
+ VAR_CPU_ARCH=s390x
|
||||
+ VAR_CPU_BITS=64
|
||||
+ VAR_CPU_ENDIAN=big
|
||||
+ ;;
|
||||
sparc)
|
||||
VAR_CPU=sparc
|
||||
VAR_CPU_ARCH=sparc
|
294
java-1.8.0-openjdk-size_t.patch
Normal file
294
java-1.8.0-openjdk-size_t.patch
Normal file
|
@ -0,0 +1,294 @@
|
|||
diff -up jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp 2013-04-30 11:16:52.049921392 -0400
|
||||
@@ -2667,7 +2667,7 @@ void CFLS_LAB::get_from_global_pool(size
|
||||
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);
|
||||
diff -up jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp.size_t 2013-05-03 10:55:50.185800229 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2013-05-03 10:58:09.035801583 -0400
|
||||
@@ -950,7 +950,7 @@ void ConcurrentMarkSweepGeneration::comp
|
||||
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: ");
|
||||
@@ -6334,7 +6334,7 @@ void CMSCollector::reset(bool asynch) {
|
||||
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() &&
|
||||
@@ -6631,7 +6631,7 @@ void CMSMarkStack::expand() {
|
||||
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(
|
||||
diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2013-04-30 11:16:52.049921392 -0400
|
||||
@@ -3735,7 +3735,7 @@ void CMTask::drain_local_queue(bool part
|
||||
// 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;
|
||||
}
|
||||
@@ -4566,7 +4566,7 @@ size_t G1PrintRegionLivenessInfoClosure:
|
||||
// The > 0 check is to deal with the prev and next live bytes which
|
||||
// could be 0.
|
||||
if (*hum_bytes > 0) {
|
||||
- bytes = MIN2(HeapRegion::GrainBytes, *hum_bytes);
|
||||
+ bytes = MIN2(HeapRegion::GrainBytes, (size_t)*hum_bytes);
|
||||
*hum_bytes -= bytes;
|
||||
}
|
||||
return bytes;
|
||||
diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2013-04-30 11:16:52.059921393 -0400
|
||||
@@ -1735,7 +1735,7 @@ HeapWord* G1CollectedHeap::expand_and_al
|
||||
|
||||
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")
|
||||
diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp 2013-04-30 11:16:52.059921393 -0400
|
||||
@@ -840,7 +840,7 @@ OtherRegionsTable::do_cleanup_work(HRRSC
|
||||
// This can be done by either mutator threads together with the
|
||||
// concurrent refinement threads or GC threads.
|
||||
int HeapRegionRemSet::num_par_rem_sets() {
|
||||
- return (int)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), ParallelGCThreads);
|
||||
+ return (int)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), (size_t)ParallelGCThreads);
|
||||
}
|
||||
|
||||
HeapRegionRemSet::HeapRegionRemSet(G1BlockOffsetSharedArray* bosa,
|
||||
diff -up jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp 2013-04-30 11:16:52.069921394 -0400
|
||||
@@ -69,7 +69,7 @@ ParMarkBitMap::initialize(MemRegion cove
|
||||
if (_virtual_space != NULL && _virtual_space->expand_by(bytes)) {
|
||||
_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);
|
||||
diff -up jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp.size_t 2013-05-03 11:19:28.625892027 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2013-05-03 11:20:15.915892352 -0400
|
||||
@@ -874,8 +874,8 @@ void PSParallelCompact::initialize_space
|
||||
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);
|
||||
diff -up jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2013-04-30 11:16:52.069921394 -0400
|
||||
@@ -188,7 +188,7 @@ bool ParScanThreadState::take_from_overf
|
||||
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.
|
||||
diff -up jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp.size_t jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp
|
||||
--- jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp 2013-05-03 10:53:48.105793292 -0400
|
||||
@@ -313,7 +313,7 @@ void GenCollectorPolicy::initialize_size
|
||||
// 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");
|
||||
|
||||
@@ -340,7 +340,7 @@ void GenCollectorPolicy::initialize_size
|
||||
// generally small compared to the NewRatio calculation.
|
||||
_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 {
|
||||
// For the case where NewSize is the default, use NewRatio
|
||||
// to size the minimum and initial generation sizes.
|
||||
@@ -348,10 +348,10 @@ void GenCollectorPolicy::initialize_size
|
||||
// NewRatio is overly large, the resulting sizes can be too
|
||||
// small.
|
||||
_min_gen0_size = MAX2(scale_by_NewRatio_aligned(min_heap_byte_size()),
|
||||
- NewSize);
|
||||
+ (size_t)NewSize);
|
||||
desired_new_size =
|
||||
MAX2(scale_by_NewRatio_aligned(initial_heap_byte_size()),
|
||||
- NewSize);
|
||||
+ (size_t)NewSize);
|
||||
}
|
||||
|
||||
assert(_min_gen0_size > 0, "Sanity check");
|
||||
@@ -407,14 +407,14 @@ bool TwoGenerationCollectorPolicy::adjus
|
||||
// Adjust gen0 down to accommodate min_gen1_size
|
||||
*gen0_size_ptr = heap_size - min_gen1_size;
|
||||
*gen0_size_ptr =
|
||||
- MAX2((uintx)align_size_down(*gen0_size_ptr, min_alignment()),
|
||||
+ MAX2((size_t)align_size_down(*gen0_size_ptr, min_alignment()),
|
||||
min_alignment());
|
||||
assert(*gen0_size_ptr > 0, "Min gen0 is too large");
|
||||
result = true;
|
||||
} else {
|
||||
*gen1_size_ptr = heap_size - *gen0_size_ptr;
|
||||
*gen1_size_ptr =
|
||||
- MAX2((uintx)align_size_down(*gen1_size_ptr, min_alignment()),
|
||||
+ MAX2((size_t)align_size_down(*gen1_size_ptr, min_alignment()),
|
||||
min_alignment());
|
||||
}
|
||||
}
|
||||
@@ -438,7 +438,7 @@ void TwoGenerationCollectorPolicy::initi
|
||||
// for setting the gen1 maximum.
|
||||
_max_gen1_size = max_heap_byte_size() - _max_gen0_size;
|
||||
_max_gen1_size =
|
||||
- MAX2((uintx)align_size_down(_max_gen1_size, min_alignment()),
|
||||
+ MAX2((size_t)align_size_down(_max_gen1_size, min_alignment()),
|
||||
min_alignment());
|
||||
// If no explicit command line flag has been set for the
|
||||
// gen1 size, use what is left for gen1.
|
||||
@@ -452,11 +452,11 @@ void TwoGenerationCollectorPolicy::initi
|
||||
"gen0 has an unexpected minimum size");
|
||||
set_min_gen1_size(min_heap_byte_size() - min_gen0_size());
|
||||
set_min_gen1_size(
|
||||
- MAX2((uintx)align_size_down(_min_gen1_size, min_alignment()),
|
||||
+ MAX2((size_t)align_size_down(_min_gen1_size, min_alignment()),
|
||||
min_alignment()));
|
||||
set_initial_gen1_size(initial_heap_byte_size() - initial_gen0_size());
|
||||
set_initial_gen1_size(
|
||||
- MAX2((uintx)align_size_down(_initial_gen1_size, min_alignment()),
|
||||
+ MAX2((size_t)align_size_down(_initial_gen1_size, min_alignment()),
|
||||
min_alignment()));
|
||||
|
||||
} else {
|
||||
diff -up jdk8/hotspot/src/share/vm/memory/metaspace.cpp.size_t jdk8/hotspot/src/share/vm/memory/metaspace.cpp
|
||||
--- jdk8/hotspot/src/share/vm/memory/metaspace.cpp.size_t 2013-05-03 11:11:20.095867337 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/memory/metaspace.cpp 2013-05-03 11:13:54.945868245 -0400
|
||||
@@ -1164,7 +1164,7 @@ void MetaspaceGC::compute_new_size() {
|
||||
(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) {
|
||||
const double free_percentage = ((double)free_after_gc) / capacity_until_GC;
|
||||
@@ -1228,7 +1228,7 @@ void MetaspaceGC::compute_new_size() {
|
||||
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 (PrintGC && Verbose) {
|
||||
gclog_or_tty->print_cr(" "
|
||||
" maximum_free_percentage: %6.2f"
|
||||
@@ -2557,7 +2557,7 @@ void Metaspace::global_initialize() {
|
||||
// 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,
|
||||
- (ClassMetaspaceSize/BytesPerWord)*2);
|
||||
+ (size_t)(ClassMetaspaceSize/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.
|
||||
diff -up jdk8/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp.size_t jdk8/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
|
||||
--- jdk8/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp.size_t 2013-05-03 11:25:27.655916636 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2013-05-03 11:26:02.815916940 -0400
|
||||
@@ -232,7 +232,7 @@ size_t ThreadLocalAllocBuffer::initial_d
|
||||
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();
|
||||
diff -up jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp.size_t jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
|
||||
--- jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp.size_t 2013-04-23 12:27:07.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp 2013-04-30 11:16:52.069921394 -0400
|
||||
@@ -48,7 +48,7 @@ void ObjArrayKlass::objarray_follow_cont
|
||||
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 @@ void ObjArrayKlass::objarray_follow_cont
|
||||
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;
|
||||
diff -up jdk8/hotspot/src/share/vm/runtime/arguments.cpp.size_t jdk8/hotspot/src/share/vm/runtime/arguments.cpp
|
||||
--- jdk8/hotspot/src/share/vm/runtime/arguments.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/runtime/arguments.cpp 2013-05-03 10:46:37.745763150 -0400
|
||||
@@ -1197,7 +1197,7 @@ void Arguments::set_cms_and_parnew_gc_fl
|
||||
// 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);
|
||||
}
|
||||
@@ -1222,8 +1222,8 @@ void Arguments::set_cms_and_parnew_gc_fl
|
||||
// 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);
|
||||
@@ -1233,7 +1233,7 @@ void Arguments::set_cms_and_parnew_gc_fl
|
||||
// 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((size_t)(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);
|
1273
java-1.8.0-openjdk.spec
Normal file
1273
java-1.8.0-openjdk.spec
Normal file
File diff suppressed because it is too large
Load diff
7
java-abrt-launcher.in
Normal file
7
java-abrt-launcher.in
Normal file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
if [ -e @LIB_DIR@ ] ; then
|
||||
exec -a java @JAVA_PATH@ -agentpath:@LIB_DIR@=abrt=on "$@"
|
||||
else
|
||||
exec -a java @JAVA_PATH@ "$@"
|
||||
fi
|
||||
|
28
java-atk-wrapper-security.patch
Normal file
28
java-atk-wrapper-security.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
--- jdk8/jdk/src/share/lib/security/java.security-linux.orig
|
||||
+++ jdk8/jdk/src/share/lib/security/java.security-linux
|
||||
@@ -154,9 +154,11 @@
|
||||
org.jcp.xml.dsig.internal.,\
|
||||
jdk.internal.,\
|
||||
jdk.nashorn.internal.,\
|
||||
- jdk.nashorn.tools.
|
||||
+ jdk.nashorn.tools,\
|
||||
+ org.GNOME.Accessibility.,\
|
||||
+ org.GNOME.Bonobo.
|
||||
|
||||
|
||||
#
|
||||
# List of comma-separated packages that start with or equal this string
|
||||
# will cause a security exception to be thrown when
|
||||
@@ -192,9 +194,11 @@
|
||||
org.jcp.xml.dsig.internal.,\
|
||||
jdk.internal.,\
|
||||
jdk.nashorn.internal.,\
|
||||
- jdk.nashorn.tools.
|
||||
+ jdk.nashorn.tools.,\
|
||||
+ org.GNOME.Accessibility.,\
|
||||
+ org.GNOME.Bonobo.
|
||||
|
||||
|
||||
#
|
||||
# Determines whether this properties file can be appended to
|
||||
# or overridden on the command line via -Djava.security.properties
|
10
jconsole.desktop.in
Normal file
10
jconsole.desktop.in
Normal file
|
@ -0,0 +1,10 @@
|
|||
[Desktop Entry]
|
||||
Name=OpenJDK Monitoring & Management Console
|
||||
Comment=Monitor and manage OpenJDK applications
|
||||
Exec=/usr/bin/jconsole
|
||||
Icon=java
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupWMClass=sun-tools-jconsole-JConsole
|
||||
Categories=Development;Monitor;Java;
|
||||
Version=1.0
|
74
multiple-pkcs11-library-init.patch
Normal file
74
multiple-pkcs11-library-init.patch
Normal file
|
@ -0,0 +1,74 @@
|
|||
# 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 {
|
4
nss.cfg
Normal file
4
nss.cfg
Normal file
|
@ -0,0 +1,4 @@
|
|||
name = NSS
|
||||
nssLibraryDirectory =
|
||||
nssDbMode = noDb
|
||||
attributes = compatibility
|
10
policytool.desktop.in
Normal file
10
policytool.desktop.in
Normal file
|
@ -0,0 +1,10 @@
|
|||
[Desktop Entry]
|
||||
Name=OpenJDK Policy Tool
|
||||
Comment=Manage OpenJDK policy files
|
||||
Exec=/usr/bin/policytool
|
||||
Icon=java
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupWMClass=sun-security-tools-PolicyTool
|
||||
Categories=Development;Java;
|
||||
Version=1.0
|
127
remove-intree-libraries.sh
Normal file
127
remove-intree-libraries.sh
Normal file
|
@ -0,0 +1,127 @@
|
|||
#!/bin/sh
|
||||
|
||||
ZIP_SRC=jdk8/jdk/src/share/native/java/util/zip/zlib-*
|
||||
JPEG_SRC=jdk8/jdk/src/share/native/sun/awt/image/jpeg
|
||||
GIF_SRC=jdk8/jdk/src/share/native/sun/awt/giflib
|
||||
PNG_SRC=jdk8/jdk/src/share/native/sun/awt/libpng
|
||||
LCMS_SRC=jdk8/jdk/src/share/native/sun/java2d/cmm/lcms
|
||||
|
||||
echo "Removing built-in libs (they will be linked)"
|
||||
|
||||
echo "Removing zlib"
|
||||
if [ ! -d ${ZIP_SRC} ]; then
|
||||
echo "${ZIP_SRC} does not exist. Refusing to proceed."
|
||||
exit 1
|
||||
fi
|
||||
rm -rvf ${ZIP_SRC}
|
||||
|
||||
echo "Removing libjpeg"
|
||||
if [ ! -f ${JPEG_SRC}/jdhuff.c ]; then # some file that sound definitely exist
|
||||
echo "${JPEG_SRC} does not contain jpeg sources. Refusing to proceed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -vf ${JPEG_SRC}/jcomapi.c
|
||||
rm -vf ${JPEG_SRC}/jdapimin.c
|
||||
rm -vf ${JPEG_SRC}/jdapistd.c
|
||||
rm -vf ${JPEG_SRC}/jdcoefct.c
|
||||
rm -vf ${JPEG_SRC}/jdcolor.c
|
||||
rm -vf ${JPEG_SRC}/jdct.h
|
||||
rm -vf ${JPEG_SRC}/jddctmgr.c
|
||||
rm -vf ${JPEG_SRC}/jdhuff.c
|
||||
rm -vf ${JPEG_SRC}/jdhuff.h
|
||||
rm -vf ${JPEG_SRC}/jdinput.c
|
||||
rm -vf ${JPEG_SRC}/jdmainct.c
|
||||
rm -vf ${JPEG_SRC}/jdmarker.c
|
||||
rm -vf ${JPEG_SRC}/jdmaster.c
|
||||
rm -vf ${JPEG_SRC}/jdmerge.c
|
||||
rm -vf ${JPEG_SRC}/jdphuff.c
|
||||
rm -vf ${JPEG_SRC}/jdpostct.c
|
||||
rm -vf ${JPEG_SRC}/jdsample.c
|
||||
rm -vf ${JPEG_SRC}/jerror.c
|
||||
rm -vf ${JPEG_SRC}/jerror.h
|
||||
rm -vf ${JPEG_SRC}/jidctflt.c
|
||||
rm -vf ${JPEG_SRC}/jidctfst.c
|
||||
rm -vf ${JPEG_SRC}/jidctint.c
|
||||
rm -vf ${JPEG_SRC}/jidctred.c
|
||||
rm -vf ${JPEG_SRC}/jinclude.h
|
||||
rm -vf ${JPEG_SRC}/jmemmgr.c
|
||||
rm -vf ${JPEG_SRC}/jmemsys.h
|
||||
rm -vf ${JPEG_SRC}/jmemnobs.c
|
||||
rm -vf ${JPEG_SRC}/jmorecfg.h
|
||||
rm -vf ${JPEG_SRC}/jpegint.h
|
||||
rm -vf ${JPEG_SRC}/jpeglib.h
|
||||
rm -vf ${JPEG_SRC}/jquant1.c
|
||||
rm -vf ${JPEG_SRC}/jquant2.c
|
||||
rm -vf ${JPEG_SRC}/jutils.c
|
||||
rm -vf ${JPEG_SRC}/jcapimin.c
|
||||
rm -vf ${JPEG_SRC}/jcapistd.c
|
||||
rm -vf ${JPEG_SRC}/jccoefct.c
|
||||
rm -vf ${JPEG_SRC}/jccolor.c
|
||||
rm -vf ${JPEG_SRC}/jcdctmgr.c
|
||||
rm -vf ${JPEG_SRC}/jchuff.c
|
||||
rm -vf ${JPEG_SRC}/jchuff.h
|
||||
rm -vf ${JPEG_SRC}/jcinit.c
|
||||
rm -vf ${JPEG_SRC}/jconfig.h
|
||||
rm -vf ${JPEG_SRC}/jcmainct.c
|
||||
rm -vf ${JPEG_SRC}/jcmarker.c
|
||||
rm -vf ${JPEG_SRC}/jcmaster.c
|
||||
rm -vf ${JPEG_SRC}/jcparam.c
|
||||
rm -vf ${JPEG_SRC}/jcphuff.c
|
||||
rm -vf ${JPEG_SRC}/jcprepct.c
|
||||
rm -vf ${JPEG_SRC}/jcsample.c
|
||||
rm -vf ${JPEG_SRC}/jctrans.c
|
||||
rm -vf ${JPEG_SRC}/jdtrans.c
|
||||
rm -vf ${JPEG_SRC}/jfdctflt.c
|
||||
rm -vf ${JPEG_SRC}/jfdctfst.c
|
||||
rm -vf ${JPEG_SRC}/jfdctint.c
|
||||
rm -vf ${JPEG_SRC}/jversion.h
|
||||
rm -vf ${JPEG_SRC}/README
|
||||
|
||||
echo "Removing giflib"
|
||||
if [ ! -d ${GIF_SRC} ]; then
|
||||
echo "${GIF_SRC} does not exist. Refusing to proceed."
|
||||
exit 1
|
||||
fi
|
||||
rm -rvf ${GIF_SRC}
|
||||
|
||||
echo "Removing libpng"
|
||||
if [ ! -d ${PNG_SRC} ]; then
|
||||
echo "${PNG_SRC} does not exist. Refusing to proceed."
|
||||
exit 1
|
||||
fi
|
||||
rm -rvf ${PNG_SRC}
|
||||
|
||||
echo "Removing lcms"
|
||||
if [ ! -d ${LCMS_SRC} ]; then
|
||||
echo "${LCMS_SRC} does not exist. Refusing to proceed."
|
||||
exit 1
|
||||
fi
|
||||
rm -vf ${LCMS_SRC}/cmscam02.c
|
||||
rm -vf ${LCMS_SRC}/cmscgats.c
|
||||
rm -vf ${LCMS_SRC}/cmscnvrt.c
|
||||
rm -vf ${LCMS_SRC}/cmserr.c
|
||||
rm -vf ${LCMS_SRC}/cmsgamma.c
|
||||
rm -vf ${LCMS_SRC}/cmsgmt.c
|
||||
rm -vf ${LCMS_SRC}/cmshalf.c
|
||||
rm -vf ${LCMS_SRC}/cmsintrp.c
|
||||
rm -vf ${LCMS_SRC}/cmsio0.c
|
||||
rm -vf ${LCMS_SRC}/cmsio1.c
|
||||
rm -vf ${LCMS_SRC}/cmslut.c
|
||||
rm -vf ${LCMS_SRC}/cmsmd5.c
|
||||
rm -vf ${LCMS_SRC}/cmsmtrx.c
|
||||
rm -vf ${LCMS_SRC}/cmsnamed.c
|
||||
rm -vf ${LCMS_SRC}/cmsopt.c
|
||||
rm -vf ${LCMS_SRC}/cmspack.c
|
||||
rm -vf ${LCMS_SRC}/cmspcs.c
|
||||
rm -vf ${LCMS_SRC}/cmsplugin.c
|
||||
rm -vf ${LCMS_SRC}/cmsps2.c
|
||||
rm -vf ${LCMS_SRC}/cmssamp.c
|
||||
rm -vf ${LCMS_SRC}/cmssm.c
|
||||
rm -vf ${LCMS_SRC}/cmstypes.c
|
||||
rm -vf ${LCMS_SRC}/cmsvirt.c
|
||||
rm -vf ${LCMS_SRC}/cmswtpnt.c
|
||||
rm -vf ${LCMS_SRC}/cmsxform.c
|
||||
rm -vf ${LCMS_SRC}/lcms2.h
|
||||
rm -vf ${LCMS_SRC}/lcms2_internal.h
|
||||
rm -vf ${LCMS_SRC}/lcms2_plugin.h
|
101
system-lcms.patch
Normal file
101
system-lcms.patch
Normal file
|
@ -0,0 +1,101 @@
|
|||
diff -ruN jdk8/common/autoconf/libraries.m4 jdk8/common/autoconf/libraries.m4
|
||||
--- jdk8/common/autoconf/libraries.m4 2013-11-14 22:04:38.039440136 -0500
|
||||
+++ jdk8/common/autoconf/libraries.m4 2013-11-14 22:05:11.474356424 -0500
|
||||
@@ -676,6 +676,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
|
||||
#
|
||||
|
||||
diff -ruN jdk8/jdk/make/lib/Awt2dLibraries.gmk jdk8/jdk/make/lib/Awt2dLibraries.gmk
|
||||
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk 2013-11-14 22:04:38.040440133 -0500
|
||||
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk 2013-11-14 22:05:11.475356411 -0500
|
||||
@@ -661,8 +661,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, \
|
||||
@@ -680,18 +680,18 @@
|
||||
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, \
|
||||
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)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
diff -ruN jdk8/jdk/src/share/classes/sun/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 2013-10-31 19:44:18.000000000 -0400
|
||||
+++ jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java 2013-11-14 22:05:11.476356403 -0500
|
||||
@@ -207,7 +207,7 @@
|
||||
* disposer frameworks
|
||||
*/
|
||||
System.loadLibrary("awt");
|
||||
- System.loadLibrary("lcms");
|
||||
+ System.loadLibrary("javalcms");
|
||||
return null;
|
||||
}
|
||||
});
|
227
system-libjpeg.patch
Normal file
227
system-libjpeg.patch
Normal file
|
@ -0,0 +1,227 @@
|
|||
diff -ruN jdk8/common/autoconf/libraries.m4 jdk8/common/autoconf/libraries.m4
|
||||
--- jdk8/common/autoconf/libraries.m4 2013-10-31 19:24:33.000000000 -0400
|
||||
+++ jdk8/common/autoconf/libraries.m4 2013-11-14 21:55:20.249903347 -0500
|
||||
@@ -601,12 +601,42 @@
|
||||
#
|
||||
|
||||
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])
|
||||
- ])
|
||||
+ AC_ARG_WITH(libjpeg, [AS_HELP_STRING([--with-libjpeg],
|
||||
+ [use libjpeg from build system or OpenJDK sources (system, bundled) @<:@bundled@:>@])])
|
||||
+
|
||||
+ AC_CHECK_LIB(jpeg, jpeg_destroy_compress,
|
||||
+ [ LIBJPEG_FOUND=yes ],
|
||||
+ [ LIBJPEG_FOUND=no ])
|
||||
+
|
||||
+ 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
|
||||
+
|
||||
+ if test "x${with_libjpeg}" = "xbundled"; then
|
||||
+ USE_EXTERNAL_LIBJPEG=false
|
||||
+ AC_MSG_RESULT([bundled])
|
||||
+ elif test "x${with_libjpeg}" = "xsystem"; then
|
||||
+ if test "x${LIBJPEG_FOUND}" = "xyes"; then
|
||||
+ USE_EXTERNAL_LIBJPEG=true
|
||||
+ AC_MSG_RESULT([system])
|
||||
+ else
|
||||
+ AC_MSG_RESULT([system not found])
|
||||
+ AC_MSG_ERROR([--with-libjpeg=system specified, but no libjpeg found])
|
||||
+ fi
|
||||
+ else
|
||||
+ AC_MSG_ERROR([Invalid use of --with-libjpeg: ${with_libjpeg}, use 'system' or 'bundled'])
|
||||
+ fi
|
||||
AC_SUBST(USE_EXTERNAL_LIBJPEG)
|
||||
|
||||
+
|
||||
###############################################################################
|
||||
#
|
||||
# Check for the gif library
|
||||
diff -ruN jdk8/jdk/make/lib/Awt2dLibraries.gmk jdk8/jdk/make/lib/Awt2dLibraries.gmk
|
||||
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk 2013-10-31 19:44:18.000000000 -0400
|
||||
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk 2013-11-14 21:56:01.020796703 -0500
|
||||
@@ -696,17 +696,17 @@
|
||||
##########################################################################################
|
||||
|
||||
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_LIBJPEG_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
|
||||
|
||||
@@ -721,37 +721,37 @@
|
||||
# $(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, \
|
||||
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVAJPEG, \
|
||||
+ LIBRARY := javajpeg, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
- SRC := $(BUILD_LIBJPEG_CLOSED_SRC) \
|
||||
+ SRC := $(BUILD_LIBJAVAJPEG_CLOSED_SRC) \
|
||||
$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := HIGHEST, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
- $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
|
||||
+ $(BUILD_LIBJAVAJPEG_CLOSED_INCLUDES) \
|
||||
-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
|
||||
- MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
|
||||
- LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
+ MAPFILE := $(BUILD_LIBJAVAJPEG_MAPFILE), \
|
||||
+ LDFLAGS := $(LDFLAGS_JDKLIB) -ljpeg \
|
||||
$(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), \
|
||||
- OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjpeg, \
|
||||
+ REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \
|
||||
+ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjavajpeg, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
-$(BUILD_LIBJPEG): $(BUILD_LIBJAVA)
|
||||
+$(BUILD_LIBJAVAJPEG): $(BUILD_LIBJAVA)
|
||||
|
||||
-BUILD_LIBRARIES += $(BUILD_LIBJPEG)
|
||||
+BUILD_LIBRARIES += $(BUILD_LIBJAVAJPEG)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
@@ -1183,7 +1183,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
|
||||
|
||||
@@ -1194,6 +1193,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/jpeg
|
||||
+ endif
|
||||
+
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
|
||||
else
|
||||
@@ -1256,11 +1262,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) \
|
||||
diff -ruN jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
|
||||
--- jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java 2013-10-31 19:44:18.000000000 -0400
|
||||
+++ jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java 2013-11-14 21:55:20.250903340 -0500
|
||||
@@ -89,7 +89,7 @@
|
||||
java.security.AccessController.doPrivileged(
|
||||
new java.security.PrivilegedAction<Void>() {
|
||||
public Void run() {
|
||||
- System.loadLibrary("jpeg");
|
||||
+ System.loadLibrary("javajpeg");
|
||||
return null;
|
||||
}
|
||||
});
|
||||
diff -ruN jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
|
||||
--- jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java 2013-10-31 19:44:18.000000000 -0400
|
||||
+++ jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java 2013-11-14 21:55:20.250903340 -0500
|
||||
@@ -179,7 +179,7 @@
|
||||
java.security.AccessController.doPrivileged(
|
||||
new java.security.PrivilegedAction<Void>() {
|
||||
public Void run() {
|
||||
- System.loadLibrary("jpeg");
|
||||
+ System.loadLibrary("javajpeg");
|
||||
return null;
|
||||
}
|
||||
});
|
||||
diff -ruN jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java
|
||||
--- jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java 2013-10-31 19:44:18.000000000 -0400
|
||||
+++ jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java 2013-11-14 21:55:20.251903376 -0500
|
||||
@@ -56,7 +56,7 @@
|
||||
java.security.AccessController.doPrivileged(
|
||||
new java.security.PrivilegedAction<Void>() {
|
||||
public Void run() {
|
||||
- System.loadLibrary("jpeg");
|
||||
+ System.loadLibrary("javajpeg");
|
||||
return null;
|
||||
}
|
||||
});
|
||||
diff -ruN jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
|
||||
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c 2013-10-31 19:44:18.000000000 -0400
|
||||
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c 2013-11-14 21:55:20.251903376 -0500
|
||||
@@ -25,7 +25,6 @@
|
||||
|
||||
#include "splashscreen_impl.h"
|
||||
|
||||
-#include "jinclude.h"
|
||||
#include "jpeglib.h"
|
||||
#include "jerror.h"
|
||||
|
||||
@@ -107,11 +106,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;
|
115
system-libpng.patch
Normal file
115
system-libpng.patch
Normal file
|
@ -0,0 +1,115 @@
|
|||
diff -ruN jdk8/common/autoconf/libraries.m4 jdk8/common/autoconf/libraries.m4
|
||||
--- jdk8/common/autoconf/libraries.m4 2013-11-14 20:08:01.845065585 -0500
|
||||
+++ jdk8/common/autoconf/libraries.m4 2013-11-14 20:10:56.186553066 -0500
|
||||
@@ -676,6 +676,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
|
||||
#
|
||||
|
||||
diff -ruN jdk8/common/autoconf/spec.gmk.in jdk8/common/autoconf/spec.gmk.in
|
||||
--- jdk8/common/autoconf/spec.gmk.in 2013-10-31 19:24:33.000000000 -0400
|
||||
+++ jdk8/common/autoconf/spec.gmk.in 2013-11-14 21:10:56.365976518 -0500
|
||||
@@ -548,6 +548,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@
|
||||
diff -ruN jdk8/jdk/make/lib/Awt2dLibraries.gmk jdk8/jdk/make/lib/Awt2dLibraries.gmk
|
||||
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk 2013-11-14 20:08:01.845065585 -0500
|
||||
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk 2013-11-14 20:14:10.791982343 -0500
|
||||
@@ -1183,7 +1183,6 @@
|
||||
|
||||
ifndef BUILD_HEADLESS_ONLY
|
||||
LIBSPLASHSCREEN_DIRS := \
|
||||
- $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
|
||||
$(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
|
||||
|
||||
ifeq ($(USE_EXTERNAL_LIBGIF), true)
|
||||
@@ -1200,6 +1199,13 @@
|
||||
LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/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
|
||||
@@ -1263,12 +1269,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), \
|
||||
+ $(LIBZ) $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS) $(LIBPNG_LDFLAGS), \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
diff -ruN jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c
|
||||
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2013-10-31 19:44:18.000000000 -0400
|
||||
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2013-11-14 20:14:41.363892797 -0500
|
||||
@@ -25,8 +25,7 @@
|
||||
|
||||
#include "splashscreen_impl.h"
|
||||
|
||||
-#include "../libpng/png.h"
|
||||
-
|
||||
+#include <png.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
#define SIG_BYTES 8
|
Loading…
Add table
Reference in a new issue