Compare commits
34 Commits
Author | SHA1 | Date |
---|---|---|
Jiri | 18c15b7b37 | |
Jiri | c8a9a47df0 | |
Petra Mikova | 069ac3688a | |
Severin Gehwolf | 88b9aa0344 | |
Jiri Vanek | 645cd22288 | |
Petra Mikova | 25f3b114b6 | |
Petra Mikova | ee5cfff3c7 | |
Severin Gehwolf | a0446d05a7 | |
Petra Mikova | 97fef99069 | |
Petra Mikova | d8d0457936 | |
Petra Mikova | e309209308 | |
Petra Mikova | 390b36e6c7 | |
Jiri | 151b45ebed | |
Severin Gehwolf | 92bed8374a | |
Petra Mikova | 465601f033 | |
Jiri | b4ef25b4ff | |
Jiri | f9f4593e87 | |
Petra Mikova | 6357c4bb6d | |
Jiri | 5fbadda277 | |
Petra Mikova | 0d225b16d6 | |
Petra Mikova | bf6a58afaf | |
Petra Mikova | b57f027c97 | |
Petra Mikova | ad08773b41 | |
Petra Mikova | f9c9aacefd | |
Petra Mikova | 81407ced8b | |
Petra Mikova | d9105c53dc | |
Petra Mikova | 32a7f8e885 | |
Petra Mikova | 68f856504f | |
Andrew Hughes | 899399f4bb | |
Andrew Hughes | f1c2949483 | |
Andrew Hughes | e08e24dbbc | |
Severin Gehwolf | ad9f09fccb | |
Severin Gehwolf | b89259cd55 | |
Petra Mikova | aef14579d6 |
|
@ -11,21 +11,3 @@
|
||||||
/jdk-updates-jdk14u-jdk-14.0.2+12.tar.xz
|
/jdk-updates-jdk14u-jdk-14.0.2+12.tar.xz
|
||||||
/jdk-jdk15-jdk-15+36.tar.xz
|
/jdk-jdk15-jdk-15+36.tar.xz
|
||||||
/jdk-updates-jdk15u-jdk-15.0.1+9.tar.xz
|
/jdk-updates-jdk15u-jdk-15.0.1+9.tar.xz
|
||||||
/tapsets-icedtea-3.15.0.tar.xz
|
|
||||||
/jdk-updates-jdk15u-jdk-15.0.2+7.tar.xz
|
|
||||||
/openjdk-jdk16-jdk-16+36.tar.xz
|
|
||||||
/openjdk-jdk16u-jdk-16.0.1+9.tar.xz
|
|
||||||
/openjdk-jdk17-jdk-17+26.tar.xz
|
|
||||||
/openjdk-jdk17-jdk-17+33.tar.xz
|
|
||||||
/openjdk-jdk17-jdk-17+35.tar.xz
|
|
||||||
/openjdk-jdk17u-jdk-17.0.1+12.tar.xz
|
|
||||||
/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
|
||||||
/openjdk-jdk17u-jdk-17.0.2+8.tar.xz
|
|
||||||
/openjdk-jdk-jdk-18+27.tar.xz
|
|
||||||
/openjdk-jdk18-jdk-18+27.tar.xz
|
|
||||||
/openjdk-jdk18-jdk-18+37.tar.xz
|
|
||||||
/openjdk-jdk18u-jdk-18.0.1+0.tar.xz
|
|
||||||
/openjdk-jdk18u-jdk-18.0.1+10.tar.xz
|
|
||||||
/openjdk-jdk18u-jdk-18.0.1.1+2.tar.xz
|
|
||||||
/openjdk-jdk18u-jdk-18.0.2+9.tar.xz
|
|
||||||
/openjdk-jdk19u-jdk-19+36.tar.xz
|
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
/* CheckVendor -- Check the vendor properties match specified values.
|
|
||||||
Copyright (C) 2020 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/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @test
|
|
||||||
*/
|
|
||||||
public class CheckVendor {
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
if (args.length < 4) {
|
|
||||||
System.err.println("CheckVendor <VENDOR> <VENDOR-URL> <VENDOR-BUG-URL> <VENDOR-VERSION-STRING>");
|
|
||||||
System.exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
String vendor = System.getProperty("java.vendor");
|
|
||||||
String expectedVendor = args[0];
|
|
||||||
String vendorURL = System.getProperty("java.vendor.url");
|
|
||||||
String expectedVendorURL = args[1];
|
|
||||||
String vendorBugURL = System.getProperty("java.vendor.url.bug");
|
|
||||||
String expectedVendorBugURL = args[2];
|
|
||||||
String vendorVersionString = System.getProperty("java.vendor.version");
|
|
||||||
String expectedVendorVersionString = args[3];
|
|
||||||
|
|
||||||
if (!expectedVendor.equals(vendor)) {
|
|
||||||
System.err.printf("Invalid vendor %s, expected %s\n",
|
|
||||||
vendor, expectedVendor);
|
|
||||||
System.exit(2);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!expectedVendorURL.equals(vendorURL)) {
|
|
||||||
System.err.printf("Invalid vendor URL %s, expected %s\n",
|
|
||||||
vendorURL, expectedVendorURL);
|
|
||||||
System.exit(3);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!expectedVendorBugURL.equals(vendorBugURL)) {
|
|
||||||
System.err.printf("Invalid vendor bug URL %s, expected %s\n",
|
|
||||||
vendorBugURL, expectedVendorBugURL);
|
|
||||||
System.exit(4);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!expectedVendorVersionString.equals(vendorVersionString)) {
|
|
||||||
System.err.printf("Invalid vendor version string %s, expected %s\n",
|
|
||||||
vendorVersionString, expectedVendorVersionString);
|
|
||||||
System.exit(5);
|
|
||||||
}
|
|
||||||
|
|
||||||
System.err.printf("Vendor information verified as %s, %s, %s, %s\n",
|
|
||||||
vendor, vendorURL, vendorBugURL, vendorVersionString);
|
|
||||||
}
|
|
||||||
}
|
|
126
NEWS
126
NEWS
|
@ -1,126 +0,0 @@
|
||||||
Key:
|
|
||||||
|
|
||||||
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
|
|
||||||
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
|
|
||||||
|
|
||||||
New in release OpenJDK 19.0.0 (2022-09-20):
|
|
||||||
===========================================
|
|
||||||
Major changes are listed below. Some changes may have been backported
|
|
||||||
to earlier releases following their first appearance in OpenJDK 19.
|
|
||||||
|
|
||||||
The full list of changes in 19u can be found at:
|
|
||||||
- * https://builds.shipilev.net/backports-monitor/release-notes-19.txt
|
|
||||||
|
|
||||||
NEW FEATURES
|
|
||||||
============
|
|
||||||
|
|
||||||
Language Features
|
|
||||||
=================
|
|
||||||
|
|
||||||
Pattern Matching for switch
|
|
||||||
===========================
|
|
||||||
https://openjdk.org/jeps/406
|
|
||||||
https://openjdk.org/jeps/420
|
|
||||||
https://openjdk.org/jeps/427
|
|
||||||
|
|
||||||
Enhance the Java programming language with pattern matching for
|
|
||||||
`switch` expressions and statements, along with extensions to the
|
|
||||||
language of patterns. Extending pattern matching to `switch` allows an
|
|
||||||
expression to be tested against a number of patterns, each with a
|
|
||||||
specific action, so that complex data-oriented queries can be
|
|
||||||
expressed concisely and safely.
|
|
||||||
|
|
||||||
This was a preview feature (http://openjdk.java.net/jeps/12) in
|
|
||||||
OpenJDK 17 (JEP 406) and saw a second preview in OpenJDK 18 (JEP 420).
|
|
||||||
It reaches its third preview (JEP 427) in OpenJDK 19.
|
|
||||||
|
|
||||||
Record Patterns
|
|
||||||
===============
|
|
||||||
https://openjdk.org/jeps/405
|
|
||||||
|
|
||||||
Enhance the Java programming language with record patterns to
|
|
||||||
deconstruct record values. Record patterns and type patterns can be
|
|
||||||
nested to enable a powerful, declarative, and composable form of data
|
|
||||||
navigation and processing.
|
|
||||||
|
|
||||||
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
|
|
||||||
in OpenJDK 19 (JEP 405)
|
|
||||||
|
|
||||||
Library Features
|
|
||||||
================
|
|
||||||
|
|
||||||
Vector API
|
|
||||||
==========
|
|
||||||
https://openjdk.org/jeps/338
|
|
||||||
https://openjdk.org/jeps/414
|
|
||||||
https://openjdk.org/jeps/417
|
|
||||||
https://openjdk.org/jeps/426
|
|
||||||
|
|
||||||
Introduce an API to express vector computations that reliably compile
|
|
||||||
at runtime to optimal vector hardware instructions on supported CPU
|
|
||||||
architectures and thus achieve superior performance to equivalent
|
|
||||||
scalar computations.
|
|
||||||
|
|
||||||
This is an incubation feature (https://openjdk.java.net/jeps/11)
|
|
||||||
introduced in OpenJDK 16 (JEP 338). A second round of incubation took
|
|
||||||
place in OpenJDK 17 (JEP 414), OpenJDK 18 (JEP 417) saw a third and
|
|
||||||
OpenJDK 19 sees its fourth (JEP 426).
|
|
||||||
|
|
||||||
Foreign Function & Memory API
|
|
||||||
=============================
|
|
||||||
https://openjdk.org/jeps/412
|
|
||||||
https://openjdk.org/jeps/419
|
|
||||||
https://openjdk.org/jeps/424
|
|
||||||
|
|
||||||
Introduce an API by which Java programs can interoperate with code and
|
|
||||||
data outside of the Java runtime. By efficiently invoking foreign
|
|
||||||
functions (i.e., code outside the JVM), and by safely accessing
|
|
||||||
foreign memory (i.e., memory not managed by the JVM), the API enables
|
|
||||||
Java programs to call native libraries and process native data without
|
|
||||||
the brittleness and danger of JNI.
|
|
||||||
|
|
||||||
This API is now a preview feature (http://openjdk.java.net/jeps/12).
|
|
||||||
It was first introduced in incubation
|
|
||||||
(https://openjdk.java.net/jeps/11) in OpenJDK 17 (JEP 412), and is an
|
|
||||||
evolution of the Foreign Memory Access API (OpenJDK 14 through 16) and
|
|
||||||
Foreign Linker API (OpenJDK 16) (see release notes for
|
|
||||||
java-17-openjdk). OpenJDK 18 saw a second round of incubation (JEP
|
|
||||||
419) before its inclusion as a preview in OpenJDK 19 (JEP 424).
|
|
||||||
|
|
||||||
Virtual Threads
|
|
||||||
===============
|
|
||||||
https://openjdk.org/jeps/425
|
|
||||||
|
|
||||||
Introduce virtual threads to the Java Platform. Virtual threads are
|
|
||||||
lightweight threads that dramatically reduce the effort of writing,
|
|
||||||
maintaining, and observing high-throughput concurrent applications.
|
|
||||||
|
|
||||||
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
|
|
||||||
in OpenJDK 19 (JEP 425)
|
|
||||||
|
|
||||||
Structured Concurrency
|
|
||||||
======================
|
|
||||||
https://openjdk.org/jeps/428
|
|
||||||
|
|
||||||
Simplify multithreaded programming by introducing an API for
|
|
||||||
structured concurrency. Structured concurrency treats multiple tasks
|
|
||||||
running in different threads as a single unit of work, thereby
|
|
||||||
streamlining error handling and cancellation, improving reliability,
|
|
||||||
and enhancing observability.
|
|
||||||
|
|
||||||
This is an incubation feature (https://openjdk.java.net/jeps/11)
|
|
||||||
introduced in OpenJDK 19 (JEP 428).
|
|
||||||
|
|
||||||
Ports
|
|
||||||
=====
|
|
||||||
|
|
||||||
Linux/RISC-V Port
|
|
||||||
=================
|
|
||||||
https://openjdk.org/jeps/422
|
|
||||||
|
|
||||||
RISC-V is a free and open-source RISC instruction set architecture
|
|
||||||
(ISA) designed originally at the University of California, Berkeley,
|
|
||||||
and now developed collaboratively under the sponsorship of RISC-V
|
|
||||||
International. It is already supported by a wide range of language
|
|
||||||
toolchains. With the increasing availability of RISC-V hardware, a
|
|
||||||
port of the JDK would be valuable.
|
|
|
@ -1,84 +0,0 @@
|
||||||
/* TestSecurityProperties -- Ensure system security properties can be used to
|
|
||||||
enable the crypto policies.
|
|
||||||
Copyright (C) 2022 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.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.security.Security;
|
|
||||||
import java.util.Properties;
|
|
||||||
|
|
||||||
public class TestSecurityProperties {
|
|
||||||
// JDK 11
|
|
||||||
private static final String JDK_PROPS_FILE_JDK_11 = System.getProperty("java.home") + "/conf/security/java.security";
|
|
||||||
// JDK 8
|
|
||||||
private static final String JDK_PROPS_FILE_JDK_8 = System.getProperty("java.home") + "/lib/security/java.security";
|
|
||||||
|
|
||||||
private static final String POLICY_FILE = "/etc/crypto-policies/back-ends/java.config";
|
|
||||||
|
|
||||||
private static final String MSG_PREFIX = "DEBUG: ";
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
if (args.length == 0) {
|
|
||||||
System.err.println("TestSecurityProperties <true|false>");
|
|
||||||
System.err.println("Invoke with 'true' if system security properties should be enabled.");
|
|
||||||
System.err.println("Invoke with 'false' if system security properties should be disabled.");
|
|
||||||
System.exit(1);
|
|
||||||
}
|
|
||||||
boolean enabled = Boolean.valueOf(args[0]);
|
|
||||||
System.out.println(MSG_PREFIX + "System security properties enabled: " + enabled);
|
|
||||||
Properties jdkProps = new Properties();
|
|
||||||
loadProperties(jdkProps);
|
|
||||||
if (enabled) {
|
|
||||||
loadPolicy(jdkProps);
|
|
||||||
}
|
|
||||||
for (Object key: jdkProps.keySet()) {
|
|
||||||
String sKey = (String)key;
|
|
||||||
String securityVal = Security.getProperty(sKey);
|
|
||||||
String jdkSecVal = jdkProps.getProperty(sKey);
|
|
||||||
if (!securityVal.equals(jdkSecVal)) {
|
|
||||||
String msg = "Expected value '" + jdkSecVal + "' for key '" +
|
|
||||||
sKey + "'" + " but got value '" + securityVal + "'";
|
|
||||||
throw new RuntimeException("Test failed! " + msg);
|
|
||||||
} else {
|
|
||||||
System.out.println(MSG_PREFIX + sKey + " = " + jdkSecVal + " as expected.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
System.out.println("TestSecurityProperties PASSED!");
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void loadProperties(Properties props) {
|
|
||||||
String javaVersion = System.getProperty("java.version");
|
|
||||||
System.out.println(MSG_PREFIX + "Java version is " + javaVersion);
|
|
||||||
String propsFile = JDK_PROPS_FILE_JDK_11;
|
|
||||||
if (javaVersion.startsWith("1.8.0")) {
|
|
||||||
propsFile = JDK_PROPS_FILE_JDK_8;
|
|
||||||
}
|
|
||||||
try (FileInputStream fin = new FileInputStream(propsFile)) {
|
|
||||||
props.load(fin);
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException("Test failed!", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void loadPolicy(Properties props) {
|
|
||||||
try (FileInputStream fin = new FileInputStream(POLICY_FILE)) {
|
|
||||||
props.load(fin);
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException("Test failed!", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
/* TestTranslations -- Ensure translations are available for new timezones
|
|
||||||
Copyright (C) 2022 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.util.Arrays;
|
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.ResourceBundle;
|
|
||||||
|
|
||||||
import sun.util.resources.LocaleData;
|
|
||||||
import sun.util.locale.provider.LocaleProviderAdapter;
|
|
||||||
|
|
||||||
public class TestTranslations {
|
|
||||||
public static void main(String[] args) {
|
|
||||||
for (String zone : args) {
|
|
||||||
System.out.printf("Translations for %s\n", zone);
|
|
||||||
for (Locale l : Locale.getAvailableLocales()) {
|
|
||||||
ResourceBundle bundle = new LocaleData(LocaleProviderAdapter.Type.JRE).getTimeZoneNames(l);
|
|
||||||
System.out.printf("Locale: %s, language: %s, translations: %s\n", l, l.getDisplayLanguage(), Arrays.toString(bundle.getStringArray(zone)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
|
@ -7,9 +7,9 @@
|
||||||
# If you want to use a local copy of patch PR3788, set the path to it in the PR3788 variable
|
# If you want to use a local copy of patch PR3788, set the path to it in the PR3788 variable
|
||||||
#
|
#
|
||||||
# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
|
# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
|
||||||
# PROJECT_NAME=openjdk
|
# PROJECT_NAME=jdk
|
||||||
# REPO_NAME=jdk18u
|
# REPO_NAME=jdk
|
||||||
# VERSION=jdk-18.0.1+10
|
# VERSION=tip
|
||||||
# or to eg prepare systemtap:
|
# or to eg prepare systemtap:
|
||||||
# icedtea7's jstack and other tapsets
|
# icedtea7's jstack and other tapsets
|
||||||
# VERSION=6327cf1cea9e
|
# VERSION=6327cf1cea9e
|
||||||
|
@ -26,19 +26,17 @@
|
||||||
# level folder, name is created, based on parameter
|
# level folder, name is created, based on parameter
|
||||||
#
|
#
|
||||||
|
|
||||||
if [ ! "x$PR3823" = "x" ] ; then
|
if [ ! "x$PR3803" = "x" ] ; then
|
||||||
if [ ! -f "$PR3823" ] ; then
|
if [ ! -f "$PR3803" ] ; then
|
||||||
echo "You have specified PR3823 as $PR3823 but it does not exist. Exiting"
|
echo "You have specified PR3803 as $PR3803 but it does not exist. Exiting"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
OPENJDK_URL_DEFAULT=https://github.com
|
OPENJDK_URL_DEFAULT=http://hg.openjdk.java.net
|
||||||
COMPRESSION_DEFAULT=xz
|
COMPRESSION_DEFAULT=xz
|
||||||
# Corresponding IcedTea version
|
|
||||||
ICEDTEA_VERSION=13.0
|
|
||||||
|
|
||||||
if [ "x$1" = "xhelp" ] ; then
|
if [ "x$1" = "xhelp" ] ; then
|
||||||
echo -e "Behaviour may be specified by setting the following variables:\n"
|
echo -e "Behaviour may be specified by setting the following variables:\n"
|
||||||
|
@ -49,7 +47,7 @@ if [ "x$1" = "xhelp" ] ; then
|
||||||
echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
|
echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
|
||||||
echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
|
echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
|
||||||
echo "TO_COMPRESS - what part of clone to pack (default is openjdk)"
|
echo "TO_COMPRESS - what part of clone to pack (default is openjdk)"
|
||||||
echo "PR3823 - the path to the PR3823 patch to apply (optional; downloaded if unavailable)"
|
echo "PR3788 - the path to the PR3788 patch to apply (optional; downloaded if unavailable)"
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -92,7 +90,7 @@ if [ "x$FILE_NAME_ROOT" = "x" ] ; then
|
||||||
echo "No file name root specified; default to ${FILE_NAME_ROOT}"
|
echo "No file name root specified; default to ${FILE_NAME_ROOT}"
|
||||||
fi
|
fi
|
||||||
if [ "x$REPO_ROOT" = "x" ] ; then
|
if [ "x$REPO_ROOT" = "x" ] ; then
|
||||||
REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}.git"
|
REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}"
|
||||||
echo "No repository root specified; default to ${REPO_ROOT}"
|
echo "No repository root specified; default to ${REPO_ROOT}"
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
|
@ -109,7 +107,7 @@ else
|
||||||
mkdir "${FILE_NAME_ROOT}"
|
mkdir "${FILE_NAME_ROOT}"
|
||||||
pushd "${FILE_NAME_ROOT}"
|
pushd "${FILE_NAME_ROOT}"
|
||||||
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
|
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
|
||||||
git clone -b ${VERSION} ${REPO_ROOT} openjdk
|
hg clone ${REPO_ROOT} openjdk -r ${VERSION}
|
||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
pushd "${FILE_NAME_ROOT}"
|
pushd "${FILE_NAME_ROOT}"
|
||||||
|
@ -127,30 +125,23 @@ pushd "${FILE_NAME_ROOT}"
|
||||||
rm -vf ${CRYPTO_PATH}/ecp_224.c
|
rm -vf ${CRYPTO_PATH}/ecp_224.c
|
||||||
|
|
||||||
echo "Syncing EC list with NSS"
|
echo "Syncing EC list with NSS"
|
||||||
if [ "x$PR3823" = "x" ] ; then
|
if [ "x$PR3803" = "x" ] ; then
|
||||||
# get PR3823.patch (from https://github.com/icedtea-git/icedtea) in the ${ICEDTEA_VERSION} branch
|
# originally for 8:
|
||||||
# Do not push it or publish it
|
# get PR3803.patch (from http://icedtea.classpath.org/hg/icedtea15) from most correct tag
|
||||||
echo "PR3823 not found. Downloading..."
|
# Do not push it or publish it (see https://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3803)
|
||||||
wget -v https://github.com/icedtea-git/icedtea/raw/${ICEDTEA_VERSION}/patches/pr3823.patch
|
echo "PR3803 not found. Downloading..."
|
||||||
echo "Applying ${PWD}/pr3823.patch"
|
wget https://icedtea.classpath.org/hg/icedtea15/raw-file/d68ffcc9a497/patches/pr3803.patch
|
||||||
patch -Np1 < pr3823.patch
|
echo "Applying ${PWD}/pr3803.patch"
|
||||||
rm pr3823.patch
|
patch -Np1 < pr3803.patch
|
||||||
|
rm pr3803.patch
|
||||||
else
|
else
|
||||||
echo "Applying ${PR3823}"
|
echo "Applying ${PR3803}"
|
||||||
patch -Np1 < $PR3823
|
patch -Np1 < $PR3803
|
||||||
fi;
|
fi;
|
||||||
find . -name '*.orig' -exec rm -vf '{}' ';'
|
find . -name '*.orig' -exec rm -vf '{}' ';'
|
||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Generate .src-rev so build has knowledge of the revision the tarball was created from
|
|
||||||
mkdir build
|
|
||||||
pushd build
|
|
||||||
sh ${PWD}/../openjdk/configure
|
|
||||||
make store-source-revision
|
|
||||||
popd
|
|
||||||
rm -rf build
|
|
||||||
|
|
||||||
echo "Compressing remaining forest"
|
echo "Compressing remaining forest"
|
||||||
if [ "X$COMPRESSION" = "Xxz" ] ; then
|
if [ "X$COMPRESSION" = "Xxz" ] ; then
|
||||||
SWITCH=cJf
|
SWITCH=cJf
|
||||||
|
@ -161,3 +152,5 @@ pushd "${FILE_NAME_ROOT}"
|
||||||
mv ${FILE_NAME_ROOT}.tar.${COMPRESSION} ..
|
mv ${FILE_NAME_ROOT}.tar.${COMPRESSION} ..
|
||||||
popd
|
popd
|
||||||
echo "Done. You may want to remove the uncompressed version - $FILE_NAME_ROOT."
|
echo "Done. You may want to remove the uncompressed version - $FILE_NAME_ROOT."
|
||||||
|
|
||||||
|
|
||||||
|
|
192
icedtea_sync.sh
192
icedtea_sync.sh
|
@ -1,192 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Copyright (C) 2019 Red Hat, Inc.
|
|
||||||
# Written by Andrew John Hughes <gnu.andrew@redhat.com>.
|
|
||||||
#
|
|
||||||
# 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/>.
|
|
||||||
|
|
||||||
ICEDTEA_USE_VCS=true
|
|
||||||
|
|
||||||
ICEDTEA_VERSION=3.15.0
|
|
||||||
ICEDTEA_URL=https://icedtea.classpath.org/download/source
|
|
||||||
ICEDTEA_SIGNING_KEY=CFDA0F9B35964222
|
|
||||||
|
|
||||||
ICEDTEA_HG_URL=https://icedtea.classpath.org/hg/icedtea11
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
RPM_DIR=${PWD}
|
|
||||||
if [ ! -f ${RPM_DIR}/jconsole.desktop.in ] ; then
|
|
||||||
echo "Not in RPM source tree.";
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${TMPDIR}" = "x"; then
|
|
||||||
TMPDIR=/tmp;
|
|
||||||
fi
|
|
||||||
WORKDIR=${TMPDIR}/it.sync
|
|
||||||
|
|
||||||
echo "Using working directory ${WORKDIR}"
|
|
||||||
mkdir ${WORKDIR}
|
|
||||||
pushd ${WORKDIR}
|
|
||||||
|
|
||||||
if test "x${WGET}" = "x"; then
|
|
||||||
WGET=$(which wget);
|
|
||||||
if test "x${WGET}" = "x"; then
|
|
||||||
echo "wget not found";
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${TAR}" = "x"; then
|
|
||||||
TAR=$(which tar)
|
|
||||||
if test "x${TAR}" = "x"; then
|
|
||||||
echo "tar not found";
|
|
||||||
exit 2;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Dependencies:";
|
|
||||||
echo -e "\tWGET: ${WGET}";
|
|
||||||
echo -e "\tTAR: ${TAR}\n";
|
|
||||||
|
|
||||||
if test "x${ICEDTEA_USE_VCS}" = "xtrue"; then
|
|
||||||
echo "Mode: Using VCS";
|
|
||||||
|
|
||||||
if test "x${GREP}" = "x"; then
|
|
||||||
GREP=$(which grep);
|
|
||||||
if test "x${GREP}" = "x"; then
|
|
||||||
echo "grep not found";
|
|
||||||
exit 3;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${CUT}" = "x"; then
|
|
||||||
CUT=$(which cut);
|
|
||||||
if test "x${CUT}" = "x"; then
|
|
||||||
echo "cut not found";
|
|
||||||
exit 4;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${TR}" = "x"; then
|
|
||||||
TR=$(which tr);
|
|
||||||
if test "x${TR}" = "x"; then
|
|
||||||
echo "tr not found";
|
|
||||||
exit 5;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${HG}" = "x"; then
|
|
||||||
HG=$(which hg);
|
|
||||||
if test "x${HG}" = "x"; then
|
|
||||||
echo "hg not found";
|
|
||||||
exit 6;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Dependencies:";
|
|
||||||
echo -e "\tGREP: ${GREP}";
|
|
||||||
echo -e "\tCUT: ${CUT}";
|
|
||||||
echo -e "\tTR: ${TR}";
|
|
||||||
echo -e "\tHG: ${HG}";
|
|
||||||
|
|
||||||
echo "Checking out repository from VCS...";
|
|
||||||
${HG} clone ${ICEDTEA_HG_URL} icedtea
|
|
||||||
|
|
||||||
echo "Obtaining version from configure.ac...";
|
|
||||||
ROOT_VER=$(${GREP} '^AC_INIT' icedtea/configure.ac|${CUT} -d ',' -f 2|${TR} -d '[][:space:]')
|
|
||||||
echo "Root version from configure: ${ROOT_VER}";
|
|
||||||
|
|
||||||
VCS_REV=$(${HG} log -R icedtea --template '{node|short}' -r tip)
|
|
||||||
echo "VCS revision: ${VCS_REV}";
|
|
||||||
|
|
||||||
ICEDTEA_VERSION="${ROOT_VER}-${VCS_REV}"
|
|
||||||
echo "Creating icedtea-${ICEDTEA_VERSION}";
|
|
||||||
mkdir icedtea-${ICEDTEA_VERSION}
|
|
||||||
echo "Copying required files from checkout to icedtea-${ICEDTEA_VERSION}";
|
|
||||||
# Commented out for now as IcedTea 6's jconsole.desktop.in is outdated
|
|
||||||
#cp -a icedtea/jconsole.desktop.in ../icedtea-${ICEDTEA_VERSION}
|
|
||||||
cp -a ${RPM_DIR}/jconsole.desktop.in icedtea-${ICEDTEA_VERSION}
|
|
||||||
cp -a icedtea/tapset icedtea-${ICEDTEA_VERSION}
|
|
||||||
|
|
||||||
rm -rf icedtea
|
|
||||||
else
|
|
||||||
echo "Mode: Using tarball";
|
|
||||||
|
|
||||||
if test "x${ICEDTEA_VERSION}" = "x"; then
|
|
||||||
echo "No IcedTea version specified for tarball download.";
|
|
||||||
exit 3;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${CHECKSUM}" = "x"; then
|
|
||||||
CHECKSUM=$(which sha256sum)
|
|
||||||
if test "x${CHECKSUM}" = "x"; then
|
|
||||||
echo "sha256sum not found";
|
|
||||||
exit 4;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${PGP}" = "x"; then
|
|
||||||
PGP=$(which gpg)
|
|
||||||
if test "x${PGP}" = "x"; then
|
|
||||||
echo "gpg not found";
|
|
||||||
exit 5;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Dependencies:";
|
|
||||||
echo -e "\tCHECKSUM: ${CHECKSUM}";
|
|
||||||
echo -e "\tPGP: ${PGP}\n";
|
|
||||||
|
|
||||||
echo "Checking for IcedTea signing key ${ICEDTEA_SIGNING_KEY}...";
|
|
||||||
if ! gpg --list-keys ${ICEDTEA_SIGNING_KEY}; then
|
|
||||||
echo "IcedTea signing key ${ICEDTEA_SIGNING_KEY} not installed.";
|
|
||||||
exit 6;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Downloading IcedTea release tarball...";
|
|
||||||
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz
|
|
||||||
echo "Downloading IcedTea tarball signature...";
|
|
||||||
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz.sig
|
|
||||||
echo "Downloading IcedTea tarball checksums...";
|
|
||||||
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.sha256
|
|
||||||
|
|
||||||
echo "Verifying checksums...";
|
|
||||||
${CHECKSUM} --check --ignore-missing icedtea-${ICEDTEA_VERSION}.sha256
|
|
||||||
|
|
||||||
echo "Checking signature...";
|
|
||||||
${PGP} --verify icedtea-${ICEDTEA_VERSION}.tar.xz.sig
|
|
||||||
|
|
||||||
echo "Extracting files...";
|
|
||||||
${TAR} xJf icedtea-${ICEDTEA_VERSION}.tar.xz \
|
|
||||||
icedtea-${ICEDTEA_VERSION}/tapset \
|
|
||||||
icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in
|
|
||||||
|
|
||||||
rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz
|
|
||||||
rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz.sig
|
|
||||||
rm -vf icedtea-${ICEDTEA_VERSION}.sha256
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Replacing desktop files...";
|
|
||||||
mv -v icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in ${RPM_DIR}
|
|
||||||
|
|
||||||
echo "Creating new tapset tarball...";
|
|
||||||
mv -v icedtea-${ICEDTEA_VERSION} openjdk
|
|
||||||
${TAR} cJf ${RPM_DIR}/tapsets-icedtea-${ICEDTEA_VERSION}.tar.xz openjdk
|
|
||||||
|
|
||||||
rm -rvf openjdk
|
|
||||||
|
|
||||||
popd
|
|
||||||
rm -rf ${WORKDIR}
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,8 +1,8 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=OpenJDK @JAVA_VER@ for @target_cpu@ Monitoring & Management Console (@OPENJDK_VER@)
|
Name=OpenJDK @JAVA_MAJOR_VERSION@ Monitoring & Management Console @ARCH@
|
||||||
Comment=Monitor and manage OpenJDK applications
|
Comment=Monitor and manage OpenJDK @JAVA_MAJOR_VERSION@ applications for @ARCH@
|
||||||
Exec=_SDKBINDIR_/jconsole
|
Exec=@JAVA_HOME@/jconsole
|
||||||
Icon=java-@JAVA_VER@-@JAVA_VENDOR@
|
Icon=java-@JAVA_MAJOR_VERSION@-@JAVA_VENDOR@
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
StartupWMClass=sun-tools-jconsole-JConsole
|
StartupWMClass=sun-tools-jconsole-JConsole
|
||||||
|
|
|
@ -0,0 +1,104 @@
|
||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User roland
|
||||||
|
# Date 1569512984 -7200
|
||||||
|
# Node ID ee34d448e2172e536eaabf76cfc3d55f19ae4419
|
||||||
|
# Parent 8786c0e9b585592992f330ba6ee011a5347b2405
|
||||||
|
#8231405: [Shenandoah] guarantee(d != NULL) failed: Null dominator info
|
||||||
|
#Reviewed-by: shade, rkennke
|
||||||
|
|
||||||
|
diff -r 8786c0e9b585 -r ee34d448e217 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp
|
||||||
|
--- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Fri Aug 02 11:21:41 2019 +0200
|
||||||
|
+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Thu Sep 26 17:49:44 2019 +0200
|
||||||
|
@@ -1329,6 +1329,18 @@
|
||||||
|
}
|
||||||
|
if ((ctrl->is_Proj() && ctrl->in(0)->is_CallJava()) || ctrl->is_CallJava()) {
|
||||||
|
CallNode* call = ctrl->is_Proj() ? ctrl->in(0)->as_CallJava() : ctrl->as_CallJava();
|
||||||
|
+ if (call->entry_point() == OptoRuntime::rethrow_stub()) {
|
||||||
|
+ // The rethrow call may have too many projections to be
|
||||||
|
+ // properly handled here. Given there's no reason for a
|
||||||
|
+ // barrier to depend on the call, move it above the call
|
||||||
|
+ if (phase->get_ctrl(val) == ctrl) {
|
||||||
|
+ assert(val->Opcode() == Op_DecodeN, "unexpected node");
|
||||||
|
+ assert(phase->is_dominator(phase->get_ctrl(val->in(1)), call->in(0)), "Load is too low");
|
||||||
|
+ phase->set_ctrl(val, call->in(0));
|
||||||
|
+ }
|
||||||
|
+ phase->set_ctrl(lrb, call->in(0));
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
CallProjections projs;
|
||||||
|
call->extract_projections(&projs, false, false);
|
||||||
|
|
||||||
|
diff -r 8786c0e9b585 -r ee34d448e217 test/hotspot/jtreg/gc/shenandoah/compiler/CallMultipleCatchProjs.java
|
||||||
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||||
|
+++ b/test/hotspot/jtreg/gc/shenandoah/compiler/CallMultipleCatchProjs.java Thu Sep 26 17:49:44 2019 +0200
|
||||||
|
@@ -0,0 +1,67 @@
|
||||||
|
+/*
|
||||||
|
+ * Copyright (c) 2019, Red Hat, Inc. 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.
|
||||||
|
+ *
|
||||||
|
+ * 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.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @test
|
||||||
|
+ * @bug 8231405
|
||||||
|
+ * @summary barrier expansion breaks if barrier is right after call to rethrow stub
|
||||||
|
+ * @key gc
|
||||||
|
+ * @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
|
+ *
|
||||||
|
+ * @run main/othervm -XX:CompileOnly=CallMultipleCatchProjs::test -Xcomp -Xverify:none -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC CallMultipleCatchProjs
|
||||||
|
+ *
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+public class CallMultipleCatchProjs {
|
||||||
|
+ private static A field = new A();
|
||||||
|
+
|
||||||
|
+ public static void main(String[] args) throws Exception {
|
||||||
|
+ Exception3 exception3 = new Exception3();
|
||||||
|
+ test(new Exception2());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ static int test(Exception exception) throws Exception {
|
||||||
|
+ try {
|
||||||
|
+ throw exception;
|
||||||
|
+ } catch (Exception1 e1) {
|
||||||
|
+ return 1;
|
||||||
|
+ } catch (Exception2 e2) {
|
||||||
|
+ return field.i + 2;
|
||||||
|
+ } catch (Exception3 e3) {
|
||||||
|
+ return field.i + 3;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ private static class Exception1 extends Exception {
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ private static class Exception2 extends Exception {
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ private static class Exception3 extends Exception {
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ private static class A {
|
||||||
|
+ public int i;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User shade
|
||||||
|
# Date 1569859344 -7200
|
||||||
|
# Node ID 6f85097da2487529811f31ea779d9004f63725c6
|
||||||
|
# Parent 3873cd2a203484b5a6106c7262f9a21070915a6d
|
||||||
|
#8231583: Shenandoah: Fix register clash in SBSA::resolve_forwarding_pointer() borrowing
|
||||||
|
#Reviewed-by: rkennke
|
||||||
|
|
||||||
|
diff -r 3873cd2a2034 -r 6f85097da248 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp
|
||||||
|
--- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Thu Sep 19 20:26:51 2019 +0200
|
||||||
|
+++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Mon Sep 30 18:02:24 2019 +0200
|
||||||
|
@@ -236,9 +236,14 @@
|
||||||
|
if (borrow_reg) {
|
||||||
|
// No free registers available. Make one useful.
|
||||||
|
tmp = rscratch1;
|
||||||
|
+ if (tmp == dst) {
|
||||||
|
+ tmp = rscratch2;
|
||||||
|
+ }
|
||||||
|
__ push(RegSet::of(tmp), sp);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ assert_different_registers(tmp, dst);
|
||||||
|
+
|
||||||
|
Label done;
|
||||||
|
__ ldr(tmp, Address(dst, oopDesc::mark_offset_in_bytes()));
|
||||||
|
__ eon(tmp, tmp, zr);
|
||||||
|
diff -r 3873cd2a2034 -r 6f85097da248 src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp
|
||||||
|
--- a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Thu Sep 19 20:26:51 2019 +0200
|
||||||
|
+++ b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Mon Sep 30 18:02:24 2019 +0200
|
||||||
|
@@ -344,9 +344,14 @@
|
||||||
|
if (borrow_reg) {
|
||||||
|
// No free registers available. Make one useful.
|
||||||
|
tmp = LP64_ONLY(rscratch1) NOT_LP64(rdx);
|
||||||
|
+ if (tmp == dst) {
|
||||||
|
+ tmp = LP64_ONLY(rscratch2) NOT_LP64(rcx);
|
||||||
|
+ }
|
||||||
|
__ push(tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ assert_different_registers(dst, tmp);
|
||||||
|
+
|
||||||
|
Label done;
|
||||||
|
__ movptr(tmp, Address(dst, oopDesc::mark_offset_in_bytes()));
|
||||||
|
__ notptr(tmp);
|
||||||
|
|
||||||
|
|
|
@ -1,132 +0,0 @@
|
||||||
diff --git a/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java b/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
|
|
||||||
index 8759aab3995..11ccbf73839 100644
|
|
||||||
--- a/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
|
|
||||||
+++ b/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
|
|
||||||
@@ -847,6 +847,7 @@ public final class TimeZoneNames extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Kirov", new String[] {"Kirov Standard Time", "GMT+03:00",
|
|
||||||
"Kirov Daylight Time", "GMT+03:00",
|
|
||||||
"Kirov Time", "GMT+03:00"}},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
|
|
||||||
index f007c1a8d3b..617268e4cf3 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_de extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
|
|
||||||
index 386414e16e6..14c5d89b9c5 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_es extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
|
|
||||||
index d23f5fd49e6..44117125619 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_fr extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
|
|
||||||
index b4f57d4568c..efa818f3865 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_it extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
|
|
||||||
index 1a10a9f96dc..7c0565461ad 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_ja extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
|
|
||||||
index 9a2d9e5c57c..8a2c805997f 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_ko extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
|
|
||||||
index de5e5c82daa..e3c06417f09 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_pt_BR extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
|
|
||||||
index b53de4d8c89..3e46b6a063e 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_sv extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
|
|
||||||
index 7797cda19d5..590908409a8 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_zh_CN extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
|
|
||||||
index 2cd10554853..23c5f180b6d 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
|
|
||||||
@@ -827,6 +827,7 @@ public final class TimeZoneNames_zh_TW extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
|
@ -1,8 +0,0 @@
|
||||||
name = NSS-FIPS
|
|
||||||
nssLibraryDirectory = @NSS_LIBDIR@
|
|
||||||
nssSecmodDirectory = sql:/etc/pki/nssdb
|
|
||||||
nssDbMode = readOnly
|
|
||||||
nssModule = fips
|
|
||||||
|
|
||||||
attributes(*,CKO_SECRET_KEY,CKK_GENERIC_SECRET)={ CKA_SIGN=true }
|
|
||||||
|
|
|
@ -1,76 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Copyright (C) 2022 Red Hat, Inc.
|
|
||||||
# Written by Andrew John Hughes <gnu.andrew@redhat.com>, 2012-2022
|
|
||||||
#
|
|
||||||
# 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/>.
|
|
||||||
|
|
||||||
OLD_RELEASE=$1
|
|
||||||
NEW_RELEASE=$2
|
|
||||||
SUBDIR=$3
|
|
||||||
REPO=$4
|
|
||||||
SCRIPT_DIR=$(dirname ${0})
|
|
||||||
|
|
||||||
if test "x${SUBDIR}" = "x"; then
|
|
||||||
echo "No subdirectory specified; using .";
|
|
||||||
SUBDIR=".";
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$REPO" = "x"; then
|
|
||||||
echo "No repository specified; using ${PWD}"
|
|
||||||
REPO=${PWD}
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x${TMPDIR} = x; then
|
|
||||||
TMPDIR=/tmp;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Repository: ${REPO}"
|
|
||||||
|
|
||||||
if [ -e ${REPO}/.git ] ; then
|
|
||||||
TYPE=git;
|
|
||||||
elif [ -e ${REPO}/.hg ] ; then
|
|
||||||
TYPE=hg;
|
|
||||||
else
|
|
||||||
echo "No Mercurial or Git repository detected.";
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$OLD_RELEASE" = "x" || test "x$NEW_RELEASE" = "x"; then
|
|
||||||
echo "ERROR: Need to specify old and new release";
|
|
||||||
exit 2;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Listing fixes between $OLD_RELEASE and $NEW_RELEASE in $REPO"
|
|
||||||
rm -f ${TMPDIR}/fixes2 ${TMPDIR}/fixes3 ${TMPDIR}/fixes
|
|
||||||
for repos in . $(${SCRIPT_DIR}/discover_trees.sh ${REPO});
|
|
||||||
do
|
|
||||||
if test "x$TYPE" = "xhg"; then
|
|
||||||
hg log -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \
|
|
||||||
egrep '^[o:| ]*summary'|grep -v 'Added tag'|sed -r 's#^[o:| ]*summary:\W*([0-9])# - JDK-\1#'| \
|
|
||||||
sed 's#^[o:| ]*summary:\W*# - #' >> ${TMPDIR}/fixes2;
|
|
||||||
hg log -v -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \
|
|
||||||
egrep '^[o:| ]*[0-9]{7}'|sed -r 's#^[o:| ]*([0-9]{7})# - JDK-\1#' >> ${TMPDIR}/fixes3;
|
|
||||||
else
|
|
||||||
git -C ${REPO} log --no-merges --pretty=format:%B ${NEW_RELEASE}...${OLD_RELEASE} -- ${SUBDIR} |egrep '^[0-9]{7}' | \
|
|
||||||
sed -r 's#^([0-9])# - JDK-\1#' >> ${TMPDIR}/fixes2;
|
|
||||||
touch ${TMPDIR}/fixes3 ; # unused
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
sort ${TMPDIR}/fixes2 ${TMPDIR}/fixes3 | uniq > ${TMPDIR}/fixes
|
|
||||||
rm -f ${TMPDIR}/fixes2 ${TMPDIR}/fixes3
|
|
||||||
|
|
||||||
echo "In ${TMPDIR}/fixes:"
|
|
||||||
cat ${TMPDIR}/fixes
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User andrew
|
||||||
|
# Date 1478057514 0
|
||||||
|
# Node ID 1c4d5cb2096ae55106111da200b0bcad304f650c
|
||||||
|
# Parent 3d53f19b48384e5252f4ec8891f7a3a82d77af2a
|
||||||
|
PR3183: Support Fedora/RHEL system crypto policy
|
||||||
|
diff -r 3d53f19b4838 -r 1c4d5cb2096a src/java.base/share/classes/java/security/Security.java
|
||||||
|
--- a/src/java.base/share/classes/java/security/Security.java Wed Oct 26 03:51:39 2016 +0100
|
||||||
|
+++ b/src/java.base/share/classes/java/security/Security.java Wed Nov 02 03:31:54 2016 +0000
|
||||||
|
@@ -43,6 +43,9 @@
|
||||||
|
* implementation-specific location, which is typically the properties file
|
||||||
|
* {@code conf/security/java.security} in the Java installation directory.
|
||||||
|
*
|
||||||
|
+ * <p>Additional default values of security properties are read from a
|
||||||
|
+ * system-specific location, if available.</p>
|
||||||
|
+ *
|
||||||
|
* @author Benjamin Renaud
|
||||||
|
* @since 1.1
|
||||||
|
*/
|
||||||
|
@@ -52,6 +55,10 @@
|
||||||
|
private static final Debug sdebug =
|
||||||
|
Debug.getInstance("properties");
|
||||||
|
|
||||||
|
+ /* System property file*/
|
||||||
|
+ private static final String SYSTEM_PROPERTIES =
|
||||||
|
+ "/etc/crypto-policies/back-ends/java.config";
|
||||||
|
+
|
||||||
|
/* The java.security properties */
|
||||||
|
private static Properties props;
|
||||||
|
|
||||||
|
@@ -93,6 +100,7 @@
|
||||||
|
if (sdebug != null) {
|
||||||
|
sdebug.println("reading security properties file: " +
|
||||||
|
propFile);
|
||||||
|
+ sdebug.println(props.toString());
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
if (sdebug != null) {
|
||||||
|
@@ -114,6 +122,31 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("true".equalsIgnoreCase(props.getProperty
|
||||||
|
+ ("security.useSystemPropertiesFile"))) {
|
||||||
|
+
|
||||||
|
+ // now load the system file, if it exists, so its values
|
||||||
|
+ // will win if they conflict with the earlier values
|
||||||
|
+ try (BufferedInputStream bis =
|
||||||
|
+ new BufferedInputStream(new FileInputStream(SYSTEM_PROPERTIES))) {
|
||||||
|
+ props.load(bis);
|
||||||
|
+ loadedProps = true;
|
||||||
|
+
|
||||||
|
+ if (sdebug != null) {
|
||||||
|
+ sdebug.println("reading system security properties file " +
|
||||||
|
+ SYSTEM_PROPERTIES);
|
||||||
|
+ sdebug.println(props.toString());
|
||||||
|
+ }
|
||||||
|
+ } catch (IOException e) {
|
||||||
|
+ if (sdebug != null) {
|
||||||
|
+ sdebug.println
|
||||||
|
+ ("unable to load security properties from " +
|
||||||
|
+ SYSTEM_PROPERTIES);
|
||||||
|
+ e.printStackTrace();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if ("true".equalsIgnoreCase(props.getProperty
|
||||||
|
("security.overridePropertiesFile"))) {
|
||||||
|
|
||||||
|
String extraPropFile = System.getProperty
|
||||||
|
diff -r 3d53f19b4838 -r 1c4d5cb2096a src/java.base/share/conf/security/java.security
|
||||||
|
--- a/src/java.base/share/conf/security/java.security Wed Oct 26 03:51:39 2016 +0100
|
||||||
|
+++ b/src/java.base/share/conf/security/java.security Wed Nov 02 03:31:54 2016 +0000
|
||||||
|
@@ -276,6 +276,13 @@
|
||||||
|
security.overridePropertiesFile=true
|
||||||
|
|
||||||
|
#
|
||||||
|
+# Determines whether this properties file will be appended to
|
||||||
|
+# using the system properties file stored at
|
||||||
|
+# /etc/crypto-policies/back-ends/java.config
|
||||||
|
+#
|
||||||
|
+security.useSystemPropertiesFile=true
|
||||||
|
+
|
||||||
|
+#
|
||||||
|
# Determines the default key and trust manager factory algorithms for
|
||||||
|
# the javax.net.ssl package.
|
||||||
|
#
|
|
@ -1,52 +1,24 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# Arguments: <JDK TREE> <MINIMAL|FULL>
|
|
||||||
TREE=${1}
|
|
||||||
TYPE=${2}
|
|
||||||
|
|
||||||
ZIP_SRC=src/java.base/share/native/libzip/zlib/
|
ZIP_SRC=src/java.base/share/native/libzip/zlib/
|
||||||
JPEG_SRC=src/java.desktop/share/native/libjavajpeg/
|
JPEG_SRC=src/java.desktop/share/native/libjavajpeg/
|
||||||
GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/
|
GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/
|
||||||
PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/
|
PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/
|
||||||
LCMS_SRC=src/java.desktop/share/native/liblcms/
|
LCMS_SRC=src/java.desktop/share/native/liblcms/
|
||||||
|
|
||||||
if test "x${TREE}" = "x"; then
|
cd openjdk
|
||||||
echo "$0 <JDK_TREE> (MINIMAL|FULL)";
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${TYPE}" = "x"; then
|
|
||||||
TYPE=minimal;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${TYPE}" != "xminimal" -a "x${TYPE}" != "xfull"; then
|
|
||||||
echo "Type must be minimal or full";
|
|
||||||
exit 2;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Removing in-tree libraries from ${TREE}"
|
|
||||||
echo "Cleansing operation: ${TYPE}";
|
|
||||||
|
|
||||||
cd ${TREE}
|
|
||||||
|
|
||||||
echo "Removing built-in libs (they will be linked)"
|
echo "Removing built-in libs (they will be linked)"
|
||||||
|
|
||||||
# On full runs, allow for zlib having already been deleted by minimal
|
|
||||||
echo "Removing zlib"
|
echo "Removing zlib"
|
||||||
if [ "x${TYPE}" = "xminimal" -a ! -d ${ZIP_SRC} ]; then
|
if [ ! -d ${ZIP_SRC} ]; then
|
||||||
echo "${ZIP_SRC} does not exist. Refusing to proceed."
|
echo "${ZIP_SRC} does not exist. Refusing to proceed."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
rm -rvf ${ZIP_SRC}
|
rm -rvf ${ZIP_SRC}
|
||||||
|
|
||||||
# Minimal is limited to just zlib so finish here
|
|
||||||
if test "x${TYPE}" = "xminimal"; then
|
|
||||||
echo "Finished.";
|
|
||||||
exit 0;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Removing libjpeg"
|
echo "Removing libjpeg"
|
||||||
if [ ! -f ${JPEG_SRC}/jdhuff.c ]; then # some file that should definitely exist
|
if [ ! -f ${JPEG_SRC}/jdhuff.c ]; then # some file that sound definitely exist
|
||||||
echo "${JPEG_SRC} does not contain jpeg sources. Refusing to proceed."
|
echo "${JPEG_SRC} does not contain jpeg sources. Refusing to proceed."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
diff --git openjdk.orig/src/java.base/share/conf/security/java.security openjdk/src/java.base/share/conf/security/java.security
|
diff -r e3f940bd3c8f src/java.base/share/conf/security/java.security
|
||||||
index 68a9c1a2d08..7aa25eb2cb7 100644
|
--- openjdk/src/java.base/share/conf/security/java.security Thu Jun 11 21:54:51 2020 +0530
|
||||||
--- openjdk.orig/src/java.base/share/conf/security/java.security
|
+++ openjdk/src/java.base/share/conf/security/java.security Mon Aug 24 10:14:31 2020 +0200
|
||||||
+++ openjdk/src/java.base/share/conf/security/java.security
|
@@ -77,7 +77,7 @@
|
||||||
@@ -78,6 +78,7 @@ security.provider.tbd=SunMSCAPI
|
#ifdef macosx
|
||||||
security.provider.tbd=Apple
|
security.provider.tbd=Apple
|
||||||
#endif
|
#endif
|
||||||
security.provider.tbd=SunPKCS11
|
-security.provider.tbd=SunPKCS11
|
||||||
+#security.provider.tbd=SunPKCS11 ${java.home}/lib/security/nss.cfg
|
+#security.provider.tbd=SunPKCS11 ${java.home}/lib/security/nss.cfg
|
||||||
|
|
||||||
#
|
#
|
||||||
# Security providers used when FIPS mode support is active
|
# A list of preferred providers for specific algorithms. These providers will
|
||||||
|
|
|
@ -1,15 +1,13 @@
|
||||||
diff --git a/openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java b/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
--- openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java 2013-03-01 10:48:12.038189968 +0100
|
||||||
index bacff32efbc..ff7b3dcc81c 100644
|
+++ openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java 2013-03-01 10:48:11.913188505 +0100
|
||||||
--- openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
@@ -48,8 +48,8 @@
|
||||||
+++ openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
|
||||||
@@ -46,8 +46,8 @@ class PlatformPCSC {
|
|
||||||
|
|
||||||
private static final String PROP_NAME = "sun.security.smartcardio.library";
|
private final static String PROP_NAME = "sun.security.smartcardio.library";
|
||||||
|
|
||||||
- private static final String LIB1 = "/usr/$LIBISA/libpcsclite.so";
|
- private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so";
|
||||||
- private static final String LIB2 = "/usr/local/$LIBISA/libpcsclite.so";
|
- private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so";
|
||||||
+ private static final String LIB1 = "/usr/$LIBISA/libpcsclite.so.1";
|
+ private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so.1";
|
||||||
+ private static final String LIB2 = "/usr/local/$LIBISA/libpcsclite.so.1";
|
+ private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so.1";
|
||||||
private static final String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC";
|
private final static String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC";
|
||||||
|
|
||||||
PlatformPCSC() {
|
PlatformPCSC() {
|
||||||
|
|
|
@ -1,117 +0,0 @@
|
||||||
diff --git openjdk.orig/make/modules/java.base/Launcher.gmk openjdk/make/modules/java.base/Launcher.gmk
|
|
||||||
index 700ddefda49..2882de68eb2 100644
|
|
||||||
--- openjdk.orig/make/modules/java.base/Launcher.gmk
|
|
||||||
+++ openjdk/make/modules/java.base/Launcher.gmk
|
|
||||||
@@ -41,6 +41,14 @@ $(eval $(call SetupBuildLauncher, java, \
|
|
||||||
OPTIMIZATION := HIGH, \
|
|
||||||
))
|
|
||||||
|
|
||||||
+#Wno-error=cpp is present to allow commented warning in ifdef part of main.c
|
|
||||||
+$(eval $(call SetupBuildLauncher, alt-java, \
|
|
||||||
+ CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES -DREDHAT_ALT_JAVA -Wno-error=cpp, \
|
|
||||||
+ EXTRA_RCFLAGS := $(JAVA_RCFLAGS), \
|
|
||||||
+ VERSION_INFO_RESOURCE := $(JAVA_VERSION_INFO_RESOURCE), \
|
|
||||||
+ OPTIMIZATION := HIGH, \
|
|
||||||
+))
|
|
||||||
+
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
|
||||||
$(eval $(call SetupBuildLauncher, javaw, \
|
|
||||||
CFLAGS := -DJAVAW -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES, \
|
|
||||||
diff --git openjdk.orig/src/java.base/share/native/launcher/alt_main.h openjdk/src/java.base/share/native/launcher/alt_main.h
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..697df2898ac
|
|
||||||
--- /dev/null
|
|
||||||
+++ openjdk/src/java.base/share/native/launcher/alt_main.h
|
|
||||||
@@ -0,0 +1,73 @@
|
|
||||||
+/*
|
|
||||||
+ * Copyright (c) 2019, Red Hat, Inc. 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.
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#ifdef REDHAT_ALT_JAVA
|
|
||||||
+
|
|
||||||
+#include <sys/prctl.h>
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+/* Per task speculation control */
|
|
||||||
+#ifndef PR_GET_SPECULATION_CTRL
|
|
||||||
+# define PR_GET_SPECULATION_CTRL 52
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SET_SPECULATION_CTRL
|
|
||||||
+# define PR_SET_SPECULATION_CTRL 53
|
|
||||||
+#endif
|
|
||||||
+/* Speculation control variants */
|
|
||||||
+#ifndef PR_SPEC_STORE_BYPASS
|
|
||||||
+# define PR_SPEC_STORE_BYPASS 0
|
|
||||||
+#endif
|
|
||||||
+/* Return and control values for PR_SET/GET_SPECULATION_CTRL */
|
|
||||||
+
|
|
||||||
+#ifndef PR_SPEC_NOT_AFFECTED
|
|
||||||
+# define PR_SPEC_NOT_AFFECTED 0
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_PRCTL
|
|
||||||
+# define PR_SPEC_PRCTL (1UL << 0)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_ENABLE
|
|
||||||
+# define PR_SPEC_ENABLE (1UL << 1)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_DISABLE
|
|
||||||
+# define PR_SPEC_DISABLE (1UL << 2)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_FORCE_DISABLE
|
|
||||||
+# define PR_SPEC_FORCE_DISABLE (1UL << 3)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_DISABLE_NOEXEC
|
|
||||||
+# define PR_SPEC_DISABLE_NOEXEC (1UL << 4)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+static void set_speculation() __attribute__((constructor));
|
|
||||||
+static void set_speculation() {
|
|
||||||
+ if ( prctl(PR_SET_SPECULATION_CTRL,
|
|
||||||
+ PR_SPEC_STORE_BYPASS,
|
|
||||||
+ PR_SPEC_DISABLE_NOEXEC, 0, 0) == 0 ) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#endif // REDHAT_ALT_JAVA
|
|
||||||
diff --git openjdk.orig/src/java.base/share/native/launcher/main.c openjdk/src/java.base/share/native/launcher/main.c
|
|
||||||
index b734fe2ba78..79dc8307650 100644
|
|
||||||
--- openjdk.orig/src/java.base/share/native/launcher/main.c
|
|
||||||
+++ openjdk/src/java.base/share/native/launcher/main.c
|
|
||||||
@@ -34,6 +34,14 @@
|
|
||||||
#include "jli_util.h"
|
|
||||||
#include "jni.h"
|
|
||||||
|
|
||||||
+#ifdef REDHAT_ALT_JAVA
|
|
||||||
+#if defined(__linux__) && defined(__x86_64__)
|
|
||||||
+#include "alt_main.h"
|
|
||||||
+#else
|
|
||||||
+#warning alt-java requested but SSB mitigation not available on this platform.
|
|
||||||
+#endif
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#if _MSC_VER > 1400 && _MSC_VER < 1600
|
|
||||||
|
|
4
sources
4
sources
|
@ -1,2 +1,2 @@
|
||||||
SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30
|
SHA512 (jdk-updates-jdk15u-jdk-15.0.1+9.tar.xz) = acc488cf608d8104342e4fd88ddf8bb06d8674a2640d049a482cd0aaf8bf4e3acdbf78388f71fa87bbc177ce66ba182483340f787b8e13e5ca0cca0d4b62f938
|
||||||
SHA512 (openjdk-jdk19u-jdk-19+36.tar.xz) = c441e1f7dbabe3e66e062a7f661f953e06c10dd165995e2996e614d32f2333cd4532f45064ba4d098dfc8fa3637448d4dc9869c235d086ef80499a7a262f4ede
|
SHA512 (systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz) = cf578221b77d8c7e019f69909bc86c419c5fb5e10bceba9592ff6e7f96887b0a7f07c9cefe90800975247a078785ca190fdec5c2d0f841bb447cee784b570f7d
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
#!/bin/bash -x
|
||||||
|
# this file contains defaults for currently generated source tarballs
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# TAPSET
|
||||||
|
export PROJECT_NAME="hg"
|
||||||
|
export REPO_NAME="icedtea8"
|
||||||
|
export VERSION="9d464368e06d"
|
||||||
|
export COMPRESSION=xz
|
||||||
|
export OPENJDK_URL=http://icedtea.classpath.org
|
||||||
|
export FILE_NAME_ROOT=${PROJECT_NAME}-${REPO_NAME}-${VERSION}
|
||||||
|
export TO_COMPRESS="*/tapset"
|
||||||
|
# warning, filename and filenameroot creation is duplicated here from generate_source_tarball.sh
|
||||||
|
CLONED_FILENAME=${FILE_NAME_ROOT}.tar.${COMPRESSION}
|
||||||
|
TAPSET_VERSION=3.2
|
||||||
|
TAPSET=systemtap_"$TAPSET_VERSION"_tapsets_$CLONED_FILENAME
|
||||||
|
if [ ! -f ${TAPSET} ] ; then
|
||||||
|
if [ ! -f ${CLONED_FILENAME} ] ; then
|
||||||
|
echo "Generating ${CLONED_FILENAME}"
|
||||||
|
sh ./generate_source_tarball.sh
|
||||||
|
else
|
||||||
|
echo "exists exists exists exists exists exists exists "
|
||||||
|
echo "reusing reusing reusing reusing reusing reusing "
|
||||||
|
echo ${CLONED_FILENAME}
|
||||||
|
fi
|
||||||
|
mv -v $CLONED_FILENAME $TAPSET
|
||||||
|
else
|
||||||
|
echo "exists exists exists exists exists exists exists "
|
||||||
|
echo "reusing reusing reusing reusing reusing reusing "
|
||||||
|
echo ${TAPSET}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# OpenJDK from Shenandoah project
|
||||||
|
export PROJECT_NAME="jdk"
|
||||||
|
export REPO_NAME="jdk15"
|
||||||
|
export VERSION="jdk-15+36"
|
||||||
|
export COMPRESSION=xz
|
||||||
|
# unset tapsets overrides
|
||||||
|
export OPENJDK_URL=""
|
||||||
|
export TO_COMPRESS=""
|
||||||
|
# warning, filename and filenameroot creation is duplicated here from generate_source_tarball.sh
|
||||||
|
export FILE_NAME_ROOT=${PROJECT_NAME}-${REPO_NAME}-${VERSION}
|
||||||
|
FILENAME=${FILE_NAME_ROOT}.tar.${COMPRESSION}
|
||||||
|
|
||||||
|
if [ ! -f ${FILENAME} ] ; then
|
||||||
|
echo "Generating ${FILENAME}"
|
||||||
|
sh ./generate_source_tarball.sh
|
||||||
|
else
|
||||||
|
echo "exists exists exists exists exists exists exists "
|
||||||
|
echo "reusing reusing reusing reusing reusing reusing "
|
||||||
|
echo ${FILENAME}
|
||||||
|
fi
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
||||||
|
major=`echo $REPO_NAME | sed 's/[a-zA-Z]*//g'`
|
||||||
|
build=`echo $VERSION | sed 's/.*+//g'`
|
||||||
|
name_helper=`echo $FILENAME | sed s/$major/'%{majorver}'/g `
|
||||||
|
name_helper=`echo $name_helper | sed s/$build/'%{buildver}'/g `
|
||||||
|
echo "align specfile acordingly:"
|
||||||
|
echo " sed 's/^Source0:.*/Source0: $name_helper/' -i *.spec"
|
||||||
|
echo " sed 's/^Source8:.*/Source8: $TAPSET/' -i *.spec"
|
||||||
|
echo " sed 's/^%global buildver.*/%global buildver $build/' -i *.spec"
|
||||||
|
echo " sed 's/Release:.*/Release: 1%{?dist}/' -i *.spec"
|
||||||
|
echo "and maybe others...."
|
||||||
|
echo "you should fedpkg/rhpkg new-sources $TAPSET $FILENAME"
|
||||||
|
echo "you should fedpkg/rhpkg prep --arch XXXX on all architectures: x86_64 i386 i586 i686 ppc ppc64 ppc64le s390 s390x aarch64 armv7hl"
|
||||||
|
|
Loading…
Reference in New Issue