Fridrich Strba 2024-09-02 19:11:16 +00:00 committed by Git OBS Bridge
commit 3b1fa2ea9a
25 changed files with 8317 additions and 0 deletions

23
.gitattributes vendored Normal file
View 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
View File

@ -0,0 +1 @@
.osc

33
PStack-808293.patch Normal file
View 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
View 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
View 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
View 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

File diff suppressed because it is too large Load Diff

1895
config.sub vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,48 @@
diff --git 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
index f10bd27d35c..974b8518867 100644
--- 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()) {
diff --git a/test/langtools/jdk/javadoc/tool/doclint/DocLintTest.java b/test/langtools/jdk/javadoc/tool/doclint/DocLintTest.java
index ff6e5ec8dff..6a61a89e85a 100644
--- a/test/langtools/jdk/javadoc/tool/doclint/DocLintTest.java
+++ b/test/langtools/jdk/javadoc/tool/doclint/DocLintTest.java
@@ -153,14 +153,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,
- Message.JD_NOTE_MARK));
+ 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,
- Message.JD_NOTE_MARK));
+ Main.Result.OK,
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN14));
// test(List.of("-Xdoclint:none"),
// Main.Result.OK,
@@ -184,9 +182,8 @@ void run() throws Exception {
EnumSet.of(Message.DL_WRN14, Message.JD_NOTE_MARK));
test(List.of(htmlVersion, rawDiags, "-private"),
- Main.Result.ERROR,
- EnumSet.of(Message.DL_ERR6, Message.DL_ERR10,
- Message.DL_WRN14, Message.JD_NOTE_MARK));
+ Main.Result.OK,
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN14));
test(List.of(htmlVersion, rawDiags, "-Xdoclint:missing,syntax", "-private"),
Main.Result.ERROR,

2944
fips.patch Normal file

File diff suppressed because it is too large Load Diff

View 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>

4
java-23-openjdk.changes Normal file
View File

@ -0,0 +1,4 @@
-------------------------------------------------------------------
Mon Sep 2 13:01:04 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Intial packaging of OpenJDK 23 release

1056
java-23-openjdk.spec Normal file

File diff suppressed because it is too large Load Diff

View 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
View 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-23+37.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5c3fc2bc6aed4dd2c9d5be9d5a72354932a63473cad816314f87b29ceaa185eb
size 116631872

View 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
View 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) \
\

View 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 {

View 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
View 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(" ");
}

View 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
View File

