This commit is contained in:
commit
9b6b3e2045
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
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
33
PStack-808293.patch
Normal file
33
PStack-808293.patch
Normal file
@ -0,0 +1,33 @@
|
||||
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java
|
||||
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java
|
||||
@@ -101,7 +101,8 @@ public void run(PrintStream out, Debugger dbg) {
|
||||
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");
|
||||
@@ -183,10 +184,19 @@ public void run(PrintStream out, Debugger dbg) {
|
||||
}
|
||||
}
|
||||
}
|
||||
+ 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>
|
1803
config.guess
vendored
Normal file
1803
config.guess
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1895
config.sub
vendored
Normal file
1895
config.sub
vendored
Normal file
File diff suppressed because it is too large
Load Diff
41
disable-doclint-by-default.patch
Normal file
41
disable-doclint-by-default.patch
Normal file
@ -0,0 +1,41 @@
|
||||
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java
|
||||
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java
|
||||
@@ -631,7 +631,7 @@ public void initDocLint(List<String> opts, Set<String> customTagNames) {
|
||||
}
|
||||
} else {
|
||||
// no -Xmsgs options of any kind, use default
|
||||
- doclintOpts.add(DocLint.XMSGS_OPTION);
|
||||
+ return;
|
||||
}
|
||||
|
||||
if (!customTagNames.isEmpty()) {
|
||||
--- a/test/langtools/jdk/javadoc/tool/doclint/DocLintTest.java
|
||||
+++ b/test/langtools/jdk/javadoc/tool/doclint/DocLintTest.java
|
||||
@@ -150,12 +150,12 @@ void run() throws Exception {
|
||||
files = List.of(new TestJFO("Test.java", code));
|
||||
|
||||
test(List.of(htmlVersion),
|
||||
- Main.Result.ERROR,
|
||||
- EnumSet.of(Message.DL_ERR10A, Message.DL_WRN14A));
|
||||
+ Main.Result.OK,
|
||||
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN14));
|
||||
|
||||
test(List.of(htmlVersion, rawDiags),
|
||||
- Main.Result.ERROR,
|
||||
- EnumSet.of(Message.DL_ERR10, Message.DL_WRN14));
|
||||
+ Main.Result.OK,
|
||||
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN14));
|
||||
|
||||
// test(List.of("-Xdoclint:none"),
|
||||
// Main.Result.OK,
|
||||
@@ -178,8 +178,8 @@ void run() throws Exception {
|
||||
EnumSet.of(Message.DL_WRN14));
|
||||
|
||||
test(List.of(htmlVersion, rawDiags, "-private"),
|
||||
- Main.Result.ERROR,
|
||||
- EnumSet.of(Message.DL_ERR6, Message.DL_ERR10, Message.DL_WRN14));
|
||||
+ Main.Result.OK,
|
||||
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN14));
|
||||
|
||||
test(List.of(htmlVersion, rawDiags, "-Xdoclint:missing,syntax", "-private"),
|
||||
Main.Result.ERROR,
|
2830
fips.patch
Normal file
2830
fips.patch
Normal file
File diff suppressed because it is too large
Load Diff
10
implicit-pointer-decl.patch
Normal file
10
implicit-pointer-decl.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- a/src/java.instrument/share/native/libinstrument/JarFacade.c
|
||||
+++ b/src/java.instrument/share/native/libinstrument/JarFacade.c
|
||||
@@ -23,6 +23,7 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
+#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
165
java-22-openjdk.changes
Normal file
165
java-22-openjdk.changes
Normal file
@ -0,0 +1,165 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 7 11:24:30 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Added patch:
|
||||
* reproducible-jlink.patch
|
||||
+ make the timestamp in jmods reproducible
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 18 14:57:53 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Upgrade to upstream tag jdk-22.0.1+8 (April 2024 CPU)
|
||||
* Security fixes
|
||||
+ JDK-8315708, CVE-2024-21012, bsc#1222987: Enhance HTTP/2
|
||||
client usage
|
||||
+ JDK-8318340: Improve RSA key implementations
|
||||
+ JDK-8319851, CVE-2024-21011, bsc#1222979: Improve exception
|
||||
logging
|
||||
+ JDK-8322122, CVE-2024-21068, bsc#1222983: Enhance generation
|
||||
of addresses
|
||||
* Other changes
|
||||
+ JDK-8314164: java/net/HttpURLConnection/
|
||||
/HttpURLConnectionExpectContinueTest.java fails intermittently
|
||||
in timeout
|
||||
+ JDK-8314275: Incorrect stepping in switch
|
||||
+ JDK-8317299: safepoint scalarization doesn't keep track of
|
||||
the depth of the JVM state
|
||||
+ JDK-8317804: com/sun/jdi/JdwpAllowTest.java fails on Alpine
|
||||
3.17 / 3.18
|
||||
+ JDK-8318158: RISC-V: implement roundD/roundF intrinsics
|
||||
+ JDK-8318603: Parallelize sun/java2d/marlin/ClipShapeTest.java
|
||||
+ JDK-8318696: Do not use LFS64 symbols on Linux
|
||||
+ JDK-8319382: com/sun/jdi/JdwpAllowTest.java shows failures on
|
||||
AIX if prefixLen of mask is larger than 32 in IPv6 case
|
||||
+ JDK-8320890: [AIX] Find a better way to mimic dl handle
|
||||
equality
|
||||
+ JDK-8321151: JDK-8294427 breaks Windows L&F on all older
|
||||
Windows versions
|
||||
+ JDK-8321374: Add a configure option to explicitly set
|
||||
CompanyName property in VersionInfo resource for Windows
|
||||
exe/dll
|
||||
+ JDK-8321408: Add Certainly roots R1 and E1
|
||||
+ JDK-8321480: ISO 4217 Amendment 176 Update
|
||||
+ JDK-8321489: Update LCMS to 2.16
|
||||
+ JDK-8321815: Shenandoah: gc state should be synchronized to
|
||||
java threads only once per safepoint
|
||||
+ JDK-8321972: test runtime/Unsafe/InternalErrorTest.java
|
||||
timeout on linux-riscv64 platform
|
||||
+ JDK-8322092: Bump version numbers for 22.0.1
|
||||
+ JDK-8322098: os::Linux::print_system_memory_info enhance the
|
||||
THP output with
|
||||
/sys/kernel/mm/transparent_hugepage/hpage_pmd_size
|
||||
+ JDK-8322159: ThisEscapeAnalyzer crashes for erroneous code
|
||||
+ JDK-8322163: runtime/Unsafe/InternalErrorTest.java fails on
|
||||
Alpine after JDK-8320886
|
||||
+ JDK-8322417: Console read line with zero out should zero out
|
||||
when throwing exception
|
||||
+ JDK-8322725: (tz) Update Timezone Data to 2023d
|
||||
+ JDK-8322772: Clean up code after JDK-8322417
|
||||
+ JDK-8322783: prioritize /etc/os-release over
|
||||
/etc/SuSE-release in hs_err/info output
|
||||
+ JDK-8322790: RISC-V: Tune costs for shuffles with no
|
||||
conversion
|
||||
+ JDK-8322945: Problemlist runtime/CompressedOops/
|
||||
/CompressedClassPointers.java on AIX
|
||||
+ JDK-8323021: Shenandoah: Encountered reference count always
|
||||
attributed to first worker thread
|
||||
+ JDK-8323065: Unneccesary CodeBlob lookup in
|
||||
CompiledIC::internal_set_ic_destination
|
||||
+ JDK-8323086: Shenandoah: Heap could be corrupted by oom
|
||||
during evacuation
|
||||
+ JDK-8323154: C2: assert(cmp != nullptr && cmp->Opcode() ==
|
||||
Op_Cmp(bt)) failed: no exit test
|
||||
+ JDK-8323170: j2dbench is using outdated javac source/target
|
||||
to be able to build by itself
|
||||
+ JDK-8323210: Update the usage of cmsFLAGS_COPY_ALPHA
|
||||
+ JDK-8323331: fix typo hpage_pdm_size
|
||||
+ JDK-8323428: Shenandoah: Unused memory in regions compacted
|
||||
during a full GC should be mangled
|
||||
+ JDK-8323515: Create test alias "all" for all test roots
|
||||
+ JDK-8323637: Capture hotspot replay files in GHA
|
||||
+ JDK-8323657: Compilation of snippet results in VerifyError at
|
||||
runtime with --release 9 (and above)
|
||||
+ JDK-8323664: java/awt/font/JNICheck/FreeTypeScalerJNICheck.java
|
||||
still fails with JNI warning on some Windows configurations
|
||||
+ JDK-8323675: Race in jdk.javadoc-gendata
|
||||
+ JDK-8323920: Change milestone to fcs for all releases
|
||||
+ JDK-8323964: runtime/Thread/ThreadCountLimit.java fails
|
||||
intermittently on AIX
|
||||
+ JDK-8324041: ModuleOption.java failed with update release
|
||||
versioning scheme
|
||||
+ JDK-8324050: Issue store-store barrier after re-materializing
|
||||
objects during deoptimization
|
||||
+ JDK-8324280: RISC-V: Incorrect implementation in
|
||||
VM_Version::parse_satp_mode
|
||||
+ JDK-8324347: Enable "maybe-uninitialized" warning for
|
||||
FreeType 2.13.1
|
||||
+ JDK-8324598: use mem_unit when working with sysinfo memory
|
||||
and swap related information
|
||||
+ JDK-8324637: [aix] Implement support for reporting swap space
|
||||
in jdk.management
|
||||
+ JDK-8324647: Invalid test group of lib-test after JDK-8323515
|
||||
+ JDK-8324659: GHA: Generic jtreg errors are not reported
|
||||
+ JDK-8324753: [AIX] adjust os_posix after JDK-8318696
|
||||
+ JDK-8324937: GHA: Avoid multiple test suites per job
|
||||
+ JDK-8325074: ZGC fails assert(index == 0 ||
|
||||
is_power_of_2(index)) failed: Incorrect load shift: 11
|
||||
+ JDK-8325150: (tz) Update Timezone Data to 2024a
|
||||
+ JDK-8325203: System.exit(0) kills the launched 3rd party
|
||||
application
|
||||
+ JDK-8325213: Flags introduced by configure script are not
|
||||
passed to ADLC build
|
||||
+ JDK-8325313: Header format error in TestIntrinsicBailOut
|
||||
after JDK-8317299
|
||||
+ JDK-8325326: [PPC64] Don't relocate in case of allocation
|
||||
failure
|
||||
+ JDK-8325470: [AIX] use fclose after fopen in read_psinfo
|
||||
+ JDK-8325496: Make TrimNativeHeapInterval a product switch
|
||||
+ JDK-8325590: Regression in round-tripping UTF-16 strings
|
||||
after JDK-8311906
|
||||
+ JDK-8325672: C2: allocate PhaseIdealLoop::_loop_or_ctrl from
|
||||
C->comp_arena()
|
||||
+ JDK-8325876: crashes in docker container tests on
|
||||
Linuxppc64le Power8 machines
|
||||
+ JDK-8326000: Remove obsolete comments for class
|
||||
sun.security.ssl.SunJSSE
|
||||
+ JDK-8326101: [PPC64] Need to bailout cleanly if creation of
|
||||
stubs fails when code cache is out of space
|
||||
+ JDK-8326360: Update the Zlib version in
|
||||
open/src/java.base/share/legal/zlib.md to 1.3
|
||||
+ JDK-8326638: Crash in
|
||||
PhaseIdealLoop::remix_address_expressions due to unexpected
|
||||
Region instead of Loop
|
||||
+ JDK-8327391: Add SipHash attribution file
|
||||
- Modified patches:
|
||||
* PStack-808293.patch
|
||||
* disable-doclint-by-default.patch
|
||||
* fips.patch
|
||||
* java-22-openjdk.spec
|
||||
* java-atk-wrapper-security.patch
|
||||
* loadAssistiveTechnologies.patch
|
||||
* memory-limits.patch
|
||||
* multiple-pkcs11-library-init.patch
|
||||
* reproducible-properties.patch
|
||||
* system-pcsclite.patch
|
||||
* zero-ranges.patch
|
||||
+ rediff to apply without fuzz
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 15 14:45:03 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Initial packaging of OpenJDK 22 release
|
||||
* Features
|
||||
+ 423: Region Pinning for G1
|
||||
+ 447: Statements before super(...) (Preview)
|
||||
+ 454: Foreign Function & Memory API
|
||||
+ 456: Unnamed Variables & Patterns
|
||||
+ 457: Class-File API (Preview)
|
||||
+ 458: Launch Multi-File Source-Code Programs
|
||||
+ 459: String Templates (Second Preview)
|
||||
+ 460: Vector API (Seventh Incubator)
|
||||
+ 461: Stream Gatherers (Preview)
|
||||
+ 462: Structured Concurrency (Second Preview)
|
||||
+ 463: Implicitly Declared Classes and Instance Main Methods
|
||||
(Second Preview)
|
||||
+ 464: Scoped Values (Second Preview)
|
1057
java-22-openjdk.spec
Normal file
1057
java-22-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 @@
|
||||
--- a/src/java.base/share/conf/security/java.security
|
||||
+++ b/src/java.base/share/conf/security/java.security
|
||||
@@ -313,6 +313,8 @@ keystore.type.compat=true
|
||||
#
|
||||
package.access=sun.misc.,\
|
||||
sun.reflect.,\
|
||||
+ org.GNOME.Accessibility.,\
|
||||
+ org.GNOME.Bonobo.,\
|
||||
|
||||
#
|
||||
# List of comma-separated packages that start with or equal this string
|
||||
@@ -325,6 +327,8 @@ package.access=sun.misc.,\
|
||||
#
|
||||
package.definition=sun.misc.,\
|
||||
sun.reflect.,\
|
||||
+ org.GNOME.Accessibility.,\
|
||||
+ org.GNOME.Bonobo.,\
|
||||
|
||||
#
|
||||
# Determines whether this properties file can be appended to
|
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@
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupWMClass=sun-tools-jconsole-JConsole
|
||||
Categories=Development;Profiling;
|
||||
Version=1.0
|
3
jdk-22.0.1+8.tar.gz
Normal file
3
jdk-22.0.1+8.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0cfb7f2799384df43a9832df638f31c9be33a4a8650f8478f35272ee70dd7173
|
||||
size 112015695
|
3
jdk-22.0.2+9.tar.gz
Normal file
3
jdk-22.0.2+9.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f3bc990ed34dd0c9a1467640a9c654df4375ff948e854038b913abec12be6179
|
||||
size 112049076
|
15
loadAssistiveTechnologies.patch
Normal file
15
loadAssistiveTechnologies.patch
Normal file
@ -0,0 +1,15 @@
|
||||
--- a/src/java.desktop/share/classes/java/awt/Toolkit.java
|
||||
+++ b/src/java.desktop/share/classes/java/awt/Toolkit.java
|
||||
@@ -598,7 +598,11 @@ public static synchronized Toolkit getDefaultToolkit() {
|
||||
toolkit = new HeadlessToolkit(toolkit);
|
||||
}
|
||||
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 @@
|
||||
--- a/src/hotspot/share/gc/shared/gc_globals.hpp
|
||||
+++ b/src/hotspot/share/gc/shared/gc_globals.hpp
|
||||
@@ -591,7 +591,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) \
|
||||
\
|
64
multiple-pkcs11-library-init.patch
Normal file
64
multiple-pkcs11-library-init.patch
Normal file
@ -0,0 +1,64 @@
|
||||
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java
|
||||
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java
|
||||
@@ -52,6 +52,7 @@ final class Config {
|
||||
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
|
||||
@@ -1037,6 +1038,7 @@ private void parseHandleStartupErrors(String keyword) throws IOException {
|
||||
handleStartupErrors = switch (val) {
|
||||
case "ignoreAll" -> ERR_IGNORE_ALL;
|
||||
case "ignoreMissingLibrary" -> ERR_IGNORE_LIB;
|
||||
+ case "ignoreMultipleInitialisation" -> ERR_IGNORE_MULTI_INIT;
|
||||
case "halt" -> ERR_HALT;
|
||||
default -> throw excToken("Invalid value for handleStartupErrors:");
|
||||
};
|
||||
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
||||
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
||||
@@ -184,26 +184,37 @@ private static <T> T checkNull(T obj) {
|
||||
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))) {
|
||||
- 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))) {
|
||||
- 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 {
|
28
ppc_stack_overflow_fix.patch
Normal file
28
ppc_stack_overflow_fix.patch
Normal file
@ -0,0 +1,28 @@
|
||||
--- a/src/hotspot/cpu/zero/stack_zero.hpp
|
||||
+++ b/src/hotspot/cpu/zero/stack_zero.hpp
|
||||
@@ -97,7 +97,7 @@ class ZeroStack {
|
||||
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);
|
||||
--- a/src/hotspot/cpu/zero/stack_zero.inline.hpp
|
||||
+++ b/src/hotspot/cpu/zero/stack_zero.inline.hpp
|
||||
@@ -46,11 +46,11 @@ inline void ZeroStack::overflow_check(int required_words, TRAPS) {
|
||||
// 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 {
|
||||
assert(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
|
||||
+ (StackOverflow::stack_guard_zone_size() + StackOverflow::stack_shadow_zone_size());
|
||||
- int stack_free = thread->stack_size() - stack_used;
|
||||
+ ssize_t stack_free = thread->stack_size() - stack_used;
|
||||
return stack_free;
|
||||
}
|
||||
|
11
reproducible-jlink.patch
Normal file
11
reproducible-jlink.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java
|
||||
+++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java
|
||||
@@ -837,7 +837,7 @@ private void suggestProviders(JlinkConfiguration config, List<String> args)
|
||||
|
||||
private String getSaveOpts() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
- sb.append('#').append(new Date()).append("\n");
|
||||
+ sb.append('#').append(System.getenv("SOURCE_DATE_EPOCH") != null ? new Date(1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH"))) : new Date()).append("\n");
|
||||
for (String c : optionsHelper.getInputCommand()) {
|
||||
sb.append(c).append(" ");
|
||||
}
|
11
reproducible-properties.patch
Normal file
11
reproducible-properties.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/src/java.base/share/classes/java/util/Properties.java
|
||||
+++ b/src/java.base/share/classes/java/util/Properties.java
|
||||
@@ -955,7 +955,7 @@ private static void writeDateComment(BufferedWriter bw) throws IOException {
|
||||
if (sysPropVal != null && !sysPropVal.isEmpty()) {
|
||||
writeComments(bw, sysPropVal);
|
||||
} else {
|
||||
- bw.write("#" + new Date());
|
||||
+ bw.write("#" + (System.getenv("SOURCE_DATE_EPOCH") != null ? new Date(1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH"))) : new Date()));
|
||||
bw.newLine();
|
||||
}
|
||||
}
|
177
system-pcsclite.patch
Normal file
177
system-pcsclite.patch
Normal file
@ -0,0 +1,177 @@
|
||||
--- a/make/autoconf/lib-bundled.m4
|
||||
+++ b/make/autoconf/lib-bundled.m4
|
||||
@@ -41,6 +41,7 @@ AC_DEFUN_ONCE([LIB_SETUP_BUNDLED_LIBS],
|
||||
LIB_SETUP_ZLIB
|
||||
LIB_SETUP_LCMS
|
||||
LIB_SETUP_HARFBUZZ
|
||||
+ LIB_SETUP_PCSCLITE
|
||||
])
|
||||
|
||||
################################################################################
|
||||
@@ -309,3 +310,41 @@ AC_DEFUN_ONCE([LIB_SETUP_HARFBUZZ],
|
||||
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)
|
||||
+])
|
||||
--- a/make/autoconf/spec.gmk.in
|
||||
+++ b/make/autoconf/spec.gmk.in
|
||||
@@ -814,6 +814,7 @@ TAR_SUPPORTS_TRANSFORM := @TAR_SUPPORTS_TRANSFORM@
|
||||
# Build setup
|
||||
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@
|
||||
--- a/make/modules/java.smartcardio/Lib.gmk
|
||||
+++ b/make/modules/java.smartcardio/Lib.gmk
|
||||
@@ -30,12 +30,12 @@ include LibCommon.gmk
|
||||
$(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, \
|
||||
))
|
||||
|
||||
--- a/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c
|
||||
+++ b/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c
|
||||
@@ -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_SCardListReaders scardListReaders;
|
||||
FPTR_SCardBeginTransaction scardBeginTransaction;
|
||||
FPTR_SCardEndTransaction scardEndTransaction;
|
||||
FPTR_SCardControl scardControl;
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* Throws a Java Exception by name
|
||||
@@ -75,6 +77,7 @@ static void throwIOException(JNIEnv *env, const char *msg)
|
||||
throwByName(env, "java/io/IOException", msg);
|
||||
}
|
||||
|
||||
+#ifndef USE_SYSTEM_LIBPCSCLITE
|
||||
static void *findFunction(JNIEnv *env, void *hModule, char *functionName) {
|
||||
void *fAddress = dlsym(hModule, functionName);
|
||||
if (fAddress == NULL) {
|
||||
@@ -85,9 +88,11 @@ static void *findFunction(JNIEnv *env, void *hModule, char *functionName) {
|
||||
}
|
||||
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 @@ JNIEXPORT void JNICALL Java_sun_security_smartcardio_PlatformPCSC_initialize
|
||||
#else
|
||||
scardControl = (FPTR_SCardControl) findFunction(env, hModule, "SCardControl132");
|
||||
#endif // __APPLE__
|
||||
+#endif
|
||||
}
|
||||
--- a/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h
|
||||
+++ b/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h
|
||||
@@ -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_SCardListReaders scardListReaders;
|
||||
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
|
3
systemtap-tapset.tar.xz
Normal file
3
systemtap-tapset.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:775a40bb6563cbc102d3a36fb0307f1deab72e3f699d5539ef1557ddd3f660ba
|
||||
size 22204
|
15
zero-ranges.patch
Normal file
15
zero-ranges.patch
Normal file
@ -0,0 +1,15 @@
|
||||
--- a/src/hotspot/cpu/zero/globals_zero.hpp
|
||||
+++ b/src/hotspot/cpu/zero/globals_zero.hpp
|
||||
@@ -54,9 +54,9 @@ define_pd_global(intx, InitArrayShortSize, 0);
|
||||
#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