forked from pool/java-21-openjdk
Compare commits
22 Commits
Author | SHA256 | Date | |
---|---|---|---|
e366a32a9a | |||
4452e52b0b | |||
340b480f80 | |||
e98d947f91 | |||
1718500d11 | |||
4069333c02 | |||
a267cf8d73 | |||
f122d788da | |||
2d04ed90fb | |||
e62e47b207 | |||
35af86c975 | |||
919acf57ac | |||
c64b5b4551 | |||
32e28fb3d3 | |||
9eb1ba06a0 | |||
463bdf60c5 | |||
29dedbf7d7 | |||
f7a314ed20 | |||
64c440aadf | |||
daab80bbfd | |||
a902a18218 | |||
e63236f663 |
26
fips.patch
26
fips.patch
@@ -130,7 +130,7 @@
|
|||||||
BASIC_JDKLIB_LIBS_TARGET=""
|
BASIC_JDKLIB_LIBS_TARGET=""
|
||||||
--- a/make/autoconf/spec.gmk.in
|
--- a/make/autoconf/spec.gmk.in
|
||||||
+++ b/make/autoconf/spec.gmk.in
|
+++ b/make/autoconf/spec.gmk.in
|
||||||
@@ -874,6 +874,11 @@ INSTALL_SYSCONFDIR=@sysconfdir@
|
@@ -873,6 +873,11 @@ INSTALL_SYSCONFDIR=@sysconfdir@
|
||||||
# Libraries
|
# Libraries
|
||||||
#
|
#
|
||||||
|
|
||||||
@@ -2015,7 +2015,7 @@
|
|||||||
#
|
#
|
||||||
# Controls compatibility mode for JKS and PKCS12 keystore types.
|
# Controls compatibility mode for JKS and PKCS12 keystore types.
|
||||||
#
|
#
|
||||||
@@ -336,6 +388,13 @@ package.definition=sun.misc.,\
|
@@ -332,6 +384,13 @@ package.definition=sun.misc.,\
|
||||||
#
|
#
|
||||||
security.overridePropertiesFile=true
|
security.overridePropertiesFile=true
|
||||||
|
|
||||||
@@ -2932,7 +2932,7 @@
|
|||||||
private static final String PUBLIC = "public";
|
private static final String PUBLIC = "public";
|
||||||
private static final String PRIVATE = "private";
|
private static final String PRIVATE = "private";
|
||||||
private static final String SECRET = "secret";
|
private static final String SECRET = "secret";
|
||||||
@@ -401,9 +406,10 @@ abstract class P11Key implements Key, Length {
|
@@ -414,9 +419,10 @@ abstract class P11Key implements Key, Length {
|
||||||
new CK_ATTRIBUTE(CKA_EXTRACTABLE),
|
new CK_ATTRIBUTE(CKA_EXTRACTABLE),
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -2945,7 +2945,7 @@
|
|||||||
|
|
||||||
return switch (algorithm) {
|
return switch (algorithm) {
|
||||||
case "RSA" -> P11RSAPrivateKeyInternal.of(session, keyID, algorithm,
|
case "RSA" -> P11RSAPrivateKeyInternal.of(session, keyID, algorithm,
|
||||||
@@ -455,7 +461,8 @@ abstract class P11Key implements Key, Length {
|
@@ -468,7 +474,8 @@ abstract class P11Key implements Key, Length {
|
||||||
|
|
||||||
public String getFormat() {
|
public String getFormat() {
|
||||||
token.ensureValid();
|
token.ensureValid();
|
||||||
@@ -2955,11 +2955,6 @@
|
|||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
return "RAW";
|
return "RAW";
|
||||||
@@ -1625,4 +1632,3 @@ final class SessionKeyRef extends PhantomReference<P11Key> {
|
|
||||||
this.clear();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-
|
|
||||||
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
||||||
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
||||||
@@ -26,6 +26,9 @@
|
@@ -26,6 +26,9 @@
|
||||||
@@ -2970,7 +2965,7 @@
|
|||||||
+import java.lang.invoke.MethodHandles;
|
+import java.lang.invoke.MethodHandles;
|
||||||
+import java.lang.invoke.MethodType;
|
+import java.lang.invoke.MethodType;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import java.security.*;
|
import java.security.*;
|
||||||
@@ -42,10 +45,12 @@ import javax.security.auth.callback.PasswordCallback;
|
@@ -42,10 +45,12 @@ import javax.security.auth.callback.PasswordCallback;
|
||||||
|
|
||||||
@@ -3055,7 +3050,7 @@
|
|||||||
return new SunPKCS11(new Config(newConfigName));
|
return new SunPKCS11(new Config(newConfigName));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -336,9 +397,19 @@ public final class SunPKCS11 extends AuthProvider {
|
@@ -325,9 +386,19 @@ public final class SunPKCS11 extends AuthProvider {
|
||||||
// request multithreaded access first
|
// request multithreaded access first
|
||||||
initArgs.flags = CKF_OS_LOCKING_OK;
|
initArgs.flags = CKF_OS_LOCKING_OK;
|
||||||
PKCS11 tmpPKCS11;
|
PKCS11 tmpPKCS11;
|
||||||
@@ -3077,7 +3072,7 @@
|
|||||||
} catch (PKCS11Exception e) {
|
} catch (PKCS11Exception e) {
|
||||||
if (debug != null) {
|
if (debug != null) {
|
||||||
debug.println("Multi-threaded initialization failed: " + e);
|
debug.println("Multi-threaded initialization failed: " + e);
|
||||||
@@ -353,8 +424,9 @@ public final class SunPKCS11 extends AuthProvider {
|
@@ -342,8 +413,9 @@ public final class SunPKCS11 extends AuthProvider {
|
||||||
} else {
|
} else {
|
||||||
initArgs.flags = 0;
|
initArgs.flags = 0;
|
||||||
}
|
}
|
||||||
@@ -3089,7 +3084,7 @@
|
|||||||
}
|
}
|
||||||
p11 = tmpPKCS11;
|
p11 = tmpPKCS11;
|
||||||
|
|
||||||
@@ -1400,11 +1472,52 @@ public final class SunPKCS11 extends AuthProvider {
|
@@ -1388,11 +1460,52 @@ public final class SunPKCS11 extends AuthProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -3142,7 +3137,7 @@
|
|||||||
try {
|
try {
|
||||||
return newInstance0(param);
|
return newInstance0(param);
|
||||||
} catch (PKCS11Exception e) {
|
} catch (PKCS11Exception e) {
|
||||||
@@ -1761,6 +1874,9 @@ public final class SunPKCS11 extends AuthProvider {
|
@@ -1749,6 +1862,9 @@ public final class SunPKCS11 extends AuthProvider {
|
||||||
try {
|
try {
|
||||||
session = token.getOpSession();
|
session = token.getOpSession();
|
||||||
p11.C_Logout(session.id());
|
p11.C_Logout(session.id());
|
||||||
@@ -3256,7 +3251,7 @@
|
|||||||
}
|
}
|
||||||
if (omitInitialize == false) {
|
if (omitInitialize == false) {
|
||||||
try {
|
try {
|
||||||
@@ -1976,4 +2004,194 @@ static class SynchronizedPKCS11 extends PKCS11 {
|
@@ -2012,4 +2040,194 @@ static class SynchronizedPKCS11 extends PKCS11 {
|
||||||
super.C_GenerateRandom(hSession, randomData);
|
super.C_GenerateRandom(hSession, randomData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4166,3 +4161,4 @@
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package java-21-openjdk
|
# spec file for package java-21-openjdk
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -33,8 +33,8 @@
|
|||||||
# Standard JPackage naming and versioning defines.
|
# Standard JPackage naming and versioning defines.
|
||||||
%global featurever 21
|
%global featurever 21
|
||||||
%global interimver 0
|
%global interimver 0
|
||||||
%global updatever 4
|
%global updatever 8
|
||||||
%global buildver 7
|
%global buildver 9
|
||||||
%global openjdk_repo jdk21u
|
%global openjdk_repo jdk21u
|
||||||
%global openjdk_tag jdk-%{featurever}%{?updatever:.%{interimver}.%{updatever}}%{?patchver:.%{patchver}}+%{buildver}
|
%global openjdk_tag jdk-%{featurever}%{?updatever:.%{interimver}.%{updatever}}%{?patchver:.%{patchver}}+%{buildver}
|
||||||
%global openjdk_dir %{openjdk_repo}-jdk-%{featurever}%{?updatever:.%{interimver}.%{updatever}}%{?patchver:.%{patchver}}-%{buildver}
|
%global openjdk_dir %{openjdk_repo}-jdk-%{featurever}%{?updatever:.%{interimver}.%{updatever}}%{?patchver:.%{patchver}}-%{buildver}
|
||||||
@@ -152,6 +152,7 @@ Patch3: java-atk-wrapper-security.patch
|
|||||||
Patch4: PStack-808293.patch
|
Patch4: PStack-808293.patch
|
||||||
# Allow multiple initialization of PKCS11 libraries
|
# Allow multiple initialization of PKCS11 libraries
|
||||||
Patch5: multiple-pkcs11-library-init.patch
|
Patch5: multiple-pkcs11-library-init.patch
|
||||||
|
Patch7: reproducible-directory-mtime.patch
|
||||||
# Fix instantiation of VM on ZERO
|
# Fix instantiation of VM on ZERO
|
||||||
Patch8: zero-ranges.patch
|
Patch8: zero-ranges.patch
|
||||||
Patch9: reproducible-javadoc-timestamp.patch
|
Patch9: reproducible-javadoc-timestamp.patch
|
||||||
@@ -173,6 +174,8 @@ Patch20: loadAssistiveTechnologies.patch
|
|||||||
Patch200: ppc_stack_overflow_fix.patch
|
Patch200: ppc_stack_overflow_fix.patch
|
||||||
#
|
#
|
||||||
Patch302: disable-doclint-by-default.patch
|
Patch302: disable-doclint-by-default.patch
|
||||||
|
Patch303: java-40y.patch
|
||||||
|
Patch304: jdk-8354941.patch
|
||||||
#
|
#
|
||||||
BuildRequires: alsa-lib-devel
|
BuildRequires: alsa-lib-devel
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
@@ -389,6 +392,7 @@ rm -rvf src/java.desktop/share/native/liblcms/lcms2*
|
|||||||
%patch -P 3 -p1
|
%patch -P 3 -p1
|
||||||
%patch -P 4 -p1
|
%patch -P 4 -p1
|
||||||
%patch -P 5 -p1
|
%patch -P 5 -p1
|
||||||
|
%patch -P 7 -p1
|
||||||
%patch -P 8 -p1
|
%patch -P 8 -p1
|
||||||
%patch -P 9 -p1
|
%patch -P 9 -p1
|
||||||
%patch -P 10 -p1
|
%patch -P 10 -p1
|
||||||
@@ -408,6 +412,8 @@ rm -rvf src/java.desktop/share/native/liblcms/lcms2*
|
|||||||
%patch -P 200 -p1
|
%patch -P 200 -p1
|
||||||
|
|
||||||
%patch -P 302 -p1
|
%patch -P 302 -p1
|
||||||
|
%patch -P 303 -p1
|
||||||
|
%patch -P 304 -p1
|
||||||
|
|
||||||
# Extract systemtap tapsets
|
# Extract systemtap tapsets
|
||||||
|
|
||||||
@@ -465,7 +471,7 @@ bash ../configure \
|
|||||||
--with-version-pre="" \
|
--with-version-pre="" \
|
||||||
%endif
|
%endif
|
||||||
--with-version-build="%{buildver}" \
|
--with-version-build="%{buildver}" \
|
||||||
--with-version-opt="suse-%{release}-%{_arch}" \
|
--with-version-opt="suse-%{suse_version}-%{_arch}" \
|
||||||
%if %{with zero}
|
%if %{with zero}
|
||||||
--with-jvm-variants=zero \
|
--with-jvm-variants=zero \
|
||||||
%else
|
%else
|
||||||
|
13
java-40y.patch
Normal file
13
java-40y.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
--- jdk21u-jdk-21.0.1-12/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
|
||||||
|
+++ jdk21u-jdk-21.0.1-12/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
|
||||||
|
@@ -311,8 +311,8 @@ public class GenerateCurrencyData {
|
||||||
|
checkCurrencyCode(newCurrency);
|
||||||
|
String timeString = currencyInfo.substring(4, length - 4);
|
||||||
|
long time = format.parse(timeString).getTime();
|
||||||
|
- if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) {
|
||||||
|
- throw new RuntimeException("time is more than 10 years from present: " + time);
|
||||||
|
+ if (Math.abs(time - System.currentTimeMillis()) > ((long) 40) * 365 * 24 * 60 * 60 * 1000) {
|
||||||
|
+ throw new RuntimeException("time is more than 40 years from present: " + time);
|
||||||
|
}
|
||||||
|
specialCaseCutOverTimes[specialCaseCount] = time;
|
||||||
|
specialCaseOldCurrencies[specialCaseCount] = oldCurrency;
|
BIN
jdk-21.0.4+7.tar.gz
(Stored with Git LFS)
BIN
jdk-21.0.4+7.tar.gz
(Stored with Git LFS)
Binary file not shown.
BIN
jdk-21.0.8+9.tar.gz
(Stored with Git LFS)
Normal file
BIN
jdk-21.0.8+9.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
194
jdk-8354941.patch
Normal file
194
jdk-8354941.patch
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
From 925929d568ba0f9b8c2710b74c84e3d672ac4e90 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Severin Gehwolf <sgehwolf@openjdk.org>
|
||||||
|
Date: Tue, 13 May 2025 09:59:49 +0000
|
||||||
|
Subject: [PATCH] 8354941: Build failure with glibc 2.42 due to uabs() name
|
||||||
|
collision
|
||||||
|
|
||||||
|
Reviewed-by: kbarrett, thartmann
|
||||||
|
---
|
||||||
|
src/hotspot/cpu/aarch64/assembler_aarch64.cpp | 2 +-
|
||||||
|
src/hotspot/cpu/aarch64/assembler_aarch64.hpp | 2 +-
|
||||||
|
src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp | 2 +-
|
||||||
|
src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp | 4 ++--
|
||||||
|
src/hotspot/cpu/riscv/assembler_riscv.hpp | 2 +-
|
||||||
|
src/hotspot/cpu/riscv/stubGenerator_riscv.cpp | 4 ++--
|
||||||
|
src/hotspot/share/opto/mulnode.cpp | 4 ++--
|
||||||
|
src/hotspot/share/opto/subnode.cpp | 4 ++--
|
||||||
|
src/hotspot/share/utilities/globalDefinitions.hpp | 8 ++++----
|
||||||
|
9 files changed, 16 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/hotspot/cpu/aarch64/assembler_aarch64.cpp b/src/hotspot/cpu/aarch64/assembler_aarch64.cpp
|
||||||
|
index c7b867a4207..fab224847f4 100644
|
||||||
|
--- a/src/hotspot/cpu/aarch64/assembler_aarch64.cpp
|
||||||
|
+++ b/src/hotspot/cpu/aarch64/assembler_aarch64.cpp
|
||||||
|
@@ -461,7 +461,7 @@ void Assembler::bang_stack_with_offset(int offset) { Unimplemented(); }
|
||||||
|
|
||||||
|
bool asm_util::operand_valid_for_immediate_bits(int64_t imm, unsigned nbits) {
|
||||||
|
guarantee(nbits == 8 || nbits == 12, "invalid nbits value");
|
||||||
|
- uint64_t uimm = (uint64_t)uabs((jlong)imm);
|
||||||
|
+ uint64_t uimm = (uint64_t)g_uabs((jlong)imm);
|
||||||
|
if (uimm < (UCONST64(1) << nbits))
|
||||||
|
return true;
|
||||||
|
if (uimm < (UCONST64(1) << (2 * nbits))
|
||||||
|
diff --git a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp
|
||||||
|
index dafb4f5229b..5d3ca441b41 100644
|
||||||
|
--- a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp
|
||||||
|
+++ b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp
|
||||||
|
@@ -930,7 +930,7 @@ public:
|
||||||
|
static const uint64_t branch_range = NOT_DEBUG(128 * M) DEBUG_ONLY(2 * M);
|
||||||
|
|
||||||
|
static bool reachable_from_branch_at(address branch, address target) {
|
||||||
|
- return uabs(target - branch) < branch_range;
|
||||||
|
+ return g_uabs(target - branch) < branch_range;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unconditional branch (immediate)
|
||||||
|
diff --git a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
|
||||||
|
index 0a2dd0dce97..8ec1af1bd7a 100644
|
||||||
|
--- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
|
||||||
|
+++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
|
||||||
|
@@ -2894,7 +2894,7 @@ void MacroAssembler::wrap_add_sub_imm_insn(Register Rd, Register Rn, uint64_t im
|
||||||
|
if (fits) {
|
||||||
|
(this->*insn1)(Rd, Rn, imm);
|
||||||
|
} else {
|
||||||
|
- if (uabs(imm) < (1 << 24)) {
|
||||||
|
+ if (g_uabs(imm) < (1 << 24)) {
|
||||||
|
(this->*insn1)(Rd, Rn, imm & -(1 << 12));
|
||||||
|
(this->*insn1)(Rd, Rd, imm & ((1 << 12)-1));
|
||||||
|
} else {
|
||||||
|
diff --git a/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp b/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp
|
||||||
|
index b2cc462ff8e..2bfc49d05dd 100644
|
||||||
|
--- a/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp
|
||||||
|
+++ b/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp
|
||||||
|
@@ -1130,7 +1130,7 @@ class StubGenerator: public StubCodeGenerator {
|
||||||
|
|
||||||
|
void copy_memory_small(DecoratorSet decorators, BasicType type, Register s, Register d, Register count, int step) {
|
||||||
|
bool is_backwards = step < 0;
|
||||||
|
- size_t granularity = uabs(step);
|
||||||
|
+ size_t granularity = g_uabs(step);
|
||||||
|
int direction = is_backwards ? -1 : 1;
|
||||||
|
|
||||||
|
Label Lword, Lint, Lshort, Lbyte;
|
||||||
|
@@ -1189,7 +1189,7 @@ class StubGenerator: public StubCodeGenerator {
|
||||||
|
Register s, Register d, Register count, int step) {
|
||||||
|
copy_direction direction = step < 0 ? copy_backwards : copy_forwards;
|
||||||
|
bool is_backwards = step < 0;
|
||||||
|
- unsigned int granularity = uabs(step);
|
||||||
|
+ unsigned int granularity = g_uabs(step);
|
||||||
|
const Register t0 = r3, t1 = r4;
|
||||||
|
|
||||||
|
// <= 80 (or 96 for SIMD) bytes do inline. Direction doesn't matter because we always
|
||||||
|
diff --git a/src/hotspot/cpu/riscv/assembler_riscv.hpp b/src/hotspot/cpu/riscv/assembler_riscv.hpp
|
||||||
|
index 24de7c15fe3..afb661e180d 100644
|
||||||
|
--- a/src/hotspot/cpu/riscv/assembler_riscv.hpp
|
||||||
|
+++ b/src/hotspot/cpu/riscv/assembler_riscv.hpp
|
||||||
|
@@ -2913,7 +2913,7 @@ public:
|
||||||
|
static const unsigned long branch_range = 1 * M;
|
||||||
|
|
||||||
|
static bool reachable_from_branch_at(address branch, address target) {
|
||||||
|
- return uabs(target - branch) < branch_range;
|
||||||
|
+ return g_uabs(target - branch) < branch_range;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Decode the given instruction, checking if it's a 16-bit compressed
|
||||||
|
diff --git a/src/hotspot/cpu/riscv/stubGenerator_riscv.cpp b/src/hotspot/cpu/riscv/stubGenerator_riscv.cpp
|
||||||
|
index 8c5e1c097ef..bc4d2e94414 100644
|
||||||
|
--- a/src/hotspot/cpu/riscv/stubGenerator_riscv.cpp
|
||||||
|
+++ b/src/hotspot/cpu/riscv/stubGenerator_riscv.cpp
|
||||||
|
@@ -917,7 +917,7 @@ class StubGenerator: public StubCodeGenerator {
|
||||||
|
|
||||||
|
void copy_memory_v(Register s, Register d, Register count, int step) {
|
||||||
|
bool is_backward = step < 0;
|
||||||
|
- int granularity = uabs(step);
|
||||||
|
+ int granularity = g_uabs(step);
|
||||||
|
|
||||||
|
const Register src = x30, dst = x31, vl = x14, cnt = x15, tmp1 = x16, tmp2 = x17;
|
||||||
|
assert_different_registers(s, d, cnt, vl, tmp1, tmp2);
|
||||||
|
@@ -973,7 +973,7 @@ class StubGenerator: public StubCodeGenerator {
|
||||||
|
}
|
||||||
|
|
||||||
|
bool is_backwards = step < 0;
|
||||||
|
- int granularity = uabs(step);
|
||||||
|
+ int granularity = g_uabs(step);
|
||||||
|
|
||||||
|
const Register src = x30, dst = x31, cnt = x15, tmp3 = x16, tmp4 = x17, tmp5 = x14, tmp6 = x13;
|
||||||
|
const Register gct1 = x28, gct2 = x29, gct3 = t2;
|
||||||
|
diff --git a/src/hotspot/share/opto/mulnode.cpp b/src/hotspot/share/opto/mulnode.cpp
|
||||||
|
index f42d06a3650..43d842173dd 100644
|
||||||
|
--- a/src/hotspot/share/opto/mulnode.cpp
|
||||||
|
+++ b/src/hotspot/share/opto/mulnode.cpp
|
||||||
|
@@ -245,7 +245,7 @@ Node *MulINode::Ideal(PhaseGVN *phase, bool can_reshape) {
|
||||||
|
// Check for negative constant; if so negate the final result
|
||||||
|
bool sign_flip = false;
|
||||||
|
|
||||||
|
- unsigned int abs_con = uabs(con);
|
||||||
|
+ unsigned int abs_con = g_uabs(con);
|
||||||
|
if (abs_con != (unsigned int)con) {
|
||||||
|
sign_flip = true;
|
||||||
|
}
|
||||||
|
@@ -480,7 +480,7 @@ Node *MulLNode::Ideal(PhaseGVN *phase, bool can_reshape) {
|
||||||
|
|
||||||
|
// Check for negative constant; if so negate the final result
|
||||||
|
bool sign_flip = false;
|
||||||
|
- julong abs_con = uabs(con);
|
||||||
|
+ julong abs_con = g_uabs(con);
|
||||||
|
if (abs_con != (julong)con) {
|
||||||
|
sign_flip = true;
|
||||||
|
}
|
||||||
|
diff --git a/src/hotspot/share/opto/subnode.cpp b/src/hotspot/share/opto/subnode.cpp
|
||||||
|
index 8b2538f8ab5..c4a86d76506 100644
|
||||||
|
--- a/src/hotspot/share/opto/subnode.cpp
|
||||||
|
+++ b/src/hotspot/share/opto/subnode.cpp
|
||||||
|
@@ -1899,14 +1899,14 @@ const Type* AbsNode::Value(PhaseGVN* phase) const {
|
||||||
|
case Type::Int: {
|
||||||
|
const TypeInt* ti = t1->is_int();
|
||||||
|
if (ti->is_con()) {
|
||||||
|
- return TypeInt::make(uabs(ti->get_con()));
|
||||||
|
+ return TypeInt::make(g_uabs(ti->get_con()));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case Type::Long: {
|
||||||
|
const TypeLong* tl = t1->is_long();
|
||||||
|
if (tl->is_con()) {
|
||||||
|
- return TypeLong::make(uabs(tl->get_con()));
|
||||||
|
+ return TypeLong::make(g_uabs(tl->get_con()));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
diff --git a/src/hotspot/share/utilities/globalDefinitions.hpp b/src/hotspot/share/utilities/globalDefinitions.hpp
|
||||||
|
index 0083442be6c..625fdcc414f 100644
|
||||||
|
--- a/src/hotspot/share/utilities/globalDefinitions.hpp
|
||||||
|
+++ b/src/hotspot/share/utilities/globalDefinitions.hpp
|
||||||
|
@@ -1164,7 +1164,7 @@ inline bool is_even(intx x) { return !is_odd(x); }
|
||||||
|
|
||||||
|
// abs methods which cannot overflow and so are well-defined across
|
||||||
|
// the entire domain of integer types.
|
||||||
|
-static inline unsigned int uabs(unsigned int n) {
|
||||||
|
+static inline unsigned int g_uabs(unsigned int n) {
|
||||||
|
union {
|
||||||
|
unsigned int result;
|
||||||
|
int value;
|
||||||
|
@@ -1173,7 +1173,7 @@ static inline unsigned int uabs(unsigned int n) {
|
||||||
|
if (value < 0) result = 0-result;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
-static inline julong uabs(julong n) {
|
||||||
|
+static inline julong g_uabs(julong n) {
|
||||||
|
union {
|
||||||
|
julong result;
|
||||||
|
jlong value;
|
||||||
|
@@ -1182,8 +1182,8 @@ static inline julong uabs(julong n) {
|
||||||
|
if (value < 0) result = 0-result;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
-static inline julong uabs(jlong n) { return uabs((julong)n); }
|
||||||
|
-static inline unsigned int uabs(int n) { return uabs((unsigned int)n); }
|
||||||
|
+static inline julong g_uabs(jlong n) { return g_uabs((julong)n); }
|
||||||
|
+static inline unsigned int g_uabs(int n) { return g_uabs((unsigned int)n); }
|
||||||
|
|
||||||
|
// "to" should be greater than "from."
|
||||||
|
inline intx byte_size(void* from, void* to) {
|
||||||
|
--
|
||||||
|
2.50.1
|
||||||
|
|
17
reproducible-directory-mtime.patch
Normal file
17
reproducible-directory-mtime.patch
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
diff --git a/src/java.base/share/classes/java/io/File.java b/src/java.base/share/classes/java/io/File.java
|
||||||
|
index 652f28074cc..63a6c2f2831 100644
|
||||||
|
--- a/src/java.base/share/classes/java/io/File.java
|
||||||
|
+++ b/src/java.base/share/classes/java/io/File.java
|
||||||
|
@@ -1378,7 +1378,11 @@ public class File
|
||||||
|
if (isInvalid()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
- return FS.createDirectory(this);
|
||||||
|
+ boolean result = FS.createDirectory(this);
|
||||||
|
+ if ( result && System.getenv("SOURCE_DATE_EPOCH") != null ) {
|
||||||
|
+ FS.setLastModifiedTime(this, 1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH")));
|
||||||
|
+ }
|
||||||
|
+ return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
Reference in New Issue
Block a user