Sync from SUSE:ALP:Source:Standard:1.0 java-11-openjdk revision 9da0b652b1b44384a620735f3f9151d6
This commit is contained in:
commit
ab3476ea60
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
93
JDK-8208602.patch
Normal file
93
JDK-8208602.patch
Normal file
@ -0,0 +1,93 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User weijun
|
||||
# Date 1533101708 -28800
|
||||
# Node ID 9d92ff04a29c12a5d47f2ca4e772f7716bfdb8ff
|
||||
# Parent b6e0bfe4a6ec5d8d9d9476c05627dfb47f2263e1
|
||||
8208602: Cannot read PEM X.509 cert if there is whitespace after the header or footer
|
||||
Reviewed-by: xuelei
|
||||
|
||||
diff -r b6e0bfe4a6ec -r 9d92ff04a29c src/java.base/share/classes/sun/security/provider/X509Factory.java
|
||||
--- a/src/java.base/share/classes/sun/security/provider/X509Factory.java Wed Aug 01 01:40:44 2018 -0400
|
||||
+++ b/src/java.base/share/classes/sun/security/provider/X509Factory.java Wed Aug 01 13:35:08 2018 +0800
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 1998, 2018, 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
|
||||
@@ -635,7 +635,8 @@
|
||||
if (next != '\r') footer.append((char)next);
|
||||
}
|
||||
|
||||
- checkHeaderFooter(header.toString(), footer.toString());
|
||||
+ checkHeaderFooter(header.toString().stripTrailing(),
|
||||
+ footer.toString().stripTrailing());
|
||||
|
||||
try {
|
||||
return Base64.getDecoder().decode(data.toByteArray());
|
||||
diff -r b6e0bfe4a6ec -r 9d92ff04a29c test/jdk/sun/security/provider/X509Factory/BadPem.java
|
||||
--- a/test/jdk/sun/security/provider/X509Factory/BadPem.java Wed Aug 01 01:40:44 2018 -0400
|
||||
+++ b/test/jdk/sun/security/provider/X509Factory/BadPem.java Wed Aug 01 13:35:08 2018 +0800
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2015, 2018, 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
|
||||
@@ -23,14 +23,13 @@
|
||||
|
||||
/*
|
||||
* @test
|
||||
- * @bug 8074935
|
||||
- * @summary jdk8 keytool doesn't validate pem files for RFC 1421 correctness, as jdk7 did
|
||||
+ * @bug 8074935 8208602
|
||||
+ * @summary X.509 cert PEM format read
|
||||
* @modules java.base/sun.security.provider
|
||||
*/
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.FileInputStream;
|
||||
-import java.io.FileOutputStream;
|
||||
import java.io.PrintStream;
|
||||
import java.security.KeyStore;
|
||||
import java.security.cert.CertificateException;
|
||||
@@ -49,10 +48,12 @@
|
||||
String pass = "passphrase";
|
||||
String alias = "dummy";
|
||||
|
||||
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
|
||||
KeyStore keyStore = KeyStore.getInstance("JKS");
|
||||
keyStore.load(new FileInputStream(ks), pass.toCharArray());
|
||||
byte[] cert = keyStore.getCertificate(alias).getEncoded();
|
||||
|
||||
+ // 8074935
|
||||
ByteArrayOutputStream bout = new ByteArrayOutputStream();
|
||||
PrintStream pout = new PrintStream(bout);
|
||||
byte[] CRLF = new byte[] {'\r', '\n'};
|
||||
@@ -64,14 +65,20 @@
|
||||
}
|
||||
pout.println(X509Factory.END_CERT);
|
||||
|
||||
- CertificateFactory cf = CertificateFactory.getInstance("X.509");
|
||||
-
|
||||
try {
|
||||
cf.generateCertificate(new ByteArrayInputStream(bout.toByteArray()));
|
||||
throw new Exception("Should fail");
|
||||
} catch (CertificateException e) {
|
||||
// Good
|
||||
}
|
||||
+
|
||||
+ // 8208602
|
||||
+ bout.reset();
|
||||
+ pout.println(X509Factory.BEGIN_CERT + " ");
|
||||
+ pout.println(Base64.getMimeEncoder().encodeToString(cert));
|
||||
+ pout.println(X509Factory.END_CERT + " ");
|
||||
+
|
||||
+ cf.generateCertificate(new ByteArrayInputStream(bout.toByteArray()));
|
||||
}
|
||||
}
|
||||
|
||||
|
33
PStack-808293.patch
Normal file
33
PStack-808293.patch
Normal file
@ -0,0 +1,33 @@
|
||||
--- jdk10/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java 2016-01-21 19:16:09.000000000 +0100
|
||||
+++ jdk10/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java 2016-01-29 15:49:47.815913736 +0100
|
||||
@@ -88,7 +89,8 @@
|
||||
if (jthread != null) {
|
||||
jthread.printThreadInfoOn(out);
|
||||
}
|
||||
- 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) {
|
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);
|
||||
}
|
||||
}
|
||||
}
|
49
TestECDSA.java
Normal file
49
TestECDSA.java
Normal file
@ -0,0 +1,49 @@
|
||||
/* TestECDSA -- Ensure ECDSA signatures are working.
|
||||
Copyright (C) 2016 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.math.BigInteger;
|
||||
import java.security.KeyPair;
|
||||
import java.security.KeyPairGenerator;
|
||||
import java.security.Signature;
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public class TestECDSA {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("EC");
|
||||
KeyPair key = keyGen.generateKeyPair();
|
||||
|
||||
byte[] data = "This is a string to sign".getBytes("UTF-8");
|
||||
|
||||
Signature dsa = Signature.getInstance("NONEwithECDSA");
|
||||
dsa.initSign(key.getPrivate());
|
||||
dsa.update(data);
|
||||
byte[] sig = dsa.sign();
|
||||
System.out.println("Signature: " + new BigInteger(1, sig).toString(16));
|
||||
|
||||
Signature dsaCheck = Signature.getInstance("NONEwithECDSA");
|
||||
dsaCheck.initVerify(key.getPublic());
|
||||
dsaCheck.update(data);
|
||||
boolean success = dsaCheck.verify(sig);
|
||||
if (!success) {
|
||||
throw new RuntimeException("Test failed. Signature verification error");
|
||||
}
|
||||
System.out.println("Test passed.");
|
||||
}
|
||||
}
|
10
_constraints
Normal file
10
_constraints
Normal file
@ -0,0 +1,10 @@
|
||||
<constraints>
|
||||
<hardware>
|
||||
<physicalmemory>
|
||||
<size unit="M">4096</size>
|
||||
</physicalmemory>
|
||||
<disk>
|
||||
<size unit="G">20</size>
|
||||
</disk>
|
||||
</hardware>
|
||||
</constraints>
|
BIN
activation-JAF-1_2_0.tar.gz
(Stored with Git LFS)
Normal file
BIN
activation-JAF-1_2_0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
45
activation-module.patch
Normal file
45
activation-module.patch
Normal file
@ -0,0 +1,45 @@
|
||||
--- activation-JAF-1_2_0/activation/src/main/java/module-info.java 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ activation-JAF-1_2_0/activation/src/main/java/module-info.java 2018-07-13 21:56:33.025843992 +0200
|
||||
@@ -0,0 +1,42 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2014, 2017, 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.
|
||||
+ */
|
||||
+
|
||||
+/**
|
||||
+ * Defines the JavaBeans Activation Framework (JAF) API.
|
||||
+ *
|
||||
+ * <p> This module is upgradeable.
|
||||
+ *
|
||||
+ * @moduleGraph
|
||||
+ * @since 9
|
||||
+ */
|
||||
+module java.activation {
|
||||
+ requires java.logging;
|
||||
+ requires java.desktop;
|
||||
+
|
||||
+ requires transitive java.datatransfer;
|
||||
+
|
||||
+ exports javax.activation;
|
||||
+}
|
||||
+
|
22
adlc-parser.patch
Normal file
22
adlc-parser.patch
Normal file
@ -0,0 +1,22 @@
|
||||
--- a/src/hotspot/share/adlc/formsopt.cpp
|
||||
+++ b/src/hotspot/share/adlc/formsopt.cpp
|
||||
@@ -427,6 +427,11 @@ void AllocClass::output(FILE *fp) { // Write info to output files
|
||||
//==============================Frame Handling=================================
|
||||
//------------------------------FrameForm--------------------------------------
|
||||
FrameForm::FrameForm() {
|
||||
+ _sync_stack_slots = NULL;
|
||||
+ _inline_cache_reg = NULL;
|
||||
+ _interpreter_method_oop_reg = NULL;
|
||||
+ _interpreter_frame_pointer_reg = NULL;
|
||||
+ _cisc_spilling_operand_name = NULL;
|
||||
_frame_pointer = NULL;
|
||||
_c_frame_pointer = NULL;
|
||||
_alignment = NULL;
|
||||
@@ -438,7 +443,6 @@ FrameForm::FrameForm() {
|
||||
_c_calling_convention = NULL;
|
||||
_return_value = NULL;
|
||||
_c_return_value = NULL;
|
||||
- _interpreter_frame_pointer_reg = NULL;
|
||||
}
|
||||
|
||||
FrameForm::~FrameForm() {
|
111
alternative-tzdb_dat.patch
Normal file
111
alternative-tzdb_dat.patch
Normal file
@ -0,0 +1,111 @@
|
||||
--- a/src/java.base/share/classes/java/time/zone/TzdbZoneRulesProvider.java Thu Jun 28 17:49:13 2018 -0700
|
||||
+++ b/src/java.base/share/classes/java/time/zone/TzdbZoneRulesProvider.java Fri Jun 29 08:23:40 2018 +0200
|
||||
@@ -74,6 +74,7 @@
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.NavigableMap;
|
||||
+import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
@@ -106,7 +107,14 @@
|
||||
*/
|
||||
public TzdbZoneRulesProvider() {
|
||||
try {
|
||||
- String libDir = StaticProperty.javaHome() + File.separator + "lib";
|
||||
+ final String homeDir = StaticProperty.javaHome();
|
||||
+ if (homeDir == null) {
|
||||
+ throw new Error("java.home is not set");
|
||||
+ }
|
||||
+ String libDir = homeDir + File.separator + "lib";
|
||||
+ String otherDir = getZoneInfoDir(homeDir);
|
||||
+ if (otherDir != null)
|
||||
+ libDir = otherDir;
|
||||
try (DataInputStream dis = new DataInputStream(
|
||||
new BufferedInputStream(new FileInputStream(
|
||||
new File(libDir, "tzdb.dat"))))) {
|
||||
@@ -117,6 +125,28 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ private static String getZoneInfoDir(final String homeDir) {
|
||||
+ try {
|
||||
+ File f = new File(homeDir + File.separator + "conf" +
|
||||
+ File.separator + "tz.properties");
|
||||
+ if (!f.exists())
|
||||
+ return null;
|
||||
+ BufferedInputStream bin = new BufferedInputStream(new FileInputStream(f));
|
||||
+ Properties props = new Properties();
|
||||
+ props.load(bin);
|
||||
+ bin.close();
|
||||
+ String dir = props.getProperty("sun.zoneinfo.dir");
|
||||
+ if (dir == null)
|
||||
+ return null;
|
||||
+ File tzdbdat = new File(dir, "tzdb.dat");
|
||||
+ if (tzdbdat.exists())
|
||||
+ return dir;
|
||||
+ return null;
|
||||
+ } catch (Exception x) {
|
||||
+ return null;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
@Override
|
||||
protected Set<String> provideZoneIds() {
|
||||
return new HashSet<>(regionIds);
|
||||
--- a/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java Thu Jun 28 17:49:13 2018 -0700
|
||||
+++ b/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java Fri Jun 29 08:23:40 2018 +0200
|
||||
@@ -45,6 +45,7 @@
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
+import java.util.Properties;
|
||||
import java.util.SimpleTimeZone;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.zip.CRC32;
|
||||
@@ -251,7 +252,15 @@
|
||||
AccessController.doPrivileged(new PrivilegedAction<Void>() {
|
||||
public Void run() {
|
||||
try {
|
||||
- String libDir = StaticProperty.javaHome() + File.separator + "lib";
|
||||
+ final String homeDir = StaticProperty.javaHome();
|
||||
+ if (homeDir == null) {
|
||||
+ throw new Error("java.home is not set");
|
||||
+ }
|
||||
+ String libDir = homeDir + File.separator + "lib";
|
||||
+ String otherDir = getZoneInfoDir(homeDir);
|
||||
+ if (otherDir != null)
|
||||
+ libDir = otherDir;
|
||||
+
|
||||
try (DataInputStream dis = new DataInputStream(
|
||||
new BufferedInputStream(new FileInputStream(
|
||||
new File(libDir, "tzdb.dat"))))) {
|
||||
@@ -265,6 +274,28 @@
|
||||
});
|
||||
}
|
||||
|
||||
+ private static String getZoneInfoDir(final String homeDir) {
|
||||
+ try {
|
||||
+ File f = new File(homeDir + File.separator + "conf" +
|
||||
+ File.separator + "tz.properties");
|
||||
+ if (!f.exists())
|
||||
+ return null;
|
||||
+ BufferedInputStream bin = new BufferedInputStream(new FileInputStream(f));
|
||||
+ Properties props = new Properties();
|
||||
+ props.load(bin);
|
||||
+ bin.close();
|
||||
+ String dir = props.getProperty("sun.zoneinfo.dir");
|
||||
+ if (dir == null)
|
||||
+ return null;
|
||||
+ File tzdbdat = new File(dir, "tzdb.dat");
|
||||
+ if (tzdbdat.exists())
|
||||
+ return dir;
|
||||
+ return null;
|
||||
+ } catch (Exception x) {
|
||||
+ return null;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
private static void addOldMapping() {
|
||||
for (String[] alias : oldMappings) {
|
||||
aliases.put(alias[0], alias[1]);
|
66
annotation-module.patch
Normal file
66
annotation-module.patch
Normal file
@ -0,0 +1,66 @@
|
||||
|
||||
|
||||
2018-07-14 20:40 diff -ulEbwB /dev/null javax.annotation-1.3.2/src/main/java/module-info.java Page 1
|
||||
|
||||
|
||||
--- /dev/null 2018-07-14 10:01:53.274827758 +0200
|
||||
+++ javax.annotation-1.3.2/src/main/java/module-info.java 2018-07-14 20:37:45.336213151 +0200
|
||||
@@ -0,0 +1,33 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2014, 2017, 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.
|
||||
+ */
|
||||
+
|
||||
+/**
|
||||
+ * Defines a subset of the Common Annotations API to support programs running
|
||||
+ * on the Java SE Platform.
|
||||
+ */
|
||||
+module java.annotation {
|
||||
+ exports javax.annotation;
|
||||
+}
|
||||
+
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
1807
config.guess
vendored
Normal file
1807
config.guess
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1960
config.sub
vendored
Normal file
1960
config.sub
vendored
Normal file
File diff suppressed because it is too large
Load Diff
52
disable-doclint-by-default.patch
Normal file
52
disable-doclint-by-default.patch
Normal file
@ -0,0 +1,52 @@
|
||||
--- jdk10/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/DocEnv.java 2018-01-18 00:25:18.000000000 +0100
|
||||
+++ jdk10/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/DocEnv.java 2018-01-18 17:45:18.697161064 +0100
|
||||
@@ -839,7 +839,7 @@
|
||||
}
|
||||
|
||||
if (!msgOptionSeen) {
|
||||
- doclintOpts.add(DocLint.XMSGS_OPTION);
|
||||
+ return;
|
||||
}
|
||||
|
||||
String sep = "";
|
||||
--- jdk10/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java 2018-01-18 00:25:18.000000000 +0100
|
||||
+++ jdk10/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java 2018-01-18 17:45:18.697161064 +0100
|
||||
@@ -127,7 +127,7 @@
|
||||
}
|
||||
|
||||
if (!msgOptionSeen) {
|
||||
- doclintOpts.add(DocLint.XMSGS_OPTION);
|
||||
+ return;
|
||||
}
|
||||
|
||||
String sep = "";
|
||||
--- jdk10/test/langtools/jdk/javadoc/tool/doclint/DocLintTest.java 2018-01-18 00:25:18.000000000 +0100
|
||||
+++ jdk10/test/langtools/jdk/javadoc/tool/doclint/DocLintTest.java 2018-01-18 17:49:48.865162085 +0100
|
||||
@@ -147,12 +147,12 @@
|
||||
files = List.of(new TestJFO("Test.java", code));
|
||||
|
||||
test(List.of(htmlVersion),
|
||||
- Main.Result.ERROR,
|
||||
- EnumSet.of(Message.DL_ERR9A, Message.DL_WRN12A));
|
||||
+ Main.Result.OK,
|
||||
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN13));
|
||||
|
||||
test(List.of(htmlVersion, rawDiags),
|
||||
- Main.Result.ERROR,
|
||||
- EnumSet.of(Message.DL_ERR9, Message.DL_WRN12));
|
||||
+ Main.Result.OK,
|
||||
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN13));
|
||||
|
||||
// test(List.of("-Xdoclint:none"),
|
||||
// Main.Result.OK,
|
||||
@@ -175,8 +175,8 @@
|
||||
EnumSet.of(Message.DL_WRN12));
|
||||
|
||||
test(List.of(htmlVersion, 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(List.of(htmlVersion, rawDiags, "-Xdoclint:syntax", "-private"),
|
||||
Main.Result.ERROR,
|
1557
fips.patch
Normal file
1557
fips.patch
Normal file
File diff suppressed because it is too large
Load Diff
24
fix_armv6_build.patch
Normal file
24
fix_armv6_build.patch
Normal file
@ -0,0 +1,24 @@
|
||||
--- src/hotspot/cpu/arm/stubGenerator_arm.cpp.orig 2018-05-03 03:36:49.000000000 +0200
|
||||
+++ src/hotspot/cpu/arm/stubGenerator_arm.cpp 2018-05-07 17:55:16.692263547 +0200
|
||||
@@ -755,7 +755,9 @@ class StubGenerator: public StubCodeGene
|
||||
__ clrex(); // FIXME: safe to remove?
|
||||
__ bx(LR);
|
||||
} else {
|
||||
- __ stop("Atomic load(jlong) unsupported on this platform");
|
||||
+ //__ stop("Atomic load(jlong) unsupported on this platform");
|
||||
+ // Workaround for armv6 built on multi core machines
|
||||
+ __ ldmia(src, RegisterSet(result_lo, result_hi));
|
||||
__ bx(LR);
|
||||
}
|
||||
|
||||
@@ -787,7 +789,9 @@ class StubGenerator: public StubCodeGene
|
||||
__ b(retry, eq);
|
||||
__ bx(LR);
|
||||
} else {
|
||||
- __ stop("Atomic store(jlong) unsupported on this platform");
|
||||
+ //__ stop("Atomic store(jlong) unsupported on this platform");
|
||||
+ // Workaround for armv6 built on multi core machines
|
||||
+ __ stmia(dest, RegisterSet(newval_lo, newval_hi));
|
||||
__ bx(LR);
|
||||
}
|
||||
|
10
implicit-pointer-decl.patch
Normal file
10
implicit-pointer-decl.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- jdk10/src/java.instrument/share/native/libinstrument/JarFacade.c 2014-10-02 10:59:00.105666221 +0200
|
||||
+++ jdk10/src/java.instrument/share/native/libinstrument/JarFacade.c 2014-10-02 11:59:03.355452975 +0200
|
||||
@@ -23,6 +23,7 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
+#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
13007
java-11-openjdk.changes
Normal file
13007
java-11-openjdk.changes
Normal file
File diff suppressed because it is too large
Load Diff
1372
java-11-openjdk.spec
Normal file
1372
java-11-openjdk.spec
Normal file
File diff suppressed because it is too large
Load Diff
20
java-atk-wrapper-security.patch
Normal file
20
java-atk-wrapper-security.patch
Normal file
@ -0,0 +1,20 @@
|
||||
--- jdk10/src/java.base/share/conf/security/java.security 2017-01-23 23:56:02.000000000 +0100
|
||||
+++ jdk10/src/java.base/share/conf/security/java.security 2017-01-27 08:41:10.551819770 +0100
|
||||
@@ -304,6 +304,8 @@
|
||||
#
|
||||
package.access=sun.misc.,\
|
||||
sun.reflect.,\
|
||||
+ org.GNOME.Accessibility.,\
|
||||
+ org.GNOME.Bonobo.,\
|
||||
|
||||
#
|
||||
# List of comma-separated packages that start with or equal this string
|
||||
@@ -316,6 +318,8 @@
|
||||
#
|
||||
package.definition=sun.misc.,\
|
||||
sun.reflect.,\
|
||||
+ org.GNOME.Accessibility.,\
|
||||
+ org.GNOME.Bonobo.,\
|
||||
|
||||
#
|
||||
# Determines whether this properties file can be appended to
|
BIN
javax.annotation-1.3.2.tar.gz
(Stored with Git LFS)
Normal file
BIN
javax.annotation-1.3.2.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
javax.xml.soap-1.4.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
javax.xml.soap-1.4.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
jax-ws-spec-2.4.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
jax-ws-spec-2.4.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
jaxb-istack-commons-3.0.7-RELEASE.tar.gz
(Stored with Git LFS)
Normal file
BIN
jaxb-istack-commons-3.0.7-RELEASE.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
jaxb-spec-2.4.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
jaxb-spec-2.4.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
jaxb-v2-2.3.1.tar.gz
(Stored with Git LFS)
Normal file
BIN
jaxb-v2-2.3.1.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
11
jconsole.desktop.in
Normal file
11
jconsole.desktop.in
Normal file
@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Name=OpenJDK @VERSION@ Monitoring & Management Console
|
||||
GenericName=OpenJDK Monitoring & Management Console
|
||||
Comment=Monitor and manage OpenJDK applications
|
||||
Exec=@JAVA_HOME@/bin/jconsole
|
||||
Icon=java-@VERSION@-openjdk
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupWMClass=sun-tools-jconsole-JConsole
|
||||
Categories=Development;Profiling;
|
||||
Version=1.0
|
BIN
jdk-11.0.22+7.tar.gz
(Stored with Git LFS)
Normal file
BIN
jdk-11.0.22+7.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
11
keytool-default-rsa.patch
Normal file
11
keytool-default-rsa.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- openjdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java 2021-03-16 07:15:49.790093601 +0100
|
||||
+++ openjdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java 2021-03-18 16:35:12.103576694 +0100
|
||||
@@ -1135,7 +1135,7 @@
|
||||
}
|
||||
} else if (command == GENKEYPAIR) {
|
||||
if (keyAlgName == null) {
|
||||
- keyAlgName = "DSA";
|
||||
+ keyAlgName = "RSA";
|
||||
}
|
||||
doGenKeyPair(alias, dname, keyAlgName, keysize, groupName, sigAlgName);
|
||||
kssave = true;
|
17
loadAssistiveTechnologies.patch
Normal file
17
loadAssistiveTechnologies.patch
Normal file
@ -0,0 +1,17 @@
|
||||
--- openjdk/src/java.desktop/share/classes/java/awt/Toolkit.java
|
||||
+++ openjdk/src/java.desktop/share/classes/java/awt/Toolkit.java
|
||||
@@ -883,9 +883,13 @@
|
||||
return null;
|
||||
}
|
||||
});
|
||||
if (!GraphicsEnvironment.isHeadless()) {
|
||||
- loadAssistiveTechnologies();
|
||||
+ try {
|
||||
+ loadAssistiveTechnologies();
|
||||
+ } catch (AWTError error) {
|
||||
+ // ignore silently
|
||||
+ }
|
||||
}
|
||||
}
|
||||
return toolkit;
|
||||
}
|
11
memory-limits.patch
Normal file
11
memory-limits.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- jdk11/src/hotspot/share/gc/shared/gc_globals.hpp 2018-04-20 08:14:25.796265133 +0200
|
||||
+++ jdk11/src/hotspot/share/gc/shared/gc_globals.hpp 2018-04-20 08:15:53.656690011 +0200
|
||||
@@ -640,7 +640,7 @@
|
||||
"Initial heap size (in bytes); zero means use ergonomics") \
|
||||
constraint(InitialHeapSizeConstraintFunc,AfterErgo) \
|
||||
\
|
||||
- product(size_t, MaxHeapSize, ScaleForWordSize(96*M), \
|
||||
+ product(size_t, MaxHeapSize, ScaleForWordSize(512*M), \
|
||||
"Maximum heap size (in bytes)") \
|
||||
constraint(MaxHeapSizeConstraintFunc,AfterErgo) \
|
||||
\
|
BIN
metro-fi-1.2.15-RELEASE.tar.gz
(Stored with Git LFS)
Normal file
BIN
metro-fi-1.2.15-RELEASE.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
metro-stax-ex-1.8.tar.gz
(Stored with Git LFS)
Normal file
BIN
metro-stax-ex-1.8.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
32
missing-return.patch
Normal file
32
missing-return.patch
Normal file
@ -0,0 +1,32 @@
|
||||
--- jdk11/src/hotspot/cpu/zero/cppInterpreter_zero.cpp 2021-01-19 09:53:51.448158984 +0100
|
||||
+++ jdk11/src/hotspot/cpu/zero/cppInterpreter_zero.cpp 2021-01-19 09:59:03.485978413 +0100
|
||||
@@ -102,8 +102,8 @@
|
||||
return result;
|
||||
default:
|
||||
ShouldNotReachHere();
|
||||
- return result; // silence compiler warnings
|
||||
}
|
||||
+ return result;
|
||||
}
|
||||
|
||||
|
||||
--- jdk11/src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp 2021-01-19 09:53:51.452159007 +0100
|
||||
+++ jdk11/src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp 2021-01-19 09:55:04.060582394 +0100
|
||||
@@ -196,6 +196,7 @@
|
||||
else*/ if (thread->thread_state() == _thread_in_vm &&
|
||||
sig == SIGBUS && thread->doing_unsafe_access()) {
|
||||
ShouldNotCallThis();
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
// jni_fast_Get<Primitive>Field can trap at certain pc's if a GC
|
||||
--- jdk11/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp 2021-01-19 09:53:51.456159031 +0100
|
||||
+++ jdk11/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp 2021-01-19 09:55:04.060582394 +0100
|
||||
@@ -210,6 +210,7 @@
|
||||
else*/ if (thread->thread_state() == _thread_in_vm &&
|
||||
sig == SIGBUS && thread->doing_unsafe_access()) {
|
||||
ShouldNotCallThis();
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
// jni_fast_Get<Primitive>Field can trap at certain pc's if a GC
|
65
multiple-pkcs11-library-init.patch
Normal file
65
multiple-pkcs11-library-init.patch
Normal file
@ -0,0 +1,65 @@
|
||||
--- jdk10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java 2016-12-20 23:13:34.000000000 +0100
|
||||
+++ jdk10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java 2016-12-22 11:45:10.418651583 +0100
|
||||
@@ -51,6 +51,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
|
||||
@@ -992,6 +993,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:");
|
||||
}
|
||||
--- jdk10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java 2016-12-20 23:13:34.000000000 +0100
|
||||
+++ jdk10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java 2016-12-22 11:45:10.418651583 +0100
|
||||
@@ -174,26 +174,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 {
|
10
nss-security-provider.patch
Normal file
10
nss-security-provider.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- a/src/java.base/share/conf/security/java.security
|
||||
+++ b/src/java.base/share/conf/security/java.security
|
||||
@@ -87,6 +87,7 @@ security.provider.tbd=Apple
|
||||
#ifndef solaris
|
||||
security.provider.tbd=SunPKCS11
|
||||
#endif
|
||||
+#security.provider.tbd=SunPKCS11 ${java.home}/lib/security/nss.cfg
|
||||
|
||||
#
|
||||
# A list of preferred providers for specific algorithms. These providers will
|
5
nss.cfg.in
Normal file
5
nss.cfg.in
Normal file
@ -0,0 +1,5 @@
|
||||
name = NSS
|
||||
nssLibraryDirectory = @NSS_LIBDIR@
|
||||
nssDbMode = noDb
|
||||
attributes = compatibility
|
||||
handleStartupErrors = ignoreMultipleInitialisation
|
8
nss.fips.cfg.in
Normal file
8
nss.fips.cfg.in
Normal file
@ -0,0 +1,8 @@
|
||||
name = NSS-FIPS
|
||||
nssLibraryDirectory = @NSS_LIBDIR@
|
||||
nssSecmodDirectory = @NSS_SECMOD@
|
||||
nssDbMode = readOnly
|
||||
nssModule = fips
|
||||
|
||||
attributes(*,CKO_SECRET_KEY,CKK_GENERIC_SECRET)={ CKA_SIGN=true }
|
||||
|
28
ppc_stack_overflow_fix.patch
Normal file
28
ppc_stack_overflow_fix.patch
Normal file
@ -0,0 +1,28 @@
|
||||
--- jdk10/src/hotspot/cpu/zero/stack_zero.hpp 2016-12-27 22:00:30.000000000 +0100
|
||||
+++ jdk10/src/hotspot/cpu/zero/stack_zero.hpp 2017-01-09 08:35:53.221098668 +0100
|
||||
@@ -96,7 +96,7 @@
|
||||
int shadow_pages_size() const {
|
||||
return _shadow_pages_size;
|
||||
}
|
||||
- int abi_stack_available(Thread *thread) const;
|
||||
+ ssize_t abi_stack_available(Thread *thread) const;
|
||||
|
||||
public:
|
||||
void overflow_check(int required_words, TRAPS);
|
||||
--- jdk10/src/hotspot/cpu/zero/stack_zero.inline.hpp 2016-12-27 22:00:30.000000000 +0100
|
||||
+++ jdk10/src/hotspot/cpu/zero/stack_zero.inline.hpp 2017-01-09 08:35:53.221098668 +0100
|
||||
@@ -47,11 +47,11 @@
|
||||
// This method returns the amount of ABI stack available for us
|
||||
// to use under normal circumstances. Note that the returned
|
||||
// value can be negative.
|
||||
-inline int ZeroStack::abi_stack_available(Thread *thread) const {
|
||||
+inline ssize_t ZeroStack::abi_stack_available(Thread *thread) const {
|
||||
guarantee(Thread::current() == thread, "should run in the same thread");
|
||||
- int stack_used = thread->stack_base() - (address) &stack_used
|
||||
+ ssize_t stack_used = thread->stack_base() - (address) &stack_used
|
||||
+ (JavaThread::stack_guard_zone_size() + JavaThread::stack_shadow_zone_size());
|
||||
- int stack_free = thread->stack_size() - stack_used;
|
||||
+ ssize_t stack_free = thread->stack_size() - stack_used;
|
||||
return stack_free;
|
||||
}
|
||||
|
38
reproducible-javadoc-timestamp.patch
Normal file
38
reproducible-javadoc-timestamp.patch
Normal file
@ -0,0 +1,38 @@
|
||||
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java
|
||||
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java
|
||||
@@ -256,6 +256,9 @@ public class Head {
|
||||
*/
|
||||
public Content toContent() {
|
||||
Date now = showTimestamp ? calendar.getTime() : null;
|
||||
+ if (now != null && System.getenv("SOURCE_DATE_EPOCH") != null) {
|
||||
+ now = new Date(1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH")));
|
||||
+ }
|
||||
|
||||
HtmlTree tree = new HtmlTree(HtmlTag.HEAD);
|
||||
if (showGeneratedBy) {
|
||||
@@ -269,6 +272,9 @@ public class Head {
|
||||
|
||||
if (showMetaCreated) {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
+ if (System.getenv("SOURCE_DATE_EPOCH") != null) {
|
||||
+ dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||||
+ }
|
||||
tree.addContent(HtmlTree.META(
|
||||
(htmlVersion == HtmlVersion.HTML5) ? "dc.created" : "date",
|
||||
dateFormat.format(now)));
|
||||
@@ -298,7 +304,14 @@ public class Head {
|
||||
private Comment getGeneratedBy(boolean timestamp, Date now) {
|
||||
String text = "Generated by javadoc"; // marker string, deliberately not localized
|
||||
if (timestamp) {
|
||||
- text += " ("+ docletVersion + ") on " + now;
|
||||
+ text += " ("+ docletVersion + ") on ";
|
||||
+ if (System.getenv("SOURCE_DATE_EPOCH") == null) {
|
||||
+ text += now;
|
||||
+ } else {
|
||||
+ SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
|
||||
+ fmt.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||||
+ text += fmt.format(now);
|
||||
+ }
|
||||
}
|
||||
return new Comment(text);
|
||||
}
|
15
reproducible-properties.patch
Normal file
15
reproducible-properties.patch
Normal file
@ -0,0 +1,15 @@
|
||||
--- a/src/java.base/share/classes/java/util/Properties.java
|
||||
+++ b/src/java.base/share/classes/java/util/Properties.java
|
||||
@@ -929,7 +929,11 @@ class Properties extends Hashtable<Object,Object> {
|
||||
if (comments != null) {
|
||||
writeComments(bw, comments);
|
||||
}
|
||||
- bw.write("#" + new Date().toString());
|
||||
+ Date now = new Date();
|
||||
+ if (System.getenv("SOURCE_DATE_EPOCH") != null) {
|
||||
+ now = new Date(1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH")));
|
||||
+ }
|
||||
+ bw.write("#" + now.toString());
|
||||
bw.newLine();
|
||||
synchronized (this) {
|
||||
for (Map.Entry<Object, Object> e : entrySet()) {
|
28
s390-java-opts.patch
Normal file
28
s390-java-opts.patch
Normal file
@ -0,0 +1,28 @@
|
||||
--- jdk9/make/autoconf/boot-jdk.m4 2017-01-23 20:49:50.000000000 +0100
|
||||
+++ jdk9/make/autoconf/boot-jdk.m4 2017-02-02 07:37:15.384455529 +0100
|
||||
@@ -360,11 +360,11 @@
|
||||
AC_MSG_CHECKING([flags for boot jdk java command for big workloads])
|
||||
|
||||
# Starting amount of heap memory.
|
||||
- ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA])
|
||||
- BOOTCYCLE_JVM_ARGS_BIG=-Xms64M
|
||||
+ ADD_JVM_ARG_IF_OK([-Xms256M],boot_jdk_jvmargs_big,[$JAVA])
|
||||
+ BOOTCYCLE_JVM_ARGS_BIG=-Xms256M
|
||||
|
||||
# Maximum amount of heap memory and stack size.
|
||||
- JVM_HEAP_LIMIT_32="1024"
|
||||
+ JVM_HEAP_LIMIT_32="768"
|
||||
# Running a 64 bit JVM allows for and requires a bigger heap
|
||||
JVM_HEAP_LIMIT_64="1600"
|
||||
STACK_SIZE_32=768
|
||||
@@ -417,8 +417,8 @@
|
||||
|
||||
# Use serial gc for small short lived tools if possible
|
||||
ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA])
|
||||
- ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA])
|
||||
- ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA])
|
||||
+ ADD_JVM_ARG_IF_OK([-Xms256M],boot_jdk_jvmargs_small,[$JAVA])
|
||||
+ ADD_JVM_ARG_IF_OK([-Xmx768M],boot_jdk_jvmargs_small,[$JAVA])
|
||||
ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA])
|
||||
|
||||
AC_MSG_RESULT([$boot_jdk_jvmargs_small])
|
232
s390-size_t.patch
Normal file
232
s390-size_t.patch
Normal file
@ -0,0 +1,232 @@
|
||||
--- jdk10/src/share/vm/code/codeCache.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/code/codeCache.cpp 2017-01-25 10:28:19.880008325 +0100
|
||||
@@ -403,7 +403,7 @@
|
||||
add_heap(heap);
|
||||
|
||||
// Reserve Space
|
||||
- size_t size_initial = MIN2(InitialCodeCacheSize, rs.size());
|
||||
+ size_t size_initial = MIN2((size_t)InitialCodeCacheSize, rs.size());
|
||||
size_initial = round_to(size_initial, os::vm_page_size());
|
||||
if (!heap->reserve(rs, size_initial, CodeCacheSegmentSize)) {
|
||||
vm_exit_during_initialization("Could not reserve enough space for code cache");
|
||||
--- jdk10/src/share/vm/gc/cms/compactibleFreeListSpace.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/gc/cms/compactibleFreeListSpace.cpp 2017-01-25 10:28:19.880008325 +0100
|
||||
@@ -2506,7 +2506,7 @@
|
||||
//
|
||||
size_t multiple = (size_t) (_num_blocks[word_sz]/(((double)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);
|
||||
--- jdk10/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp 2017-01-25 10:28:19.884008234 +0100
|
||||
@@ -753,7 +753,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);
|
||||
Log(gc) log;
|
||||
if (log.is_trace()) {
|
||||
size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
|
||||
@@ -5510,7 +5510,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() &&
|
||||
@@ -5791,7 +5791,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(
|
||||
--- jdk10/src/share/vm/gc/cms/parNewGeneration.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/gc/cms/parNewGeneration.cpp 2017-01-25 10:28:19.884008234 +0100
|
||||
@@ -197,7 +197,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.
|
||||
--- jdk10/src/share/vm/gc/g1/g1CollectedHeap.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/gc/g1/g1CollectedHeap.cpp 2017-01-25 10:28:19.884008234 +0100
|
||||
@@ -1595,7 +1595,7 @@
|
||||
|
||||
_verifier->verify_region_sets_optional();
|
||||
|
||||
- size_t expand_bytes = MAX2(word_size * HeapWordSize, MinHeapDeltaBytes);
|
||||
+ size_t expand_bytes = MAX2(word_size * HeapWordSize, (size_t)MinHeapDeltaBytes);
|
||||
log_debug(gc, ergo, heap)("Attempt heap expansion (allocation request failed). Allocation request: " SIZE_FORMAT "B",
|
||||
word_size * HeapWordSize);
|
||||
|
||||
--- jdk10/src/share/vm/gc/g1/g1ConcurrentMark.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/gc/g1/g1ConcurrentMark.cpp 2017-01-25 10:28:19.884008234 +0100
|
||||
@@ -2458,7 +2458,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;
|
||||
}
|
||||
--- jdk10/src/share/vm/gc/g1/g1ConcurrentMarkObjArrayProcessor.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/gc/g1/g1ConcurrentMarkObjArrayProcessor.cpp 2017-01-25 10:30:27.289082074 +0100
|
||||
@@ -41,7 +41,7 @@
|
||||
}
|
||||
|
||||
size_t G1CMObjArrayProcessor::process_array_slice(objArrayOop obj, HeapWord* start_from, size_t remaining) {
|
||||
- size_t words_to_scan = MIN2(remaining, ObjArrayMarkingStride);
|
||||
+ size_t words_to_scan = MIN2(remaining, (size_t)ObjArrayMarkingStride);
|
||||
|
||||
if (remaining > ObjArrayMarkingStride) {
|
||||
push_array_slice(start_from + ObjArrayMarkingStride);
|
||||
--- jdk10/src/share/vm/gc/g1/g1PageBasedVirtualSpace.hpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/gc/g1/g1PageBasedVirtualSpace.hpp 2017-01-25 10:28:19.884008234 +0100
|
||||
@@ -91,7 +91,7 @@
|
||||
void pretouch_internal(size_t start_page, size_t end_page);
|
||||
|
||||
// Returns the index of the page which contains the given address.
|
||||
- uintptr_t addr_to_page_index(char* addr) const;
|
||||
+ size_t addr_to_page_index(char* addr) const;
|
||||
// Returns the address of the given page index.
|
||||
char* page_start(size_t index) const;
|
||||
|
||||
--- jdk10/src/share/vm/gc/parallel/psCompactionManager.inline.hpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/gc/parallel/psCompactionManager.inline.hpp 2017-01-25 10:28:19.888008143 +0100
|
||||
@@ -119,7 +119,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*)obj->base();
|
||||
T* const beg = base + beg_index;
|
||||
--- jdk10/src/share/vm/gc/parallel/psParallelCompact.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/gc/parallel/psParallelCompact.cpp 2017-01-25 10:28:19.888008143 +0100
|
||||
@@ -905,8 +905,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);
|
||||
--- jdk10/src/share/vm/gc/shared/collectorPolicy.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/gc/shared/collectorPolicy.cpp 2017-01-25 10:28:19.888008143 +0100
|
||||
@@ -450,7 +450,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_young_size = MIN2(MAX2(_max_young_size, _initial_young_size), MaxNewSize);
|
||||
+ _max_young_size = MIN2(MAX2(_max_young_size, _initial_young_size), (size_t)MaxNewSize);
|
||||
}
|
||||
|
||||
// Given the maximum young size, determine the initial and
|
||||
@@ -480,7 +480,7 @@
|
||||
// NewSize as the floor, because if NewRatio is overly large, the resulting
|
||||
// size can be too small.
|
||||
_initial_young_size =
|
||||
- MIN2(_max_young_size, MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize));
|
||||
+ MIN2(_max_young_size, MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize));
|
||||
}
|
||||
}
|
||||
|
||||
--- jdk10/src/share/vm/gc/shared/plab.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/gc/shared/plab.cpp 2017-01-25 10:28:19.888008143 +0100
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
size_t PLAB::min_size() {
|
||||
// Make sure that we return something that is larger than AlignmentReserve
|
||||
- return align_object_size(MAX2(MinTLABSize / HeapWordSize, (uintx)oopDesc::header_size())) + AlignmentReserve;
|
||||
+ return align_object_size(MAX2(MinTLABSize / HeapWordSize, (size_t)oopDesc::header_size())) + AlignmentReserve;
|
||||
}
|
||||
|
||||
size_t PLAB::max_size() {
|
||||
--- jdk10/src/share/vm/memory/metaspace.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/memory/metaspace.cpp 2017-01-25 10:28:19.888008143 +0100
|
||||
@@ -1542,7 +1542,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) {
|
||||
@@ -1602,7 +1602,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);
|
||||
|
||||
log_trace(gc, metaspace)("MetaspaceGC::compute_new_size: ");
|
||||
log_trace(gc, metaspace)(" minimum_free_percentage: %6.2f maximum_used_percentage: %6.2f",
|
||||
@@ -1648,7 +1648,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);
|
||||
log_trace(gc, metaspace)(" maximum_free_percentage: %6.2f minimum_used_percentage: %6.2f",
|
||||
maximum_free_percentage, minimum_used_percentage);
|
||||
log_trace(gc, metaspace)(" minimum_desired_capacity: %6.1fKB maximum_desired_capacity: %6.1fKB",
|
||||
@@ -3352,7 +3352,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.
|
||||
--- jdk10/src/share/vm/prims/whitebox.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/prims/whitebox.cpp 2017-01-25 10:28:19.888008143 +0100
|
||||
@@ -1017,7 +1017,7 @@
|
||||
WB_END
|
||||
|
||||
WB_ENTRY(jobject, WB_GetSizeTVMFlag(JNIEnv* env, jobject o, jstring name))
|
||||
- uintx result;
|
||||
+ size_t result;
|
||||
if (GetVMFlag <size_t> (thread, env, name, &result, &CommandLineFlags::size_tAt)) {
|
||||
ThreadToNativeFromVM ttnfv(thread); // can't be in VM when we call JNI
|
||||
return longBox(thread, env, result);
|
||||
--- jdk10/src/share/vm/runtime/arguments.cpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/runtime/arguments.cpp 2017-01-25 10:28:19.892008051 +0100
|
||||
@@ -1488,7 +1488,7 @@
|
||||
// Increase the code cache size - tiered compiles a lot more.
|
||||
if (FLAG_IS_DEFAULT(ReservedCodeCacheSize)) {
|
||||
FLAG_SET_ERGO(uintx, ReservedCodeCacheSize,
|
||||
- MIN2(CODE_CACHE_DEFAULT_LIMIT, ReservedCodeCacheSize * 5));
|
||||
+ MIN2(CODE_CACHE_DEFAULT_LIMIT, (size_t)(ReservedCodeCacheSize * 5)));
|
||||
}
|
||||
// Enable SegmentedCodeCache if TieredCompilation is enabled and ReservedCodeCacheSize >= 240M
|
||||
if (FLAG_IS_DEFAULT(SegmentedCodeCache) && ReservedCodeCacheSize >= 240*M) {
|
||||
--- jdk10/src/share/vm/runtime/arguments.hpp 2017-01-13 00:41:16.000000000 +0100
|
||||
+++ jdk10/src/share/vm/runtime/arguments.hpp 2017-01-25 10:28:19.892008051 +0100
|
||||
@@ -416,7 +416,7 @@
|
||||
// Value of the conservative maximum heap alignment needed
|
||||
static size_t _conservative_max_heap_alignment;
|
||||
|
||||
- static uintx _min_heap_size;
|
||||
+ static size_t _min_heap_size;
|
||||
|
||||
// -Xrun arguments
|
||||
static AgentLibraryList _libraryList;
|
177
system-pcsclite.patch
Normal file
177
system-pcsclite.patch
Normal file
@ -0,0 +1,177 @@
|
||||
--- jdk11/make/autoconf/lib-bundled.m4 2021-01-19 09:46:26.193562524 +0100
|
||||
+++ jdk11/make/autoconf/lib-bundled.m4 2021-01-19 09:47:38.465983974 +0100
|
||||
@@ -38,6 +38,7 @@
|
||||
LIB_SETUP_ZLIB
|
||||
LIB_SETUP_LCMS
|
||||
LIB_SETUP_HARFBUZZ
|
||||
+ LIB_SETUP_PCSCLITE
|
||||
])
|
||||
|
||||
################################################################################
|
||||
@@ -301,3 +302,41 @@
|
||||
AC_SUBST(HARFBUZZ_CFLAGS)
|
||||
AC_SUBST(HARFBUZZ_LIBS)
|
||||
])
|
||||
+
|
||||
+################################################################################
|
||||
+# Setup pcsclite
|
||||
+################################################################################
|
||||
+AC_DEFUN_ONCE([LIB_SETUP_PCSCLITE],
|
||||
+[
|
||||
+ AC_ARG_WITH(pcsclite, [AS_HELP_STRING([--with-pcsclite],
|
||||
+ [use pcsclite from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
|
||||
+
|
||||
+ AC_MSG_CHECKING([for which pcsclite to use])
|
||||
+
|
||||
+ # default is bundled
|
||||
+ DEFAULT_PCSCLITE=bundled
|
||||
+ # if user didn't specify, use DEFAULT_PCSCLITE
|
||||
+ if test "x${with_pcsclite}" = "x"; then
|
||||
+ with_libpng=${DEFAULT_PCSCLITE}
|
||||
+ fi
|
||||
+
|
||||
+ if test "x${with_pcsclite}" = "xbundled"; then
|
||||
+ USE_EXTERNAL_PCSCLITE=false
|
||||
+ AC_MSG_RESULT([bundled])
|
||||
+ elif test "x${with_pcsclite}" = "xsystem"; then
|
||||
+ PKG_CHECK_MODULES(PCSCLITE, libpcsclite,
|
||||
+ [ PCSCLITE_FOUND=yes ],
|
||||
+ [ PCSCLITE_FOUND=no ])
|
||||
+ if test "x${PCSCLITE_FOUND}" = "xyes"; then
|
||||
+ USE_EXTERNAL_PCSCLITE=true
|
||||
+ AC_MSG_RESULT([system])
|
||||
+ else
|
||||
+ AC_MSG_RESULT([system not found])
|
||||
+ AC_MSG_ERROR([--with-pcsclite=system specified, but no pcsclite found!])
|
||||
+ fi
|
||||
+ else
|
||||
+ AC_MSG_ERROR([Invalid value of --with-pcsclite: ${with_pcsclite}, use 'system' or 'bundled'])
|
||||
+ fi
|
||||
+
|
||||
+ AC_SUBST(USE_EXTERNAL_PCSCLITE)
|
||||
+])
|
||||
--- jdk11/make/autoconf/spec.gmk.in 2021-01-19 09:46:26.193562524 +0100
|
||||
+++ jdk11/make/autoconf/spec.gmk.in 2021-01-19 09:47:10.805822676 +0100
|
||||
@@ -763,6 +763,7 @@
|
||||
ENABLE_INTREE_EC:=@ENABLE_INTREE_EC@
|
||||
USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
|
||||
USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
|
||||
+USE_EXTERNAL_LIBPCSCLITE:=@USE_EXTERNAL_LIBPCSCLITE@
|
||||
USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
|
||||
LIBZ_CFLAGS:=@LIBZ_CFLAGS@
|
||||
LIBZ_LIBS:=@LIBZ_LIBS@
|
||||
--- jdk11/make/lib/Lib-java.smartcardio.gmk 2021-01-19 09:46:26.245562827 +0100
|
||||
+++ jdk11/make/lib/Lib-java.smartcardio.gmk 2021-01-19 09:47:10.805822676 +0100
|
||||
@@ -30,12 +30,12 @@
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBJ2PCSC, \
|
||||
NAME := j2pcsc, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB), \
|
||||
- CFLAGS_unix := -D__sun_jdk, \
|
||||
- EXTRA_HEADER_DIRS := libj2pcsc/MUSCLE, \
|
||||
+ CFLAGS_unix := -D__sun_jdk -DUSE_SYSTEM_LIBPCSCLITE, \
|
||||
+ EXTRA_HEADER_DIRS := /usr/include/PCSC, \
|
||||
OPTIMIZATION := LOW, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
- LIBS_unix := $(LIBDL), \
|
||||
+ LIBS_unix := -lpcsclite $(LIBDL), \
|
||||
LIBS_windows := winscard.lib, \
|
||||
))
|
||||
|
||||
--- jdk11/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c 2021-01-19 09:46:26.681565369 +0100
|
||||
+++ jdk11/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c 2021-01-19 09:47:10.809822699 +0100
|
||||
@@ -36,6 +36,7 @@
|
||||
|
||||
#include "pcsc_md.h"
|
||||
|
||||
+#ifndef USE_SYSTEM_LIBPCSCLITE
|
||||
void *hModule;
|
||||
FPTR_SCardEstablishContext scardEstablishContext;
|
||||
FPTR_SCardConnect scardConnect;
|
||||
@@ -47,6 +48,7 @@
|
||||
FPTR_SCardBeginTransaction scardBeginTransaction;
|
||||
FPTR_SCardEndTransaction scardEndTransaction;
|
||||
FPTR_SCardControl scardControl;
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* Throws a Java Exception by name
|
||||
@@ -75,6 +77,7 @@
|
||||
throwByName(env, "java/io/IOException", msg);
|
||||
}
|
||||
|
||||
+#ifndef USE_SYSTEM_LIBPCSCLITE
|
||||
void *findFunction(JNIEnv *env, void *hModule, char *functionName) {
|
||||
void *fAddress = dlsym(hModule, functionName);
|
||||
if (fAddress == NULL) {
|
||||
@@ -85,9 +88,11 @@
|
||||
}
|
||||
return fAddress;
|
||||
}
|
||||
+#endif
|
||||
|
||||
JNIEXPORT void JNICALL Java_sun_security_smartcardio_PlatformPCSC_initialize
|
||||
(JNIEnv *env, jclass thisClass, jstring jLibName) {
|
||||
+#ifndef USE_SYSTEM_LIBPCSCLITE
|
||||
const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL);
|
||||
if (libName == NULL) {
|
||||
throwNullPointerException(env, "PCSC library name is null");
|
||||
@@ -141,4 +146,5 @@
|
||||
#else
|
||||
scardControl = (FPTR_SCardControl) findFunction(env, hModule, "SCardControl132");
|
||||
#endif // __APPLE__
|
||||
+#endif
|
||||
}
|
||||
--- jdk11/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h 2021-01-19 09:46:26.681565369 +0100
|
||||
+++ jdk11/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h 2021-01-19 09:47:10.809822699 +0100
|
||||
@@ -23,6 +23,8 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
+#ifndef USE_SYSTEM_LIBPCSCLITE
|
||||
+
|
||||
typedef LONG (*FPTR_SCardEstablishContext)(DWORD dwScope,
|
||||
LPCVOID pvReserved1,
|
||||
LPCVOID pvReserved2,
|
||||
@@ -111,3 +113,41 @@
|
||||
extern FPTR_SCardBeginTransaction scardBeginTransaction;
|
||||
extern FPTR_SCardEndTransaction scardEndTransaction;
|
||||
extern FPTR_SCardControl scardControl;
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+#define CALL_SCardEstablishContext(dwScope, pvReserved1, pvReserved2, phContext) \
|
||||
+ (SCardEstablishContext(dwScope, pvReserved1, pvReserved2, phContext))
|
||||
+
|
||||
+#define CALL_SCardConnect(hContext, szReader, dwSharedMode, dwPreferredProtocols, phCard, pdwActiveProtocols) \
|
||||
+ (SCardConnect(hContext, szReader, dwSharedMode, dwPreferredProtocols, phCard, pdwActiveProtocols))
|
||||
+
|
||||
+#define CALL_SCardDisconnect(hCard, dwDisposition) \
|
||||
+ (SCardDisconnect(hCard, dwDisposition))
|
||||
+
|
||||
+#define CALL_SCardStatus(hCard, mszReaderNames, pcchReaderLen, pdwState, pdwProtocol, pbAtr, pcbAtrLen) \
|
||||
+ (SCardStatus(hCard, mszReaderNames, pcchReaderLen, pdwState, pdwProtocol, pbAtr, pcbAtrLen))
|
||||
+
|
||||
+#define CALL_SCardGetStatusChange(hContext, dwTimeout, rgReaderStates, cReaders) \
|
||||
+ (SCardGetStatusChange(hContext, dwTimeout, rgReaderStates, cReaders))
|
||||
+
|
||||
+#define CALL_SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, \
|
||||
+ pioRecvPci, pbRecvBuffer, pcbRecvLength) \
|
||||
+ (SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, \
|
||||
+ pioRecvPci, pbRecvBuffer, pcbRecvLength))
|
||||
+
|
||||
+#define CALL_SCardListReaders(hContext, mszGroups, mszReaders, pcchReaders) \
|
||||
+ (SCardListReaders(hContext, mszGroups, mszReaders, pcchReaders))
|
||||
+
|
||||
+#define CALL_SCardBeginTransaction(hCard) \
|
||||
+ (SCardBeginTransaction(hCard))
|
||||
+
|
||||
+#define CALL_SCardEndTransaction(hCard, dwDisposition) \
|
||||
+ (SCardEndTransaction(hCard, dwDisposition))
|
||||
+
|
||||
+#define CALL_SCardControl(hCard, dwControlCode, pbSendBuffer, cbSendLength, \
|
||||
+ pbRecvBuffer, pcbRecvLength, lpBytesReturned) \
|
||||
+ (SCardControl(hCard, dwControlCode, pbSendBuffer, cbSendLength, \
|
||||
+ pbRecvBuffer, pcbRecvLength, lpBytesReturned))
|
||||
+
|
||||
+#endif
|
BIN
systemtap-tapset.tar.xz
(Stored with Git LFS)
Normal file
BIN
systemtap-tapset.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
15
zero-ranges.patch
Normal file
15
zero-ranges.patch
Normal file
@ -0,0 +1,15 @@
|
||||
--- jdk10/src/hotspot/cpu/zero/globals_zero.hpp 2016-01-21 19:16:09.000000000 +0100
|
||||
+++ jdk10/src/hotspot/cpu/zero/globals_zero.hpp 2016-01-29 15:52:57.611610069 +0100
|
||||
@@ -50,9 +50,9 @@
|
||||
#define DEFAULT_STACK_SHADOW_PAGES (5 LP64_ONLY(+1) DEBUG_ONLY(+3))
|
||||
#define DEFAULT_STACK_RESERVED_PAGES (0)
|
||||
|
||||
-#define MIN_STACK_YELLOW_PAGES DEFAULT_STACK_YELLOW_PAGES
|
||||
-#define MIN_STACK_RED_PAGES DEFAULT_STACK_RED_PAGES
|
||||
-#define MIN_STACK_SHADOW_PAGES DEFAULT_STACK_SHADOW_PAGES
|
||||
+#define MIN_STACK_YELLOW_PAGES 1
|
||||
+#define MIN_STACK_RED_PAGES 1
|
||||
+#define MIN_STACK_SHADOW_PAGES 1
|
||||
#define MIN_STACK_RESERVED_PAGES (0)
|
||||
|
||||
define_pd_global(intx, StackYellowPages, DEFAULT_STACK_YELLOW_PAGES);
|
Loading…
Reference in New Issue
Block a user