@ -0,0 +1,177 @@
--- jdk23/make/autoconf/lib-bundled.m4 2024-09-02 15:15:26.964612211 +0200
+++ jdk23/make/autoconf/lib-bundled.m4 2024-09-02 15:15:37.271362112 +0200
@@ -41,6 +41,7 @@
LIB_SETUP_ZLIB
LIB_SETUP_LCMS
LIB_SETUP_HARFBUZZ
+ LIB_SETUP_PCSCLITE
])
################################################################################
@@ -313,3 +314,41 @@
AC_SUBST(HARFBUZZ_CFLAGS)
AC_SUBST(HARFBUZZ_LIBS)
])
+
+################################################################################
+# Setup pcsclite
+################################################################################
+AC_DEFUN_ONCE([LIB_SETUP_PCSCLITE],
+[
+ AC_ARG_WITH(pcsclite, [AS_HELP_STRING([--with-pcsclite],
+ [use pcsclite from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
+
+ AC_MSG_CHECKING([for which pcsclite to use])
+
+ # default is bundled
+ DEFAULT_PCSCLITE=bundled
+ # if user didn't specify, use DEFAULT_PCSCLITE
+ if test "x${with_pcsclite}" = "x"; then
+ with_libpng=${DEFAULT_PCSCLITE}
+ fi
+
+ if test "x${with_pcsclite}" = "xbundled"; then
+ USE_EXTERNAL_PCSCLITE=false
+ AC_MSG_RESULT([bundled])
+ elif test "x${with_pcsclite}" = "xsystem"; then
+ PKG_CHECK_MODULES(PCSCLITE, libpcsclite,
+ [ PCSCLITE_FOUND=yes ],
+ [ PCSCLITE_FOUND=no ])
+ if test "x${PCSCLITE_FOUND}" = "xyes"; then
+ USE_EXTERNAL_PCSCLITE=true
+ AC_MSG_RESULT([system])
+ else
+ AC_MSG_RESULT([system not found])
+ AC_MSG_ERROR([--with-pcsclite=system specified, but no pcsclite found!])
+ fi
+ else
+ AC_MSG_ERROR([Invalid value of --with-pcsclite: ${with_pcsclite}, use 'system' or 'bundled'])
+ fi
+
+ AC_SUBST(USE_EXTERNAL_PCSCLITE)
+])
--- jdk23/make/autoconf/spec.gmk.template 2024-09-02 15:15:26.964612211 +0200
+++ jdk23/make/autoconf/spec.gmk.template 2024-09-02 15:17:29.628936145 +0200
@@ -793,6 +793,7 @@
LIBJPEG_LIBS := @LIBJPEG_LIBS@
USE_EXTERNAL_LIBGIF := @USE_EXTERNAL_LIBGIF@
GIFLIB_LIBS := @GIFLIB_LIBS@
+USE_EXTERNAL_LIBPCSCLITE:=@USE_EXTERNAL_LIBPCSCLITE@
USE_EXTERNAL_LIBZ := @USE_EXTERNAL_LIBZ@
LIBZ_CFLAGS := @LIBZ_CFLAGS@
LIBZ_LIBS := @LIBZ_LIBS@
--- jdk23/make/modules/java.smartcardio/Lib.gmk 2024-09-02 15:15:27.134613584 +0200
+++ jdk23/make/modules/java.smartcardio/Lib.gmk 2024-09-02 15:20:52.910577752 +0200
@@ -31,12 +31,12 @@
$(eval $(call SetupJdkLibrary, BUILD_LIBJ2PCSC, \
NAME := j2pcsc, \
- CFLAGS_unix := -D__sun_jdk, \
+ CFLAGS_unix := -D__sun_jdk -DUSE_SYSTEM_LIBPCSCLITE, \
EXTRA_HEADER_DIRS := \
- libj2pcsc/MUSCLE \
+ /usr/include/PCSC \
java.base:libjava, \
OPTIMIZATION := LOW, \
- LIBS_unix := $(LIBDL), \
+ LIBS_unix := -lpcsclite $(LIBDL), \
LIBS_windows := winscard.lib, \
))
--- jdk23/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c 2024-09-02 15:15:27.867952840 +0200
+++ jdk23/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c 2024-09-02 15:15:37.271362112 +0200
@@ -36,6 +36,7 @@
#include "pcsc_md.h"
+#ifndef USE_SYSTEM_LIBPCSCLITE
void *hModule;
FPTR_SCardEstablishContext scardEstablishContext;
FPTR_SCardConnect scardConnect;
@@ -47,6 +48,7 @@
FPTR_SCardBeginTransaction scardBeginTransaction;
FPTR_SCardEndTransaction scardEndTransaction;
FPTR_SCardControl scardControl;
+#endif
/*
* Throws a Java Exception by name
@@ -75,6 +77,7 @@
throwByName(env, "java/io/IOException", msg);
}
+#ifndef USE_SYSTEM_LIBPCSCLITE
static void *findFunction(JNIEnv *env, void *hModule, char *functionName) {
void *fAddress = dlsym(hModule, functionName);
if (fAddress == NULL) {
@@ -85,9 +88,11 @@
}
return fAddress;
}
+#endif
JNIEXPORT void JNICALL Java_sun_security_smartcardio_PlatformPCSC_initialize
(JNIEnv *env, jclass thisClass, jstring jLibName) {
+#ifndef USE_SYSTEM_LIBPCSCLITE
const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL);
if (libName == NULL) {
throwNullPointerException(env, "PCSC library name is null");
@@ -141,4 +146,5 @@
#else
scardControl = (FPTR_SCardControl) findFunction(env, hModule, "SCardControl132");
#endif // __APPLE__
+#endif
}
--- jdk23/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h 2024-09-02 15:15:27.867952840 +0200
+++ jdk23/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h 2024-09-02 15:15:37.271362112 +0200
@@ -23,6 +23,8 @@
* questions.
*/
+#ifndef USE_SYSTEM_LIBPCSCLITE
+
typedef LONG (*FPTR_SCardEstablishContext)(DWORD dwScope,
LPCVOID pvReserved1,
LPCVOID pvReserved2,
@@ -111,3 +113,41 @@
extern FPTR_SCardBeginTransaction scardBeginTransaction;
extern FPTR_SCardEndTransaction scardEndTransaction;
extern FPTR_SCardControl scardControl;
+
+#else
+
+#define CALL_SCardEstablishContext(dwScope, pvReserved1, pvReserved2, phContext) \
+ (SCardEstablishContext(dwScope, pvReserved1, pvReserved2, phContext))
+
+#define CALL_SCardConnect(hContext, szReader, dwSharedMode, dwPreferredProtocols, phCard, pdwActiveProtocols) \
+ (SCardConnect(hContext, szReader, dwSharedMode, dwPreferredProtocols, phCard, pdwActiveProtocols))
+
+#define CALL_SCardDisconnect(hCard, dwDisposition) \
+ (SCardDisconnect(hCard, dwDisposition))
+
+#define CALL_SCardStatus(hCard, mszReaderNames, pcchReaderLen, pdwState, pdwProtocol, pbAtr, pcbAtrLen) \
+ (SCardStatus(hCard, mszReaderNames, pcchReaderLen, pdwState, pdwProtocol, pbAtr, pcbAtrLen))
+
+#define CALL_SCardGetStatusChange(hContext, dwTimeout, rgReaderStates, cReaders) \
+ (SCardGetStatusChange(hContext, dwTimeout, rgReaderStates, cReaders))
+
+#define CALL_SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, \
+ pioRecvPci, pbRecvBuffer, pcbRecvLength) \
+ (SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, \
+ pioRecvPci, pbRecvBuffer, pcbRecvLength))
+
+#define CALL_SCardListReaders(hContext, mszGroups, mszReaders, pcchReaders) \
+ (SCardListReaders(hContext, mszGroups, mszReaders, pcchReaders))
+
+#define CALL_SCardBeginTransaction(hCard) \
+ (SCardBeginTransaction(hCard))
+
+#define CALL_SCardEndTransaction(hCard, dwDisposition) \
+ (SCardEndTransaction(hCard, dwDisposition))
+
+#define CALL_SCardControl(hCard, dwControlCode, pbSendBuffer, cbSendLength, \
+ pbRecvBuffer, pcbRecvLength, lpBytesReturned) \
+ (SCardControl(hCard, dwControlCode, pbSendBuffer, cbSendLength, \
+ pbRecvBuffer, pcbRecvLength, lpBytesReturned))
+
+#endif

3
systemtap-tapset.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:32ef7d4fb5a28a5baa69f12f5cbaa803e6abc1502352bcc9cd61237cadc8a36a
size 22216

15
zero-ranges.patch Normal file
View 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);