!361 I5TI03:openjdk-1.8.0 build failed on openEuler22.03-LTS-Next

From: @kuenking111 
Reviewed-by: @jvmboy 
Signed-off-by: @jvmboy
This commit is contained in:
openeuler-ci-bot 2022-09-28 02:51:34 +00:00 committed by Gitee
commit aab135b013
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
32 changed files with 24731 additions and 1644 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,170 @@
From c97998519552b7d8287125e46a3db2f29293784f Mon Sep 17 00:00:00 2001
From: xiezhaokun <xiezhaokun@huawei.com>
Date: Wed, 8 Jun 2022 10:32:52 +0800
Subject: [PATCH 08/10] 8067941: [TESTBUG] Fix tests for OS with 64K page size
---
hotspot/src/share/vm/memory/metaspace.cpp | 8 +++++---
hotspot/test/compiler/6865265/StackOverflowBug.java | 2 +-
hotspot/test/compiler/8009761/Test8009761.java | 2 +-
.../exceptions/TestRecursiveReplacedException.java | 2 +-
.../compiler/uncommontrap/StackOverflowGuardPagesOff.java | 2 +-
.../compiler/uncommontrap/TestStackBangMonitorOwned.java | 2 +-
hotspot/test/compiler/uncommontrap/TestStackBangRbp.java | 2 +-
hotspot/test/gc/arguments/TestMaxHeapSizeTools.java | 2 +-
hotspot/test/gc/g1/TestHumongousAllocInitialMark.java | 4 +++-
9 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/hotspot/src/share/vm/memory/metaspace.cpp b/hotspot/src/share/vm/memory/metaspace.cpp
index 600bcfd1..2912f41b 100644
--- a/hotspot/src/share/vm/memory/metaspace.cpp
+++ b/hotspot/src/share/vm/memory/metaspace.cpp
@@ -3937,11 +3937,13 @@ class TestVirtualSpaceNodeTest {
assert(cm.sum_free_chunks() == 2*MediumChunk, "sizes should add up");
}
- { // 4 pages of VSN is committed, some is used by chunks
+ const size_t page_chunks = 4 * (size_t)os::vm_page_size() / BytesPerWord;
+ // This doesn't work for systems with vm_page_size >= 16K.
+ if (page_chunks < MediumChunk) {
+ // 4 pages of VSN is committed, some is used by chunks
ChunkManager cm(SpecializedChunk, SmallChunk, MediumChunk);
VirtualSpaceNode vsn(vsn_test_size_bytes);
- const size_t page_chunks = 4 * (size_t)os::vm_page_size() / BytesPerWord;
- assert(page_chunks < MediumChunk, "Test expects medium chunks to be at least 4*page_size");
+
vsn.initialize();
vsn.expand_by(page_chunks, page_chunks);
vsn.get_chunk_vs(SmallChunk);
diff --git a/hotspot/test/compiler/6865265/StackOverflowBug.java b/hotspot/test/compiler/6865265/StackOverflowBug.java
index 295a6b41..c5d0f3b6 100644
--- a/hotspot/test/compiler/6865265/StackOverflowBug.java
+++ b/hotspot/test/compiler/6865265/StackOverflowBug.java
@@ -28,7 +28,7 @@
* @summary JVM crashes with "missing exception handler" error
* @author volker.simonis@sap.com
*
- * @run main/othervm -XX:CompileThreshold=100 -Xbatch -Xss248k StackOverflowBug
+ * @run main/othervm -XX:CompileThreshold=100 -Xbatch -Xss512k StackOverflowBug
*/
diff --git a/hotspot/test/compiler/8009761/Test8009761.java b/hotspot/test/compiler/8009761/Test8009761.java
index 401458b6..b41f49fd 100644
--- a/hotspot/test/compiler/8009761/Test8009761.java
+++ b/hotspot/test/compiler/8009761/Test8009761.java
@@ -25,7 +25,7 @@
* @test
* @bug 8009761
* @summary Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates
- * @run main/othervm -XX:CompileCommand=exclude,Test8009761::m2 -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -Xss256K Test8009761
+ * @run main/othervm -XX:CompileCommand=exclude,Test8009761::m2 -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -Xss512K Test8009761
*
*/
diff --git a/hotspot/test/compiler/exceptions/TestRecursiveReplacedException.java b/hotspot/test/compiler/exceptions/TestRecursiveReplacedException.java
index 996d82a0..950ed18c 100644
--- a/hotspot/test/compiler/exceptions/TestRecursiveReplacedException.java
+++ b/hotspot/test/compiler/exceptions/TestRecursiveReplacedException.java
@@ -25,7 +25,7 @@
* @test
* @bug 8054224
* @summary Recursive method compiled by C1 is unable to catch StackOverflowError
- * @run main/othervm -Xcomp -XX:CompileOnly=Test.run -XX:+TieredCompilation -XX:TieredStopAtLevel=2 -Xss256K TestRecursiveReplacedException
+ * @run main/othervm -Xcomp -XX:CompileOnly=Test.run -XX:+TieredCompilation -XX:TieredStopAtLevel=2 -Xss512K TestRecursiveReplacedException
*
*/
diff --git a/hotspot/test/compiler/uncommontrap/StackOverflowGuardPagesOff.java b/hotspot/test/compiler/uncommontrap/StackOverflowGuardPagesOff.java
index 4ad409bb..835283c0 100644
--- a/hotspot/test/compiler/uncommontrap/StackOverflowGuardPagesOff.java
+++ b/hotspot/test/compiler/uncommontrap/StackOverflowGuardPagesOff.java
@@ -25,7 +25,7 @@
* @test
* @bug 8029383
* @summary stack overflow if callee is marked for deoptimization causes crash
- * @run main/othervm -XX:TieredStopAtLevel=1 -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,StackOverflowGuardPagesOff::m1 -XX:CompileCommand=exclude,StackOverflowGuardPagesOff::m2 -Xss256K -XX:-UseOnStackReplacement StackOverflowGuardPagesOff
+ * @run main/othervm -XX:TieredStopAtLevel=1 -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,StackOverflowGuardPagesOff::m1 -XX:CompileCommand=exclude,StackOverflowGuardPagesOff::m2 -Xss512K -XX:-UseOnStackReplacement StackOverflowGuardPagesOff
*
*/
diff --git a/hotspot/test/compiler/uncommontrap/TestStackBangMonitorOwned.java b/hotspot/test/compiler/uncommontrap/TestStackBangMonitorOwned.java
index 3d93d7d5..c07a995d 100644
--- a/hotspot/test/compiler/uncommontrap/TestStackBangMonitorOwned.java
+++ b/hotspot/test/compiler/uncommontrap/TestStackBangMonitorOwned.java
@@ -25,7 +25,7 @@
* @test
* @bug 8032410
* @summary Stack overflow at deoptimization doesn't release owned monitors
- * @run main/othervm -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,TestStackBangMonitorOwned::m1 -XX:CompileCommand=exclude,TestStackBangMonitorOwned::m2 -Xss256K -XX:-UseOnStackReplacement TestStackBangMonitorOwned
+ * @run main/othervm -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,TestStackBangMonitorOwned::m1 -XX:CompileCommand=exclude,TestStackBangMonitorOwned::m2 -Xss512K -XX:-UseOnStackReplacement TestStackBangMonitorOwned
*
*/
public class TestStackBangMonitorOwned {
diff --git a/hotspot/test/compiler/uncommontrap/TestStackBangRbp.java b/hotspot/test/compiler/uncommontrap/TestStackBangRbp.java
index 38d4e206..9b96951a 100644
--- a/hotspot/test/compiler/uncommontrap/TestStackBangRbp.java
+++ b/hotspot/test/compiler/uncommontrap/TestStackBangRbp.java
@@ -25,7 +25,7 @@
* @test
* @bug 8028308
* @summary rbp not restored when stack overflow is thrown from deopt/uncommon trap blobs
- * @run main/othervm -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,TestStackBangRbp::m1 -XX:CompileCommand=exclude,TestStackBangRbp::m2 -Xss256K -XX:-UseOnStackReplacement TestStackBangRbp
+ * @run main/othervm -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,TestStackBangRbp::m1 -XX:CompileCommand=exclude,TestStackBangRbp::m2 -Xss512K -XX:-UseOnStackReplacement TestStackBangRbp
*
*/
public class TestStackBangRbp {
diff --git a/hotspot/test/gc/arguments/TestMaxHeapSizeTools.java b/hotspot/test/gc/arguments/TestMaxHeapSizeTools.java
index b5859b5c..99ed508d 100644
--- a/hotspot/test/gc/arguments/TestMaxHeapSizeTools.java
+++ b/hotspot/test/gc/arguments/TestMaxHeapSizeTools.java
@@ -112,7 +112,7 @@ class TestMaxHeapSizeTools {
}
private static void checkInvalidMinInitialHeapCombinations(String gcflag) throws Exception {
- expectError(new String[] { gcflag, "-Xms8M", "-XX:InitialHeapSize=4M", "-version" });
+ expectError(new String[] { gcflag, "-Xms64M", "-XX:InitialHeapSize=32M", "-version" });
}
private static void checkValidMinInitialHeapCombinations(String gcflag) throws Exception {
diff --git a/hotspot/test/gc/g1/TestHumongousAllocInitialMark.java b/hotspot/test/gc/g1/TestHumongousAllocInitialMark.java
index 473ce666..b6e5c3d6 100644
--- a/hotspot/test/gc/g1/TestHumongousAllocInitialMark.java
+++ b/hotspot/test/gc/g1/TestHumongousAllocInitialMark.java
@@ -31,7 +31,9 @@
import com.oracle.java.testlibrary.*;
public class TestHumongousAllocInitialMark {
- private static final int heapSize = 200; // MB
+ // Heap sizes < 224 MB are increased to 224 MB if vm_page_size == 64K to
+ // fulfill alignment constraints.
+ private static final int heapSize = 224; // MB
private static final int heapRegionSize = 1; // MB
private static final int initiatingHeapOccupancyPercent = 50; // %
diff --git a/hotspot/test/runtime/6929067/invoke.c b/hotspot/test/runtime/6929067/invoke.c
index 8dde2cd6..cf8014be 100644
--- a/hotspot/test/runtime/6929067/invoke.c
+++ b/hotspot/test/runtime/6929067/invoke.c
@@ -68,7 +68,7 @@ floobydust (void *p)
int
main (int argc, const char** argv)
{
- options[0].optionString = "-Xss320k";
+ options[0].optionString = "-Xss512k";
vm_args.version = JNI_VERSION_1_2;
vm_args.ignoreUnrecognized = JNI_TRUE;
diff --git a/hotspot/test/runtime/InitialThreadOverflow/invoke.cxx b/hotspot/test/runtime/InitialThreadOverflow/invoke.cxx
index 55213c0f..2bca88f1 100644
--- a/hotspot/test/runtime/InitialThreadOverflow/invoke.cxx
+++ b/hotspot/test/runtime/InitialThreadOverflow/invoke.cxx
@@ -48,7 +48,7 @@ floobydust (void *p) {
int
main (int argc, const char** argv) {
JavaVMOption options[1];
- options[0].optionString = (char*) "-Xss320k";
+ options[0].optionString = (char*) "-Xss512k";
JavaVMInitArgs vm_args;
vm_args.version = JNI_VERSION_1_2;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,114 @@
From 717ae5f43045b1e2d6f95c52fbd81c54ebf50977 Mon Sep 17 00:00:00 2001
Date: Fri, 16 Sep 2022 01:12:20 +0000
Subject: 8159720: Failure of C2 compilation with tiered prevents some
C1 compilations.
---
hotspot/src/share/vm/opto/compile.cpp | 2 +-
hotspot/src/share/vm/opto/compile.hpp | 10 +++-------
hotspot/src/share/vm/opto/matcher.cpp | 8 ++++----
hotspot/src/share/vm/opto/parse1.cpp | 4 ++--
4 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/hotspot/src/share/vm/opto/compile.cpp b/hotspot/src/share/vm/opto/compile.cpp
index 5a42422e1..4a32e8a9f 100644
--- a/hotspot/src/share/vm/opto/compile.cpp
+++ b/hotspot/src/share/vm/opto/compile.cpp
@@ -791,7 +791,7 @@ Compile::Compile( ciEnv* ci_env, C2Compiler* compiler, ciMethod* target, int osr
}
if (failing()) return;
if (cg == NULL) {
- record_method_not_compilable_all_tiers("cannot parse method");
+ record_method_not_compilable("cannot parse method");
return;
}
JVMState* jvms = build_start_state(start(), tf());
diff --git a/hotspot/src/share/vm/opto/compile.hpp b/hotspot/src/share/vm/opto/compile.hpp
index 1150fd549..fb12b6874 100644
--- a/hotspot/src/share/vm/opto/compile.hpp
+++ b/hotspot/src/share/vm/opto/compile.hpp
@@ -742,16 +742,12 @@ class Compile : public Phase {
bool failure_reason_is(const char* r) { return (r==_failure_reason) || (r!=NULL && _failure_reason!=NULL && strcmp(r, _failure_reason)==0); }
void record_failure(const char* reason);
- void record_method_not_compilable(const char* reason, bool all_tiers = false) {
- // All bailouts cover "all_tiers" when TieredCompilation is off.
- if (!TieredCompilation) all_tiers = true;
- env()->record_method_not_compilable(reason, all_tiers);
+ void record_method_not_compilable(const char* reason) {
+ // Bailouts cover "all_tiers" when TieredCompilation is off.
+ env()->record_method_not_compilable(reason, !TieredCompilation);
// Record failure reason.
record_failure(reason);
}
- void record_method_not_compilable_all_tiers(const char* reason) {
- record_method_not_compilable(reason, true);
- }
bool check_node_count(uint margin, const char* reason) {
if (live_nodes() + margin > max_node_limit()) {
record_method_not_compilable(reason);
diff --git a/hotspot/src/share/vm/opto/matcher.cpp b/hotspot/src/share/vm/opto/matcher.cpp
index 07b8ee4c6..b26015ce6 100644
--- a/hotspot/src/share/vm/opto/matcher.cpp
+++ b/hotspot/src/share/vm/opto/matcher.cpp
@@ -137,7 +137,7 @@ OptoReg::Name Matcher::warp_incoming_stk_arg( VMReg reg ) {
_in_arg_limit = OptoReg::add(warped, 1); // Bump max stack slot seen
if (!RegMask::can_represent_arg(warped)) {
// the compiler cannot represent this method's calling sequence
- C->record_method_not_compilable_all_tiers("unsupported incoming calling sequence");
+ C->record_method_not_compilable("unsupported incoming calling sequence");
return OptoReg::Bad;
}
return warped;
@@ -1148,7 +1148,7 @@ OptoReg::Name Matcher::warp_outgoing_stk_arg( VMReg reg, OptoReg::Name begin_out
if( warped >= out_arg_limit_per_call )
out_arg_limit_per_call = OptoReg::add(warped,1);
if (!RegMask::can_represent_arg(warped)) {
- C->record_method_not_compilable_all_tiers("unsupported calling sequence");
+ C->record_method_not_compilable("unsupported calling sequence");
return OptoReg::Bad;
}
return warped;
@@ -1327,7 +1327,7 @@ MachNode *Matcher::match_sfpt( SafePointNode *sfpt ) {
uint r_cnt = mcall->tf()->range()->cnt();
MachProjNode *proj = new (C) MachProjNode( mcall, r_cnt+10000, RegMask::Empty, MachProjNode::fat_proj );
if (!RegMask::can_represent_arg(OptoReg::Name(out_arg_limit_per_call-1))) {
- C->record_method_not_compilable_all_tiers("unsupported outgoing calling sequence");
+ C->record_method_not_compilable("unsupported outgoing calling sequence");
} else {
for (int i = begin_out_arg_area; i < out_arg_limit_per_call; i++)
proj->_rout.Insert(OptoReg::Name(i));
@@ -1515,7 +1515,7 @@ Node *Matcher::Label_Root( const Node *n, State *svec, Node *control, const Node
// out of stack space. See bugs 6272980 & 6227033 for more info.
LabelRootDepth++;
if (LabelRootDepth > MaxLabelRootDepth) {
- C->record_method_not_compilable_all_tiers("Out of stack space, increase MaxLabelRootDepth");
+ C->record_method_not_compilable("Out of stack space, increase MaxLabelRootDepth");
return NULL;
}
uint care = 0; // Edges matcher cares about
diff --git a/hotspot/src/share/vm/opto/parse1.cpp b/hotspot/src/share/vm/opto/parse1.cpp
index a9ef4f910..4fcd58cb4 100644
--- a/hotspot/src/share/vm/opto/parse1.cpp
+++ b/hotspot/src/share/vm/opto/parse1.cpp
@@ -415,7 +415,7 @@ Parse::Parse(JVMState* caller, ciMethod* parse_method, float expected_uses)
_iter.reset_to_method(method());
_flow = method()->get_flow_analysis();
if (_flow->failing()) {
- C->record_method_not_compilable_all_tiers(_flow->failure_reason());
+ C->record_method_not_compilable(_flow->failure_reason());
}
#ifndef PRODUCT
@@ -1088,7 +1088,7 @@ SafePointNode* Parse::create_entry_map() {
// Check for really stupid bail-out cases.
uint len = TypeFunc::Parms + method()->max_locals() + method()->max_stack();
if (len >= 32760) {
- C->record_method_not_compilable_all_tiers("too many local variables");
+ C->record_method_not_compilable("too many local variables");
return NULL;
}
--
2.18.0.huawei.25

View File

@ -1,85 +0,0 @@
From 72853c670c97aae4eab64a5e9edb3c7176beaf6a Mon Sep 17 00:00:00 2001
Date: Fri, 22 Jan 2021 16:36:41 +0800
Subject: 8168926: C2: Bytecode escape analyzer crashes due to
stack overflow
Summary: <C2>:8168926: C2: Bytecode escape analyzer crashes due to stack overflow
LLT: N/A
Bug url: https://bugs.openjdk.java.net/browse/JDK-8168926
---
hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp | 30 ++++++++++++++++++--
hotspot/src/share/vm/ci/ciMethod.hpp | 12 +++++---
2 files changed, 35 insertions(+), 7 deletions(-)
diff --git a/hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp b/hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp
index 2b9e0e514..34bdbe94d 100644
--- a/hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp
+++ b/hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp
@@ -894,9 +894,33 @@ void BCEscapeAnalyzer::iterate_one_block(ciBlock *blk, StateInfo &state, Growabl
ciMethod* target = s.get_method(ignored_will_link, &declared_signature);
ciKlass* holder = s.get_declared_method_holder();
assert(declared_signature != NULL, "cannot be null");
- // Push appendix argument, if one.
- if (s.has_appendix()) {
- state.apush(unknown_obj);
+ // If the current bytecode has an attached appendix argument,
+ // push an unknown object to represent that argument. (Analysis
+ // of dynamic call sites, especially invokehandle calls, needs
+ // the appendix argument on the stack, in addition to "regular" arguments
+ // pushed onto the stack by bytecode instructions preceding the call.)
+ //
+ // The escape analyzer does _not_ use the ciBytecodeStream::has_appendix(s)
+ // method to determine whether the current bytecode has an appendix argument.
+ // The has_appendix() method obtains the appendix from the
+ // ConstantPoolCacheEntry::_f1 field, which can happen concurrently with
+ // resolution of dynamic call sites. Callees in the
+ // ciBytecodeStream::get_method() call above also access the _f1 field;
+ // interleaving the get_method() and has_appendix() calls in the current
+ // method with call site resolution can lead to an inconsistent view of
+ // the current method's argument count. In particular, some interleaving(s)
+ // can cause the method's argument count to not include the appendix, which
+ // then leads to stack over-/underflow in the escape analyzer.
+ //
+ // Instead of pushing the argument if has_appendix() is true, the escape analyzer
+ // pushes an appendix for all call sites targeted by invokedynamic and invokehandle
+ // instructions, except if the call site is the _invokeBasic intrinsic
+ // (that intrinsic is always targeted by an invokehandle instruction but does
+ // not have an appendix argument).
+ if (target->is_loaded() &&
+ Bytecodes::has_optional_appendix(s.cur_bc_raw()) &&
+ target->intrinsic_id() != vmIntrinsics::_invokeBasic) {
+ state.apush(unknown_obj);
}
// Pass in raw bytecode because we need to see invokehandle instructions.
invoke(state, s.cur_bc_raw(), target, holder);
diff --git a/hotspot/src/share/vm/ci/ciMethod.hpp b/hotspot/src/share/vm/ci/ciMethod.hpp
index 307452422..99d8dbe67 100644
--- a/hotspot/src/share/vm/ci/ciMethod.hpp
+++ b/hotspot/src/share/vm/ci/ciMethod.hpp
@@ -133,15 +133,19 @@ class ciMethod : public ciMetadata {
check_is_loaded();
return _signature->size() + (_flags.is_static() ? 0 : 1);
}
- // Report the number of elements on stack when invoking this method.
- // This is different than the regular arg_size because invokedynamic
- // has an implicit receiver.
+ // Report the number of elements on stack when invoking the current method.
+ // If the method is loaded, arg_size() gives precise information about the
+ // number of stack elements (using the method's signature and its flags).
+ // However, if the method is not loaded, the number of stack elements must
+ // be determined differently, as the method's flags are not yet available.
+ // The invoke_arg_size() method assumes in that case that all bytecodes except
+ // invokestatic and invokedynamic have a receiver that is also pushed onto the
+ // stack by the caller of the current method.
int invoke_arg_size(Bytecodes::Code code) const {
if (is_loaded()) {
return arg_size();
} else {
int arg_size = _signature->size();
- // Add a receiver argument, maybe:
if (code != Bytecodes::_invokestatic &&
code != Bytecodes::_invokedynamic) {
arg_size++;
--
2.19.0

View File

@ -0,0 +1,29 @@
From 85a351276984f56d817560db8b5b837254ec2994 Mon Sep 17 00:00:00 2001
From: zhangyipeng <zhangyipeng7@huawei.com>
Date: Tue, 7 Jun 2022 20:10:03 +0800
Subject: [PATCH 05/10] 8173339: AArch64: Fix minimum stack size computations
Bug url: https://bugs.openjdk.java.net/browse/JDK-8173339
---
hotspot/src/cpu/aarch64/vm/globals_aarch64.hpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/hotspot/src/cpu/aarch64/vm/globals_aarch64.hpp b/hotspot/src/cpu/aarch64/vm/globals_aarch64.hpp
index 6610cc4fb..7c6b24879 100644
--- a/hotspot/src/cpu/aarch64/vm/globals_aarch64.hpp
+++ b/hotspot/src/cpu/aarch64/vm/globals_aarch64.hpp
@@ -56,7 +56,10 @@ define_pd_global(intx, InlineFrequencyCount, 100);
define_pd_global(intx, StackYellowPages, 2);
define_pd_global(intx, StackRedPages, 1);
-define_pd_global(intx, StackShadowPages, 4 DEBUG_ONLY(+5));
+// Java_java_net_SocketOutputStream_socketWrite0() uses a 64k buffer on the
+// stack if compiled for unix and LP64. To pass stack overflow tests we need
+// 20 shadow pages.
+define_pd_global(intx, StackShadowPages, 20 DEBUG_ONLY(+5));
define_pd_global(intx, PreInflateSpin, 10);
--
2.22.0

View File

@ -1,156 +0,0 @@
From 5547d1f77577ad8514136255eed16921e4d02845 Mon Sep 17 00:00:00 2001
Date: Fri, 22 Jan 2021 15:23:47 +0800
Subject: 8194154: System property user.dir should not be changed
Summary: <io>: System property user.dir should not be changed
LLT: jdk/test/java/io/File/UserDirChangedTest.java
Bug url: https://bugs.openjdk.java.net/browse/JDK-8194154
---
.../classes/java/io/UnixFileSystem.java | 11 +++-
.../classes/java/io/WinNTFileSystem.java | 11 +++-
jdk/test/java/io/File/UserDirChangedTest.java | 51 +++++++++++++++++++
3 files changed, 69 insertions(+), 4 deletions(-)
create mode 100644 jdk/test/java/io/File/UserDirChangedTest.java
diff --git a/jdk/src/solaris/classes/java/io/UnixFileSystem.java b/jdk/src/solaris/classes/java/io/UnixFileSystem.java
index fb0fef636..a6ef2d3a6 100644
--- a/jdk/src/solaris/classes/java/io/UnixFileSystem.java
+++ b/jdk/src/solaris/classes/java/io/UnixFileSystem.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2022, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,7 @@ class UnixFileSystem extends FileSystem {
private final char slash;
private final char colon;
private final String javaHome;
+ private final String userDir;
public UnixFileSystem() {
slash = AccessController.doPrivileged(
@@ -42,6 +43,8 @@ class UnixFileSystem extends FileSystem {
new GetPropertyAction("path.separator")).charAt(0);
javaHome = AccessController.doPrivileged(
new GetPropertyAction("java.home"));
+ userDir = AccessController.doPrivileged(
+ new GetPropertyAction("user.dir"));
}
@@ -130,7 +133,11 @@ class UnixFileSystem extends FileSystem {
public String resolve(File f) {
if (isAbsolute(f)) return f.getPath();
- return resolve(System.getProperty("user.dir"), f.getPath());
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null) {
+ sm.checkPropertyAccess("user.dir");
+ }
+ return resolve(userDir, f.getPath());
}
// Caches for canonicalization results to improve startup performance.
diff --git a/jdk/src/windows/classes/java/io/WinNTFileSystem.java b/jdk/src/windows/classes/java/io/WinNTFileSystem.java
index caa47f80c..1844a662a 100644
--- a/jdk/src/windows/classes/java/io/WinNTFileSystem.java
+++ b/jdk/src/windows/classes/java/io/WinNTFileSystem.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2022, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -40,6 +40,7 @@ class WinNTFileSystem extends FileSystem {
private final char slash;
private final char altSlash;
private final char semicolon;
+ private final String userDir;
// Whether to enable alternative data streams (ADS) by suppressing
// checking the path for invalid characters, in particular ":".
@@ -47,6 +48,8 @@ class WinNTFileSystem extends FileSystem {
semicolon = AccessController.doPrivileged(
new GetPropertyAction("path.separator")).charAt(0);
altSlash = (this.slash == '\\') ? '/' : '\\';
+ userDir = AccessController.doPrivileged(
+ new GetPropertyAction("user.dir"));
}
private boolean isSlash(char c) {
@@ -343,7 +346,11 @@ class WinNTFileSystem extends FileSystem {
private String getUserPath() {
/* For both compatibility and security,
we must look this up every time */
- return normalize(System.getProperty("user.dir"));
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null) {
+ sm.checkPropertyAccess("user.dir");
+ }
+ return normalize(userDir);
}
private String getDrive(String path) {
diff --git a/jdk/test/java/io/File/UserDirChangedTest.java b/jdk/test/java/io/File/UserDirChangedTest.java
new file mode 100644
index 000000000..9eccb768e
--- /dev/null
+++ b/jdk/test/java/io/File/UserDirChangedTest.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * 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 8194154
+ @summary Test changing property user.dir on impacting getCanonicalPath
+ @run main/othervm UserDirChangedTest
+ */
+
+import java.io.File;
+
+public class UserDirChangedTest {
+ public static void main(String[] args) throws Exception {
+ String keyUserDir = "user.dir";
+ String userDirNew = "/home/a/b/c/";
+ String fileName = "./a";
+
+ String userDir = System.getProperty(keyUserDir);
+ File file = new File(fileName);
+ String canFilePath = file.getCanonicalPath();
+
+ // now reset user.dir, this will cause crash on linux without bug 8194154 fixed.
+ System.setProperty(keyUserDir, userDirNew);
+ String newCanFilePath = file.getCanonicalPath();
+ System.out.format("%24s %48s%n", "Canonical Path = ", canFilePath);
+ System.out.format("%24s %48s%n", "new Canonical Path = ", newCanFilePath);
+ if (!canFilePath.equals(newCanFilePath)) {
+ throw new RuntimeException("Changing property user.dir should have no effect on getCanonicalPath");
+ }
+ }
+}
--
2.19.0

View File

@ -0,0 +1,68 @@
From 30883daeac796c877a765cedee52f27f51444203 Mon Sep 17 00:00:00 2001
Date: Thu, 8 Sep 2022 10:22:32 +0800
Subject: 8200332: Improve GCM counting
Bug url: https://bugs.openjdk.org/browse/JDK-8200332
---
.../classes/com/sun/crypto/provider/GCTR.java | 31 ++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/jdk/src/share/classes/com/sun/crypto/provider/GCTR.java b/jdk/src/share/classes/com/sun/crypto/provider/GCTR.java
index 6a394e448..1ab0f63db 100644
--- a/jdk/src/share/classes/com/sun/crypto/provider/GCTR.java
+++ b/jdk/src/share/classes/com/sun/crypto/provider/GCTR.java
@@ -29,6 +29,8 @@
package com.sun.crypto.provider;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
import javax.crypto.IllegalBlockSizeException;
import static com.sun.crypto.provider.AESConstants.AES_BLOCK_SIZE;
@@ -68,6 +70,15 @@ final class GCTR extends CounterMode {
return "GCTR";
}
+ // return the number of blocks until the lower 32 bits roll over
+ private long blocksUntilRollover() {
+ ByteBuffer buf = ByteBuffer.wrap(counter, counter.length - 4, 4);
+ buf.order(ByteOrder.BIG_ENDIAN);
+ long ctr32 = 0xFFFFFFFFL & buf.getInt();
+ long blocksLeft = (1L << 32) - ctr32;
+ return blocksLeft;
+ }
+
// input must be multiples of 128-bit blocks when calling update
int update(byte[] in, int inOfs, int inLen, byte[] out, int outOfs) {
if (inLen - inOfs > in.length) {
@@ -80,7 +91,25 @@ final class GCTR extends CounterMode {
throw new RuntimeException("output buffer too small");
}
- return encrypt(in, inOfs, inLen, out, outOfs);
+ long blocksLeft = blocksUntilRollover();
+ int numOfCompleteBlocks = inLen / AES_BLOCK_SIZE;
+ if (numOfCompleteBlocks >= blocksLeft) {
+ // Counter Mode encryption cannot be used because counter will
+ // roll over incorrectly. Use GCM-specific code instead.
+ byte[] encryptedCntr = new byte[AES_BLOCK_SIZE];
+ for (int i = 0; i < numOfCompleteBlocks; i++) {
+ embeddedCipher.encryptBlock(counter, 0, encryptedCntr, 0);
+ for (int n = 0; n < AES_BLOCK_SIZE; n++) {
+ int index = (i * AES_BLOCK_SIZE + n);
+ out[outOfs + index] =
+ (byte) ((in[inOfs + index] ^ encryptedCntr[n]));
+ }
+ GaloisCounterMode.increment32(counter);
+ }
+ return inLen;
+ } else {
+ return encrypt(in, inOfs, inLen, out, outOfs);
+ }
}
// input can be arbitrary size when calling doFinal
--
2.22.0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -3,11 +3,6 @@ From: d30023828 <douyiwang@huawei.com>
Date: Wed, 9 Feb 2022 18:32:05 +0800 Date: Wed, 9 Feb 2022 18:32:05 +0800
Subject: [PATCH 3/8] 8268819: SA: Remove libthread_db dependency on Linux Subject: [PATCH 3/8] 8268819: SA: Remove libthread_db dependency on Linux
DTS/AR: DTS2022020914784
Summary:hotspot:SA: Remove libthread_db dependency on Linux
LLT:NA
Patch Type:backport
Bug url:https://bugs.openjdk.java.net/browse/JDK-8268819
--- ---
.../agent/src/os/linux/LinuxDebuggerLocal.c | 3 +- .../agent/src/os/linux/LinuxDebuggerLocal.c | 3 +-
hotspot/agent/src/os/linux/Makefile | 6 +- hotspot/agent/src/os/linux/Makefile | 6 +-
@ -319,16 +314,9 @@ index 802e5b0bb..a8e0c2a5c 100644
- -
#endif /* _PROC_SERVICE_H_ */ #endif /* _PROC_SERVICE_H_ */
diff --git a/hotspot/agent/src/os/linux/ps_core.c b/hotspot/agent/src/os/linux/ps_core.c diff --git a/hotspot/agent/src/os/linux/ps_core.c b/hotspot/agent/src/os/linux/ps_core.c
index b7fe4c095..6da43f195 100644 index 6fb8c940..5728bcc4 100644
--- a/hotspot/agent/src/os/linux/ps_core.c --- a/hotspot/agent/src/os/linux/ps_core.c
+++ b/hotspot/agent/src/os/linux/ps_core.c +++ b/hotspot/agent/src/os/linux/ps_core.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,7 @@ @@ -31,6 +31,7 @@
#include <elf.h> #include <elf.h>
#include <link.h> #include <link.h>
@ -343,7 +331,7 @@ index b7fe4c095..6da43f195 100644
print_debug("got integer regset for lwp %d\n", prstat->pr_pid); print_debug("got integer regset for lwp %d\n", prstat->pr_pid);
- // we set pthread_t to -1 for core dump - // we set pthread_t to -1 for core dump
- if((newthr = add_thread_info(ph, (pthread_t) -1, prstat->pr_pid)) == NULL) - if((newthr = add_thread_info(ph, (pthread_t) -1, prstat->pr_pid)) == NULL)
+ if((newthr = add_thread_info(ph, prstat->pr_pid)) == NULL) + if((newthr = add_thread_info(ph, prstat->pr_pid)) == NULL)
return false; return false;
// copy regs // copy regs

View File

@ -0,0 +1,237 @@
From d2d3408154beb52370ee8784767375a7cc8d325d Mon Sep 17 00:00:00 2001
Date: Wed, 21 Sep 2022 10:31:17 +0800
Subject: 8287109: Distrust.java failed with CertificateExpiredException
---
.../Symantec/Distrust.java | 26 +++++-
.../Symantec/appleistca2g1-chain.pem | 80 -------------------
.../Symantec/geotrustglobalca-chain.pem | 66 ---------------
3 files changed, 23 insertions(+), 149 deletions(-)
delete mode 100644 jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/appleistca2g1-chain.pem
delete mode 100644 jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/geotrustglobalca-chain.pem
diff --git a/jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/Distrust.java b/jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/Distrust.java
index d394f417..22266255 100644
--- a/jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/Distrust.java
+++ b/jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/Distrust.java
@@ -51,15 +51,14 @@ public class Distrust {
// Each of the roots have a test certificate chain stored in a file
// named "<root>-chain.pem".
private static String[] rootsToTest = new String[] {
- "geotrustglobalca", "geotrustprimarycag2", "geotrustprimarycag3",
+ "geotrustprimarycag2", "geotrustprimarycag3",
"geotrustuniversalca", "thawteprimaryrootca", "thawteprimaryrootcag2",
"thawteprimaryrootcag3", "verisignclass3g3ca", "verisignclass3g4ca",
"verisignclass3g5ca", "verisignuniversalrootca" };
// Each of the subCAs with a delayed distrust date have a test certificate
// chain stored in a file named "<subCA>-chain.pem".
- private static String[] subCAsToTest = new String[] {
- "appleistca2g1", "appleistca8g1" };
+ private static String[] subCAsToTest = new String[] {"appleistca8g1"};
// A date that is after the restrictions take affect
private static final Date APRIL_17_2019 =
@@ -177,6 +176,11 @@ public class Distrust {
throw new Exception("chain should be invalid");
}
} catch (CertificateException ce) {
+ // expired TLS certificates should not be treated as failure
+ if (expired(ce)) {
+ System.err.println("Test is N/A, chain is expired");
+ return;
+ }
if (valid) {
throw new Exception("Unexpected exception, chain " +
"should be valid", ce);
@@ -184,6 +188,7 @@ public class Distrust {
if (ce instanceof ValidatorException) {
ValidatorException ve = (ValidatorException)ce;
if (ve.getErrorType() != ValidatorException.T_UNTRUSTED_CERT) {
+ ce.printStackTrace(System.err);
throw new Exception("Unexpected exception: " + ce);
}
} else {
@@ -192,6 +197,21 @@ public class Distrust {
}
}
+ // check if a cause of exception is an expired cert
+ private static boolean expired(CertificateException ce) {
+ if (ce instanceof CertificateExpiredException) {
+ return true;
+ }
+ Throwable t = ce.getCause();
+ while (t != null) {
+ if (t instanceof CertificateExpiredException) {
+ return true;
+ }
+ t = t.getCause();
+ }
+ return false;
+ }
+
private static X509Certificate[] loadCertificateChain(String name)
throws Exception {
try (InputStream in = new FileInputStream(TEST_SRC + File.separator +
diff --git a/jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/appleistca2g1-chain.pem b/jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/appleistca2g1-chain.pem
deleted file mode 100644
index 0235631d..00000000
--- a/jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/appleistca2g1-chain.pem
+++ /dev/null
@@ -1,80 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIGGzCCBQOgAwIBAgIITJltLCqcD0gwDQYJKoZIhvcNAQELBQAwYjEcMBoGA1UE
-AxMTQXBwbGUgSVNUIENBIDIgLSBHMTEgMB4GA1UECxMXQ2VydGlmaWNhdGlvbiBB
-dXRob3JpdHkxEzARBgNVBAoTCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE5
-MDEwODIxMTcxNFoXDTIwMDgwODIxMjcwMFowgaoxSjBIBgNVBAMMQWFjdGl2ZS5n
-ZW90cnVzdC1nbG9iYWwtY2EudGVzdC1wYWdlcy5jZXJ0aWZpY2F0ZW1hbmFnZXIu
-YXBwbGUuY29tMSUwIwYDVQQLDBxtYW5hZ2VtZW50OmlkbXMuZ3JvdXAuODY0ODU5
-MRMwEQYDVQQKDApBcHBsZSBJbmMuMRMwEQYDVQQIDApDYWxpZm9ybmlhMQswCQYD
-VQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMCjFUrVHTEX
-0aVU6x9LiGa6oVr9blaCsMFrLicPQguc43Vs/pN+g4jzRXsTSMe9XefezBQb6tzZ
-SMRXVB4kWMr4K1BVgQDkXeyoh4KrXRkdEF9ZIJPNxwTmmYUOc5M6NOYwkLelYz+t
-7n1iNIGylbjwU4qwauElk2alFVqYTEPDLzwvqVDb9jMAJ8MPSDjfUlXW0XD9oXZM
-hC+8LU9JBgJ3YBdzRHa4WnrudUbWjspqaNfAYpVIX0cfCJKnMsKqaSKjS4pIRtWm
-L6NlCTCoIMyOh+wmbWPPX24H2D3+ump5FA35fRYbVznmosl5n1AK34S9tD4XZ7lO
-WZKfaFi1liMCAwEAAaOCAoowggKGMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAU
-2HqURHyQcJAWnt0XnAFEA4bWKikwfgYIKwYBBQUHAQEEcjBwMDQGCCsGAQUFBzAC
-hihodHRwOi8vY2VydHMuYXBwbGUuY29tL2FwcGxlaXN0Y2EyZzEuZGVyMDgGCCsG
-AQUFBzABhixodHRwOi8vb2NzcC5hcHBsZS5jb20vb2NzcDAzLWFwcGxlaXN0Y2Ey
-ZzEwMTBMBgNVHREERTBDgkFhY3RpdmUuZ2VvdHJ1c3QtZ2xvYmFsLWNhLnRlc3Qt
-cGFnZXMuY2VydGlmaWNhdGVtYW5hZ2VyLmFwcGxlLmNvbTCB/wYDVR0gBIH3MIH0
-MIHxBgoqhkiG92NkBQsEMIHiMIGkBggrBgEFBQcCAjCBlwyBlFJlbGlhbmNlIG9u
-IHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0YW5j
-ZSBvZiBhbnkgYXBwbGljYWJsZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2Ug
-YW5kL29yIGNlcnRpZmljYXRpb24gcHJhY3RpY2Ugc3RhdGVtZW50cy4wOQYIKwYB
-BQUHAgEWLWh0dHA6Ly93d3cuYXBwbGUuY29tL2NlcnRpZmljYXRlYXV0aG9yaXR5
-L3JwYTAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwNwYDVR0fBDAwLjAs
-oCqgKIYmaHR0cDovL2NybC5hcHBsZS5jb20vYXBwbGVpc3RjYTJnMS5jcmwwHQYD
-VR0OBBYEFP0qkmFJhArI0MsfW0V+/wY9x4GSMA4GA1UdDwEB/wQEAwIFoDANBgkq
-hkiG9w0BAQsFAAOCAQEATjT8M0bIq+mFc8k5cd4KDjCMBjYl/l3/8zKlWYGP+nl1
-KRogXcGRa3LcfpdJcqgMrx8e9Xohduvl8MBzwv671rYkppzZdsmZdLVorAdbL5GL
-suhTjAS5yL3NBWNMRpeOgFsVr7YtPDEvo3CFsnzjg7THe0S6Y35oYukJtUzGUvSY
-kC3ApBTdjj0vAeow+dbt+AHKnQiEnon4ToSFmtnkru08Uxe7uyHCQ2sLUg0EPYc9
-t9I8lviaHfK/mQoCzlme2O/H5Rher8dXCv8hVT1NKbsi28EpgpqcTLS+hn/Edc/q
-4dPDoO1Ozs+ixRzFeMpA+JrnAyARb6qbSrAPBgtIbQ==
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
-MIIEQDCCAyigAwIBAgIDAjp0MA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT
-MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
-YWwgQ0EwHhcNMTQwNjE2MTU0MjAyWhcNMjIwNTIwMTU0MjAyWjBiMRwwGgYDVQQD
-ExNBcHBsZSBJU1QgQ0EgMiAtIEcxMSAwHgYDVQQLExdDZXJ0aWZpY2F0aW9uIEF1
-dGhvcml0eTETMBEGA1UEChMKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwggEiMA0G
-CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDQk6EdR0MgFrILa+vD1bTox5jN896/
-6E3p4zaAB/xFG2p8RYauVtOkCX9hDWtdflJrfbTIOcT0Zzr3g84Zb4YvfkV+Rxxn
-UsqVBV3iNlGFwNRngDVvFd0+/R3S/Y80UNjsdiq+49Pa5P3I6ygClhGXF2Ec6cRZ
-O0LcMtEJHdqm0UOG/16yvIzPZtsBiwKulEjzOI/96jKoCOyGl1GUJD5JSZZT6Hmh
-QIHpBbuTlVH84/18EUv3ngizFUkVB/nRN6CbSzL2tcTcatH8Cu324MUpoKiLcf4N
-krz+VHAYCm3H7Qz7yS0Gw4yF/MuGXNY2jhKLCX/7GRo41fCUMHoPpozzAgMBAAGj
-ggEdMIIBGTAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1luMrMTjAdBgNVHQ4E
-FgQU2HqURHyQcJAWnt0XnAFEA4bWKikwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNV
-HQ8BAf8EBAMCAQYwNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2cuc3ltY2IuY29t
-L2NybHMvZ3RnbG9iYWwuY3JsMC4GCCsGAQUFBwEBBCIwIDAeBggrBgEFBQcwAYYS
-aHR0cDovL2cuc3ltY2QuY29tMEwGA1UdIARFMEMwQQYKYIZIAYb4RQEHNjAzMDEG
-CCsGAQUFBwIBFiVodHRwOi8vd3d3Lmdlb3RydXN0LmNvbS9yZXNvdXJjZXMvY3Bz
-MA0GCSqGSIb3DQEBCwUAA4IBAQAWR3NvhaJi4ecqdruJlUIml7xKrKxwUzo/MYM9
-PByrmuKxXRx2GqA8DHJXvtOeUODImdZY1wLqzg0pVHzN9cLGkClVo28UqAtCDTqY
-bQZ4nvBqox0CCqIopI3CgUY+bWfa3j/+hQ5CKhLetbf7uBunlux3n+zUU5V6/wf0
-8goUwFFSsdaOUAsamVy8C8m97e34XsFW201+I6QRoSzUGwWa5BtS9nw4mQVLunKN
-QolgBGYq9P1o12v3mUEo1mwkq+YlUy7Igpnioo8jvjCDsSeL+mh/AUnoxphrEC6Y
-XorXykuxx8lYmtA225aV7LaB5PLNbxt5h0wQPInkTfpU3Kqm
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
-MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
-MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
-YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
-EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
-R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
-9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
-fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
-iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
-1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
-bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
-MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
-ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
-uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
-Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
-tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
-PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
-hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
-5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
------END CERTIFICATE-----
diff --git a/jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/geotrustglobalca-chain.pem b/jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/geotrustglobalca-chain.pem
deleted file mode 100644
index 3249716b..00000000
--- a/jdk/test/sun/security/ssl/X509TrustManagerImpl/Symantec/geotrustglobalca-chain.pem
+++ /dev/null
@@ -1,66 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIHBjCCBe6gAwIBAgIQanINWwJAuap0V7lFjnfUwTANBgkqhkiG9w0BAQsFADBE
-MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMU
-R2VvVHJ1c3QgU1NMIENBIC0gRzMwHhcNMTcwNTAzMDAwMDAwWhcNMjAwNTAyMjM1
-OTU5WjCBkTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNV
-BAcMDU1vdW50YWluIFZpZXcxFzAVBgNVBAoMDkdlb1RydXN0LCBJbmMuMRgwFgYD
-VQQLDA9Sb290IDEwIC0gVkFMSUQxIjAgBgNVBAMMGXZhbGlkLXJvb3QxMC5nZW90
-cnVzdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTegUYhAh0
-P7aF6jzk8dit4Vzddo3hM+J7Eak/+N1sqVUS2HpNd7VO50FrbEWKIRusv7QNtlpY
-1Cgrla8M4RAhCB0wkkHXZ1Evz6E1AEFQqNSjyuRQxeEXl+xCL+MF+yAMhDRnHh+E
-eSJ3ie0T66saOyaLM9fPpr3xomAQ/IRlP1atJ/Z8XbPo25HuxwzxiWFW+RjwVIfI
-gxHz4Okwc1uImDUIDlEu9Uaqqb4jHhxU1EkKMmgEncpqwCROcZMujUkogfB49Z7+
-K17r6ARIrUuxqfNPrPwe+O88WgIeDSWffPM67UlvtomZOwuTNdv9OoCX1wUCLS7m
-/gZ3rqqqeJvfAgMBAAGjggOkMIIDoDAkBgNVHREEHTAbghl2YWxpZC1yb290MTAu
-Z2VvdHJ1c3QuY29tMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgWgMCsGA1UdHwQk
-MCIwIKAeoByGGmh0dHA6Ly9nbi5zeW1jYi5jb20vZ24uY3JsMIGdBgNVHSAEgZUw
-gZIwgY8GBmeBDAECAjCBhDA/BggrBgEFBQcCARYzaHR0cHM6Ly93d3cuZ2VvdHJ1
-c3QuY29tL3Jlc291cmNlcy9yZXBvc2l0b3J5L2xlZ2FsMEEGCCsGAQUFBwICMDUM
-M2h0dHBzOi8vd3d3Lmdlb3RydXN0LmNvbS9yZXNvdXJjZXMvcmVwb3NpdG9yeS9s
-ZWdhbDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHwYDVR0jBBgwFoAU
-0m/3lvSFP3I8MH0j2oV4m6N8WnwwVwYIKwYBBQUHAQEESzBJMB8GCCsGAQUFBzAB
-hhNodHRwOi8vZ24uc3ltY2QuY29tMCYGCCsGAQUFBzAChhpodHRwOi8vZ24uc3lt
-Y2IuY29tL2duLmNydDCCAfUGCisGAQQB1nkCBAIEggHlBIIB4QHfAHUA3esdK3oN
-T6Ygi4GtgWhwfi6OnQHVXIiNPRHEzbbsvswAAAFbz9h5vQAABAMARjBEAiAx/C0U
-5NdHxK4v2oHnstYksb1Vny8PcQkSvgpx9PsZEwIgNTOU70Zc5szG23xdbvtoH5lN
-SAoVswiF5gFQS5MGu1sAdgCkuQmQtBhYFIe7E6LMZ3AKPDWYBPkb37jjd80OyA3c
-EAAAAVvP2HnZAAAEAwBHMEUCIFGjB8r2H0VDwTUE/aY/Mv+M97sqAvEP1doOcHpg
-0qyfAiEArw/S2F7OEcmKGUY1WRBuApfAx5d7hzrTSV/jZv95qJwAdgDuS723dc5g
-uuFCaR+r4Z5mow9+X7By2IMAxHuJeqj9ywAAAVvP2HoDAAAEAwBHMEUCIQCH6MFZ
-tZF3Cqukt3/69fkU0Y5ePXXx8+xkOXRsIG3EGgIgSmCBWrnmPiiGA3x5QP8I8m4r
-Uee0y7s4NQNwjMgHrjwAdgC8eOHfxfY8aEZJM02hD6FfCXlpIAnAgbTz9pF/Ptm4
-pQAAAVvP2HqcAAAEAwBHMEUCIA8e2kAVYYuQCtn4PqK98BuHnLm9rC40DboFLCle
-SmQsAiEApbCJR05hr9VkNWmjaaUUGGZdVyUu9XX504LHVWyXZDUwDQYJKoZIhvcN
-AQELBQADggEBAEtfBfZ2y5uTohvW3h00Kcuop6Nq7Y59GU3MeizPKtx48DB8qHyd
-y5bLFwXzsGA1WkwpKzPbROsTGcAAXJHh03bj24AemUr/J/eQcjkfSoNBdHDpiSsk
-VZkQK2fGJDiYJ/r9mxKZcgd2pyN3l2OtVtNMv2dnFGF35UkkeqO3jqImwbypAmRX
-HdQV9dvW2YDRjzkebNNey6UwY9+YTSzr4da2hcaMHrj588Eqa4DDgNcY9QnE2RzN
-giArA+4RlM4AZ3jC2A756I67hrlvH+lhumHLp06hGfMiQJF1aaauFVSa36HKc3C/
-ty+sLdJbemEJLAr8uNXggFD+U8TKw1S4LSw=
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
-MIIETzCCAzegAwIBAgIDAjpvMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT
-MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
-YWwgQ0EwHhcNMTMxMTA1MjEzNjUwWhcNMjIwNTIwMjEzNjUwWjBEMQswCQYDVQQG
-EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg
-U1NMIENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDjvn4K
-hqPPa209K6GXrUkkTdd3uTR5CKWeop7eRxKSPX7qGYax6E89X/fQp3eaWx8KA7UZ
-U9ulIZRpY51qTJEMEEe+EfpshiW3qwRoQjgJZfAU2hme+msLq2LvjafvY3AjqK+B
-89FuiGdT7BKkKXWKp/JXPaKDmJfyCn3U50NuMHhiIllZuHEnRaoPZsZVP/oyFysx
-j0ag+mkUfJ2fWuLrM04QprPtd2PYw5703d95mnrU7t7dmszDt6ldzBE6B7tvl6QB
-I0eVH6N3+liSxsfQvc+TGEK3fveeZerVO8rtrMVwof7UEJrwEgRErBpbeFBFV0xv
-vYDLgVwts7x2oR5lAgMBAAGjggFKMIIBRjAfBgNVHSMEGDAWgBTAephojYn7qwVk
-DBF9qn1luMrMTjAdBgNVHQ4EFgQU0m/3lvSFP3I8MH0j2oV4m6N8WnwwEgYDVR0T
-AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwNgYDVR0fBC8wLTAroCmgJ4Yl
-aHR0cDovL2cxLnN5bWNiLmNvbS9jcmxzL2d0Z2xvYmFsLmNybDAvBggrBgEFBQcB
-AQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9nMi5zeW1jYi5jb20wTAYDVR0gBEUw
-QzBBBgpghkgBhvhFAQc2MDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuZ2VvdHJ1
-c3QuY29tL3Jlc291cmNlcy9jcHMwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMTEVN5
-bWFudGVjUEtJLTEtNTM5MA0GCSqGSIb3DQEBCwUAA4IBAQCg1Pcs+3QLf2TxzUNq
-n2JTHAJ8mJCi7k9o1CAacxI+d7NQ63K87oi+fxfqd4+DYZVPhKHLMk9sIb7SaZZ9
-Y73cK6gf0BOEcP72NZWJ+aZ3sEbIu7cT9clgadZM/tKO79NgwYCA4ef7i28heUrg
-3Kkbwbf7w0lZXLV3B0TUl/xJAIlvBk4BcBmsLxHA4uYPL4ZLjXvDuacu9PGsFj45
-SVGeF0tPEDpbpaiSb/361gsDTUdWVxnzy2v189bPsPX1oxHSIFMTNDcFLENaY9+N
-QNaFHlHpURceA1bJ8TCt55sRornQMYGbaLHZ6PPmlH7HrhMvh+3QJbBo+d4IWvMp
-zNSS
------END CERTIFICATE-----
--
2.22.0

View File

@ -0,0 +1,145 @@
diff --git a/hotspot/src/share/vm/opto/stringopts.cpp b/hotspot/src/share/vm/opto/stringopts.cpp
index d92a3d7a3..2d11b2257 100644
--- a/hotspot/src/share/vm/opto/stringopts.cpp
+++ b/hotspot/src/share/vm/opto/stringopts.cpp
@@ -968,6 +968,21 @@ bool StringConcat::validate_control_flow() {
fail = true;
break;
} else if (ptr->is_Proj() && ptr->in(0)->is_Initialize()) {
+ // Check for side effect between Initialize and the constructor
+ for (SimpleDUIterator iter(ptr); iter.has_next(); iter.next()) {
+ Node* use = iter.get();
+ if (!use->is_CFG() && !use->is_CheckCastPP() && !use->is_Load()) {
+#ifndef PRODUCT
+ if (PrintOptimizeStringConcat) {
+ tty->print_cr("unexpected control use of Initialize");
+ ptr->in(0)->dump(); // Initialize node
+ use->dump(1);
+ }
+#endif
+ fail = true;
+ break;
+ }
+ }
ptr = ptr->in(0)->in(0);
} else if (ptr->is_Region()) {
Node* copy = ptr->as_Region()->is_copy();
diff --git a/hotspot/test/compiler/stringopts/SideEffectBeforeConstructor.jasm b/hotspot/test/compiler/stringopts/SideEffectBeforeConstructor.jasm
new file mode 100644
index 000000000..cbc6d754b
--- /dev/null
+++ b/hotspot/test/compiler/stringopts/SideEffectBeforeConstructor.jasm
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * 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.
+ */
+
+super public class compiler/stringopts/SideEffectBeforeConstructor
+ version 51:0
+{
+ public static Field result:I;
+
+ static Method "<clinit>":"()V"
+ stack 2 locals 0
+ {
+ iconst_0;
+ putstatic Field result:"I";
+ return;
+ }
+ public Method "<init>":"()V"
+ stack 1 locals 1
+ {
+ aload_0;
+ invokespecial Method java/lang/Object."<init>":"()V";
+ return;
+ }
+
+ public static Method test:"(Ljava/lang/String;)V"
+ stack 4 locals 1
+ {
+ new class java/lang/StringBuffer;
+ dup;
+ getstatic Field result:"I";
+ iconst_1;
+ iadd;
+ putstatic Field result:"I";
+ aload_0;
+ invokespecial Method java/lang/StringBuffer."<init>":"(Ljava/lang/String;)V";
+ invokevirtual Method java/lang/StringBuffer.toString:"()Ljava/lang/String;";
+ return;
+ }
+}
diff --git a/hotspot/test/compiler/stringopts/TestSideEffectBeforeConstructor.java b/hotspot/test/compiler/stringopts/TestSideEffectBeforeConstructor.java
new file mode 100644
index 000000000..86c5eca1d
--- /dev/null
+++ b/hotspot/test/compiler/stringopts/TestSideEffectBeforeConstructor.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * 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 8290705
+ * @summary Test correctness of the string concatenation optimization with
+ * a store between StringBuffer allocation and constructor invocation.
+ * @compile SideEffectBeforeConstructor.jasm
+ * @run main/othervm -Xbatch compiler.stringopts.TestSideEffectBeforeConstructor
+ */
+
+package compiler.stringopts;
+
+public class TestSideEffectBeforeConstructor {
+
+ public static void main(String[] args) {
+ for (int i = 0; i < 100_000; ++i) {
+ try {
+ SideEffectBeforeConstructor.test(null);
+ } catch (NullPointerException npe) {
+ // Expected
+ }
+ }
+ if (SideEffectBeforeConstructor.result != 100_000) {
+ throw new RuntimeException("Unexpected result: " + SideEffectBeforeConstructor.result);
+ }
+ }
+}

8657
Dynamic-CDS-Archive.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,149 @@
From 4e520a51acbb192a0df844fcca247998d7fb8854 Mon Sep 17 00:00:00 2001
From: wangkun <wangkun49@huawei.com>
Date: Thu, 28 Jul 2022 17:19:32 +0800
Subject: [PATCH 2/3] add
Improve-AlgorithmConstraints-checkAlgorithm-performa.patch
---
.../util/AbstractAlgorithmConstraints.java | 30 +++++++------------
.../util/DisabledAlgorithmConstraints.java | 20 +++++++++----
.../util/LegacyAlgorithmConstraints.java | 12 ++++++--
3 files changed, 35 insertions(+), 27 deletions(-)
diff --git a/jdk/src/share/classes/sun/security/util/AbstractAlgorithmConstraints.java b/jdk/src/share/classes/sun/security/util/AbstractAlgorithmConstraints.java
index 944958de..5c760292 100644
--- a/jdk/src/share/classes/sun/security/util/AbstractAlgorithmConstraints.java
+++ b/jdk/src/share/classes/sun/security/util/AbstractAlgorithmConstraints.java
@@ -77,34 +77,26 @@ public abstract class AbstractAlgorithmConstraints
return new ArrayList<>(Arrays.asList(algorithmsInProperty));
}
- static boolean checkAlgorithm(List<String> algorithms, String algorithm,
+ static boolean checkAlgorithm(Set<String> algorithms, String algorithm,
AlgorithmDecomposer decomposer) {
if (algorithm == null || algorithm.length() == 0) {
throw new IllegalArgumentException("No algorithm name specified");
}
Set<String> elements = null;
- for (String item : algorithms) {
- if (item == null || item.isEmpty()) {
- continue;
- }
+ if (algorithms.contains(algorithm.toLowerCase())) {
+ return false;
+ }
- // check the full name
- if (item.equalsIgnoreCase(algorithm)) {
+ // decompose the algorithm into sub-elements
+ if (elements == null) {
+ elements = decomposer.decompose(algorithm);
+ }
+ // check the element of the elements
+ for (String element : elements) {
+ if (algorithms.contains(element.toLowerCase())) {
return false;
}
-
- // decompose the algorithm into sub-elements
- if (elements == null) {
- elements = decomposer.decompose(algorithm);
- }
-
- // check the items of the algorithm
- for (String element : elements) {
- if (item.equalsIgnoreCase(element)) {
- return false;
- }
- }
}
return true;
diff --git a/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java b/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
index 51e62563..6ff26bf2 100644
--- a/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
+++ b/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
@@ -96,7 +96,7 @@ public class DisabledAlgorithmConstraints extends AbstractAlgorithmConstraints {
new DisabledAlgorithmConstraints(PROPERTY_JAR_DISABLED_ALGS);
}
- private final List<String> disabledAlgorithms;
+ private final Set<String> disabledAlgorithms;
private final Constraints algorithmConstraints;
public static DisabledAlgorithmConstraints certPathConstraints() {
@@ -128,11 +128,11 @@ public class DisabledAlgorithmConstraints extends AbstractAlgorithmConstraints {
public DisabledAlgorithmConstraints(String propertyName,
AlgorithmDecomposer decomposer) {
super(decomposer);
- disabledAlgorithms = getAlgorithms(propertyName);
+ List<String> disabledAlgorithmsList = getAlgorithms(propertyName);
// Check for alias
int ecindex = -1, i = 0;
- for (String s : disabledAlgorithms) {
+ for (String s : disabledAlgorithmsList) {
if (s.regionMatches(true, 0,"include ", 0, 8)) {
if (s.regionMatches(true, 8, PROPERTY_DISABLED_EC_CURVES, 0,
PROPERTY_DISABLED_EC_CURVES.length())) {
@@ -143,11 +143,19 @@ public class DisabledAlgorithmConstraints extends AbstractAlgorithmConstraints {
i++;
}
if (ecindex > -1) {
- disabledAlgorithms.remove(ecindex);
- disabledAlgorithms.addAll(ecindex,
+ disabledAlgorithmsList.remove(ecindex);
+ disabledAlgorithmsList.addAll(ecindex,
getAlgorithms(PROPERTY_DISABLED_EC_CURVES));
}
- algorithmConstraints = new Constraints(propertyName, disabledAlgorithms);
+ algorithmConstraints = new Constraints(propertyName, disabledAlgorithmsList);
+
+ disabledAlgorithms = new HashSet<String>();
+ for (String algorithm : disabledAlgorithmsList) {
+ if (algorithm == null || algorithm.isEmpty()) {
+ continue;
+ }
+ disabledAlgorithms.add(algorithm.toLowerCase());
+ }
}
/*
diff --git a/jdk/src/share/classes/sun/security/util/LegacyAlgorithmConstraints.java b/jdk/src/share/classes/sun/security/util/LegacyAlgorithmConstraints.java
index 4e7502fb..01d0447a 100644
--- a/jdk/src/share/classes/sun/security/util/LegacyAlgorithmConstraints.java
+++ b/jdk/src/share/classes/sun/security/util/LegacyAlgorithmConstraints.java
@@ -28,6 +28,7 @@ package sun.security.util;
import java.security.AlgorithmParameters;
import java.security.CryptoPrimitive;
import java.security.Key;
+import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -40,12 +41,19 @@ public class LegacyAlgorithmConstraints extends AbstractAlgorithmConstraints {
public final static String PROPERTY_TLS_LEGACY_ALGS =
"jdk.tls.legacyAlgorithms";
- private final List<String> legacyAlgorithms;
+ private final Set<String> legacyAlgorithms;
public LegacyAlgorithmConstraints(String propertyName,
AlgorithmDecomposer decomposer) {
super(decomposer);
- legacyAlgorithms = getAlgorithms(propertyName);
+ List<String> legacyAlgorithmsList = getAlgorithms(propertyName);
+ legacyAlgorithms = new HashSet<String>();
+ for (String algorithm : legacyAlgorithmsList) {
+ if (algorithm == null || algorithm.isEmpty()) {
+ continue;
+ }
+ legacyAlgorithms.add(algorithm.toLowerCase());
+ }
}
@Override
--
2.22.0

View File

@ -0,0 +1,529 @@
From 0a877e963eeb55b98dcd0194ac44b4f010d382eb Mon Sep 17 00:00:00 2001
Date: Wed, 21 Sep 2022 09:54:56 +0800
Subject: The code style is fixed and test cases are added
---
hotspot/src/share/vm/cds/archiveBuilder.hpp | 1 -
hotspot/src/share/vm/cds/archiveUtils.hpp | 1 -
hotspot/src/share/vm/cds/dynamicArchive.hpp | 1 -
.../share/vm/classfile/systemDictionary.cpp | 2 +-
.../vm/classfile/systemDictionaryShared.hpp | 1 +
.../shared/parGCAllocBuffer.cpp | 6 +-
hotspot/src/share/vm/memory/filemap.cpp | 7 +-
hotspot/src/share/vm/memory/filemap.hpp | 2 +-
.../src/share/vm/memory/metaspaceClosure.cpp | 25 +
.../src/share/vm/memory/metaspaceClosure.hpp | 25 +-
hotspot/src/share/vm/oops/cpCache.cpp | 1 -
hotspot/src/share/vm/oops/instanceKlass.cpp | 4 -
hotspot/test/runtime/6929067/Test6929067.sh | 2 +-
.../runtime/InitialThreadOverflow/testme.sh | 2 +-
hotspot/test/runtime/Thread/StopAtExit.java | 119 ++++
jdk/make/profile-rtjar-includes.txt | 7 +-
.../classes/java/io/ObjectInputStream.java | 4 +-
.../classes/java/io/ObjectOutputStream.java | 10 +-
.../classes/sun/awt/FontConfiguration.java | 7 +-
.../security/openssl/kae_cipher_rsa.c | 3 +-
.../security/openssl/kae_keyagreement_dh.c | 4 +-
.../openssl/RSAKeyPairGeneratorBenchmark.java | 2 +-
23 files changed, 194 insertions(+), 668 deletions(-)
create mode 100644 hotspot/test/runtime/Thread/StopAtExit.java
diff --git a/hotspot/src/share/vm/cds/archiveBuilder.hpp b/hotspot/src/share/vm/cds/archiveBuilder.hpp
index f7a5c107..93c0e245 100644
--- a/hotspot/src/share/vm/cds/archiveBuilder.hpp
+++ b/hotspot/src/share/vm/cds/archiveBuilder.hpp
@@ -29,7 +29,6 @@
#include "cds/archiveUtils.hpp"
#include "cds/dumpAllocStats.hpp"
#include "memory/metaspaceClosure.hpp"
-//#include "oops/array.hpp"
#include "oops/klass.hpp"
#include "runtime/os.hpp"
#include "utilities/align.hpp"
diff --git a/hotspot/src/share/vm/cds/archiveUtils.hpp b/hotspot/src/share/vm/cds/archiveUtils.hpp
index 55c2431a..44f03c8e 100644
--- a/hotspot/src/share/vm/cds/archiveUtils.hpp
+++ b/hotspot/src/share/vm/cds/archiveUtils.hpp
@@ -133,7 +133,6 @@ public:
_dump_region->append_intptr_t((intptr_t)tag);
}
- //void do_oop(oop* o);
void do_region(u_char* start, size_t size);
bool reading() const { return false; }
};
diff --git a/hotspot/src/share/vm/cds/dynamicArchive.hpp b/hotspot/src/share/vm/cds/dynamicArchive.hpp
index 1d5b7122..0e068e65 100644
--- a/hotspot/src/share/vm/cds/dynamicArchive.hpp
+++ b/hotspot/src/share/vm/cds/dynamicArchive.hpp
@@ -26,7 +26,6 @@
#ifndef SHARE_VM_CDS_DYNAMICARCHIVE_HPP
#define SHARE_VM_CDS_DYNAMICARCHIVE_HPP
-//#include "classfile/compactHashtable.hpp"
#include "memory/allocation.hpp"
#include "memory/filemap.hpp"
#include "memory/memRegion.hpp"
diff --git a/hotspot/src/share/vm/classfile/systemDictionary.cpp b/hotspot/src/share/vm/classfile/systemDictionary.cpp
index 2eebdbac..0ea2d9b7 100644
--- a/hotspot/src/share/vm/classfile/systemDictionary.cpp
+++ b/hotspot/src/share/vm/classfile/systemDictionary.cpp
@@ -1344,7 +1344,7 @@ instanceKlassHandle SystemDictionary::load_shared_class(
Handle klass_name = java_lang_String::create_from_str(name, CHECK_0);
JavaValue result(T_OBJECT);
- // load_shared_class need protected domain to handle non-bootstrap loaded class,
+ // load_shared_class need protected domain to handle non-bootstrap loaded class,
// so here call_virtual to call getProtectionDomainInternal function of URLClassLoader.java,
// to get protected domain and save into result.
JavaCalls::call_virtual(&result,
diff --git a/hotspot/src/share/vm/classfile/systemDictionaryShared.hpp b/hotspot/src/share/vm/classfile/systemDictionaryShared.hpp
index 36423bee..fb9583d4 100644
--- a/hotspot/src/share/vm/classfile/systemDictionaryShared.hpp
+++ b/hotspot/src/share/vm/classfile/systemDictionaryShared.hpp
@@ -194,6 +194,7 @@ public:
}
return true;
}
+
static size_t estimate_size_for_archive();
static void write_to_archive();
static void write_dictionary(RunTimeSharedDictionary* dictionary, bool is_builtin);
diff --git a/hotspot/src/share/vm/gc_implementation/shared/parGCAllocBuffer.cpp b/hotspot/src/share/vm/gc_implementation/shared/parGCAllocBuffer.cpp
index bddf14b6..0244bf84 100644
--- a/hotspot/src/share/vm/gc_implementation/shared/parGCAllocBuffer.cpp
+++ b/hotspot/src/share/vm/gc_implementation/shared/parGCAllocBuffer.cpp
@@ -98,9 +98,9 @@ void PLABStats::adjust_desired_plab_sz(uint no_of_gc_workers) {
if (_allocated == 0) {
assert(_unused == 0,
err_msg("Inconsistency in PLAB stats: "
- "_allocated: "SIZE_FORMAT", "
- "_wasted: "SIZE_FORMAT", "
- "_unused: "SIZE_FORMAT", "
+ "_allocated: " SIZE_FORMAT ", "
+ "_wasted: " SIZE_FORMAT ", "
+ "_unused: " SIZE_FORMAT ", "
"_used : "SIZE_FORMAT,
_allocated, _wasted, _unused, _used));
diff --git a/hotspot/src/share/vm/memory/filemap.cpp b/hotspot/src/share/vm/memory/filemap.cpp
index 1891fc80..0682cd67 100644
--- a/hotspot/src/share/vm/memory/filemap.cpp
+++ b/hotspot/src/share/vm/memory/filemap.cpp
@@ -240,12 +240,7 @@ void FileMapInfo::FileMapHeader::populate(FileMapInfo* mapinfo, size_t alignment
_version = current_version();
_alignment = alignment;
_obj_alignment = ObjectAlignmentInBytes;
- /* TODO
- _compressed_oops = UseCompressedOops;
- _compressed_class_ptrs = UseCompressedClassPointers;
- _max_heap_size = MaxHeapSize;
- _narrow_klass_shift = CompressedKlassPointers::shift();
- */
+
if (!DynamicDumpSharedSpaces) {
_classpath_entry_table_size = mapinfo->_classpath_entry_table_size;
_classpath_entry_table = mapinfo->_classpath_entry_table;
diff --git a/hotspot/src/share/vm/memory/filemap.hpp b/hotspot/src/share/vm/memory/filemap.hpp
index 36b27f13..27fff35e 100644
--- a/hotspot/src/share/vm/memory/filemap.hpp
+++ b/hotspot/src/share/vm/memory/filemap.hpp
@@ -232,7 +232,7 @@ public:
char* region_end(int i) { return region_base(i) + used_aligned(i); }
struct FileMapHeader* header() { return _header; }
struct DynamicArchiveHeader* dynamic_header() {
- // assert(!is_static(), "must be");
+
return (struct DynamicArchiveHeader*)header();
}
diff --git a/hotspot/src/share/vm/memory/metaspaceClosure.cpp b/hotspot/src/share/vm/memory/metaspaceClosure.cpp
index 00ec8fce..e19402cb 100644
--- a/hotspot/src/share/vm/memory/metaspaceClosure.cpp
+++ b/hotspot/src/share/vm/memory/metaspaceClosure.cpp
@@ -1,3 +1,28 @@
+/*
+ * Copyright (c) 2019, 2021, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022, Huawei Technologies Co., Ltd. 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.
+ *
+ */
+
#include "precompiled.hpp"
#include "memory/metaspaceClosure.hpp"
diff --git a/hotspot/src/share/vm/memory/metaspaceClosure.hpp b/hotspot/src/share/vm/memory/metaspaceClosure.hpp
index f67d8d6f..5422e2a0 100644
--- a/hotspot/src/share/vm/memory/metaspaceClosure.hpp
+++ b/hotspot/src/share/vm/memory/metaspaceClosure.hpp
@@ -1,4 +1,27 @@
-
+/*
+ * Copyright (c) 2019, 2021, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022, Huawei Technologies Co., Ltd. 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.
+ *
+ */
#ifndef SHARE_VM_MEMORY_METASPACECLOSURE_HPP
#define SHARE_VM_MEMORY_METASPACECLOSURE_HPP
diff --git a/hotspot/src/share/vm/oops/cpCache.cpp b/hotspot/src/share/vm/oops/cpCache.cpp
index 51f5397b..874cef41 100644
--- a/hotspot/src/share/vm/oops/cpCache.cpp
+++ b/hotspot/src/share/vm/oops/cpCache.cpp
@@ -610,7 +610,6 @@ void ConstantPoolCache::metaspace_pointers_do(MetaspaceClosure* it) {
dynamic_cds_log->print_cr("Iter(ConstantPoolCache): %p", this);
}
it->push(&_constant_pool);
- // it->push(&_reference_map);
}
void ConstantPoolCache::remove_unshareable_info() {
diff --git a/hotspot/src/share/vm/oops/instanceKlass.cpp b/hotspot/src/share/vm/oops/instanceKlass.cpp
index 9276b895..2a9cd92d 100644
--- a/hotspot/src/share/vm/oops/instanceKlass.cpp
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp
@@ -526,10 +526,6 @@ void InstanceKlass::metaspace_pointers_do(MetaspaceClosure* it) {
}
}
}
-
- // it->push(&_nest_members);
- // it->push(&_permitted_subclasses);
- // it->push(&_record_components);
}
klassVtable* InstanceKlass::vtable() const {
diff --git a/hotspot/test/runtime/6929067/Test6929067.sh b/hotspot/test/runtime/6929067/Test6929067.sh
index 438a287c..c78e1787 100644
--- a/hotspot/test/runtime/6929067/Test6929067.sh
+++ b/hotspot/test/runtime/6929067/Test6929067.sh
@@ -102,7 +102,7 @@ esac
if [ "${VM_CPU}" == "aarch64" ]; then
- COMP_FLAG="-mabi=lp64"
+ COMP_FLAG=""
fi
# VM type: need to know server or client
diff --git a/hotspot/test/runtime/InitialThreadOverflow/testme.sh b/hotspot/test/runtime/InitialThreadOverflow/testme.sh
index ffd7d6e3..cf48c2fe 100644
--- a/hotspot/test/runtime/InitialThreadOverflow/testme.sh
+++ b/hotspot/test/runtime/InitialThreadOverflow/testme.sh
@@ -52,7 +52,7 @@ fi
CFLAGS="-m${VM_BITS}"
if [ "${VM_CPU}" == "aarch64" ]; then
- CFLAGS="-mabi=lp64"
+ CFLAGS=""
fi
LD_LIBRARY_PATH=.:${COMPILEJAVA}/jre/lib/${VM_CPU}/${VM_TYPE}:/usr/lib:$LD_LIBRARY_PATH
diff --git a/hotspot/test/runtime/Thread/StopAtExit.java b/hotspot/test/runtime/Thread/StopAtExit.java
new file mode 100644
index 00000000..8d6344a6
--- /dev/null
+++ b/hotspot/test/runtime/Thread/StopAtExit.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * 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 8167108
+ * @summary Stress test java.lang.Thread.stop() at thread exit.
+ * @run main/othervm StopAtExit
+ */
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+public class StopAtExit extends Thread {
+ final static int N_THREADS = 32;
+ final static int N_LATE_CALLS = 1000;
+
+ public CountDownLatch exitSyncObj = new CountDownLatch(1);
+ public CountDownLatch startSyncObj = new CountDownLatch(1);
+
+ @Override
+ public void run() {
+ try {
+ // Tell main thread we have started.
+ startSyncObj.countDown();
+ try {
+ // Wait for main thread to interrupt us so we
+ // can race to exit.
+ exitSyncObj.await();
+ } catch (InterruptedException e) {
+ // ignore because we expect one
+ }
+ } catch (ThreadDeath td) {
+ // ignore because we're testing Thread.stop() which throws it
+ } catch (NoClassDefFoundError ncdfe) {
+ // ignore because we're testing Thread.stop() which can cause it
+ }
+ }
+
+ public static void main(String[] args) {
+ StopAtExit threads[] = new StopAtExit[N_THREADS];
+
+ for (int i = 0; i < N_THREADS; i++ ) {
+ threads[i] = new StopAtExit();
+ int late_count = 1;
+ threads[i].start();
+ try {
+ // Wait for the worker thread to get going.
+ threads[i].startSyncObj.await();
+
+ // This interrupt() call will break the worker out
+ // of the exitSyncObj.await() call and the stop()
+ // calls will come in during thread exit.
+ threads[i].interrupt();
+ for (; late_count <= N_LATE_CALLS; late_count++) {
+ threads[i].stop();
+
+ if (!threads[i].isAlive()) {
+ // Done with Thread.stop() calls since
+ // thread is not alive.
+ break;
+ }
+ }
+ } catch (InterruptedException e) {
+ throw new Error("Unexpected: " + e);
+ } catch (NoClassDefFoundError ncdfe) {
+ // Ignore because we're testing Thread.stop() which can
+ // cause it. Yes, a NoClassDefFoundError that happens
+ // in a worker thread can subsequently be seen in the
+ // main thread.
+ }
+
+ System.out.println("INFO: thread #" + i + ": made " + late_count +
+ " late calls to java.lang.Thread.stop()");
+ System.out.println("INFO: thread #" + i + ": N_LATE_CALLS==" +
+ N_LATE_CALLS + " value is " +
+ ((late_count >= N_LATE_CALLS) ? "NOT " : "") +
+ "large enough to cause a Thread.stop() " +
+ "call after thread exit.");
+
+ try {
+ threads[i].join();
+ } catch (InterruptedException e) {
+ throw new Error("Unexpected: " + e);
+ }
+ threads[i].stop();
+ if (threads[i].isAlive()) {
+ throw new Error("Expected !Thread.isAlive() after thread #" +
+ i + " has been join()'ed");
+ }
+ }
+
+ String cmd = System.getProperty("sun.java.command");
+ if (cmd != null && !cmd.startsWith("com.sun.javatest.regtest.agent.MainWrapper")) {
+ // Exit with success in a non-JavaTest environment:
+ System.exit(0);
+ }
+ }
+}
diff --git a/jdk/make/profile-rtjar-includes.txt b/jdk/make/profile-rtjar-includes.txt
index f36d1d5c..dd275590 100644
--- a/jdk/make/profile-rtjar-includes.txt
+++ b/jdk/make/profile-rtjar-includes.txt
@@ -73,8 +73,8 @@ PROFILE_1_RTJAR_INCLUDE_PACKAGES := \
PROFILE_1_RTJAR_INCLUDE_TYPES :=
-PROFILE_1_RTJAR_EXCLUDE_TYPES :=
-
+PROFILE_1_RTJAR_EXCLUDE_TYPES := \
+ com/huawei
PROFILE_1_INCLUDE_METAINF_SERVICES :=
@@ -99,7 +99,8 @@ PROFILE_2_RTJAR_INCLUDE_PACKAGES := \
PROFILE_2_RTJAR_INCLUDE_TYPES :=
-PROFILE_2_RTJAR_EXCLUDE_TYPES :=
+PROFILE_2_RTJAR_EXCLUDE_TYPES := \
+ com/huawei
PROFILE_2_INCLUDE_METAINF_SERVICES := \
META-INF/services/sun.util.spi.XmlPropertiesProvider
diff --git a/jdk/src/share/classes/java/io/ObjectInputStream.java b/jdk/src/share/classes/java/io/ObjectInputStream.java
index af6c5dd6..85e3958b 100644
--- a/jdk/src/share/classes/java/io/ObjectInputStream.java
+++ b/jdk/src/share/classes/java/io/ObjectInputStream.java
@@ -768,7 +768,7 @@ public class ObjectInputStream
* Cache the class meta during serialization.
* Only used in FastSerilizer.
*/
- protected static ConcurrentHashMap<String,Class<?>> nameToClass = new ConcurrentHashMap<>();
+ private static ConcurrentHashMap<String,Class<?>> nameToClass = new ConcurrentHashMap<>();
/**
* Load the local class equivalent of the specified stream class
@@ -1013,7 +1013,7 @@ public class ObjectInputStream
if (s0 != STREAM_MAGIC) {
throw new StreamCorruptedException(
- String.format("invalid stream header: %04X%04X, and FastSerializer is activated", s0, s1));
+ String.format("invalid stream header: %04X%04X", s0, s1));
}
if (!fastSerializerEscapeMode) {
diff --git a/jdk/src/share/classes/java/io/ObjectOutputStream.java b/jdk/src/share/classes/java/io/ObjectOutputStream.java
index 840f7fdc..23c1fff5 100644
--- a/jdk/src/share/classes/java/io/ObjectOutputStream.java
+++ b/jdk/src/share/classes/java/io/ObjectOutputStream.java
@@ -234,11 +234,6 @@ public class ObjectOutputStream
new sun.security.action.GetBooleanAction(
"sun.io.serialization.extendedDebugInfo")).booleanValue();
- /**
- * Magic number that is written to the stream header when using fastserilizer.
- */
- private static final short STREAM_MAGIC_FAST = (short)0xdeca;
-
private static final Unsafe UNSAFE = Unsafe.getUnsafe();
/**
@@ -255,6 +250,11 @@ public class ObjectOutputStream
new sun.security.action.GetBooleanAction(
"printFastSerializer")).booleanValue();
+ /**
+ * Magic number that is written to the stream header when using fastserilizer.
+ */
+ private static final short STREAM_MAGIC_FAST = (short)0xdeca;
+
/**
* Creates an ObjectOutputStream that writes to the specified OutputStream.
* This constructor writes the serialization stream header to the
diff --git a/jdk/src/share/classes/sun/awt/FontConfiguration.java b/jdk/src/share/classes/sun/awt/FontConfiguration.java
index 93e38e06..c2e94d15 100644
--- a/jdk/src/share/classes/sun/awt/FontConfiguration.java
+++ b/jdk/src/share/classes/sun/awt/FontConfiguration.java
@@ -300,12 +300,7 @@ public abstract class FontConfiguration {
}
}
foundOsSpecificFile = false;
-
- configFile = findImpl(baseName);
- if (configFile != null) {
- return configFile;
- }
- return null;
+ return (configFile = findImpl(baseName));
}
/* Initialize the internal data tables from binary format font
diff --git a/jdk/src/solaris/native/org/openeuler/security/openssl/kae_cipher_rsa.c b/jdk/src/solaris/native/org/openeuler/security/openssl/kae_cipher_rsa.c
index 73b94cbe..d9b16ab9 100644
--- a/jdk/src/solaris/native/org/openeuler/security/openssl/kae_cipher_rsa.c
+++ b/jdk/src/solaris/native/org/openeuler/security/openssl/kae_cipher_rsa.c
@@ -174,6 +174,7 @@ static int RSACryptOAEPPadding(JNIEnv* env, jlong keyAddress, jint inLen, jbyteA
jbyte* inBytes = NULL;
// outLen type should be size_t
// EVP_PKEY_encrypt takes the outLen address as a parameter, and the parameter type is size_t*
+ // You can refer to the issue #2774 to see more content
size_t outLen = 0;
ENGINE* kaeEngine = GetEngineByAlgorithmIndex(RSA_INDEX);
KAE_TRACE("RSACryptOAEPPadding: kaeEngine => %p", kaeEngine);
@@ -366,7 +367,7 @@ JNIEXPORT jlong JNICALL Java_org_openeuler_security_openssl_KAERSACipher_nativeC
}
// set rsa public key params n and e
- if(RSA_set0_key(rsa, bnN, bnE, NULL) <= 0) {
+ if (RSA_set0_key(rsa, bnN, bnE, NULL) <= 0) {
KAE_ThrowFromOpenssl(env, "RSA_set0_key", KAE_ThrowRuntimeException);
goto cleanup;
}
diff --git a/jdk/src/solaris/native/org/openeuler/security/openssl/kae_keyagreement_dh.c b/jdk/src/solaris/native/org/openeuler/security/openssl/kae_keyagreement_dh.c
index 90b33045..d8d2ee7c 100644
--- a/jdk/src/solaris/native/org/openeuler/security/openssl/kae_keyagreement_dh.c
+++ b/jdk/src/solaris/native/org/openeuler/security/openssl/kae_keyagreement_dh.c
@@ -131,9 +131,9 @@ cleanup:
if (g_bn != NULL)
KAE_ReleaseBigNumFromByteArray(g_bn);
if (secret != NULL)
- free(secret);
+ free(secret);
if (computeKeyRetBn != NULL)
- BN_free(computeKeyRetBn);
+ BN_free(computeKeyRetBn);
return retByteArray;
}
diff --git a/jdk/test/micro/org/openeuler/bench/security/openssl/RSAKeyPairGeneratorBenchmark.java b/jdk/test/micro/org/openeuler/bench/security/openssl/RSAKeyPairGeneratorBenchmark.java
index b1739222..13d3e8cf 100644
--- a/jdk/test/micro/org/openeuler/bench/security/openssl/RSAKeyPairGeneratorBenchmark.java
+++ b/jdk/test/micro/org/openeuler/bench/security/openssl/RSAKeyPairGeneratorBenchmark.java
@@ -54,7 +54,7 @@ public class RSAKeyPairGeneratorBenchmark extends BenchmarkBase {
public KeyPair generateKeyPair() throws Exception {
return keyPairGenerator.generateKeyPair();
}
-
+
private KeyPairGenerator createKeyPairGenerator() throws Exception {
if (prov != null) {
return KeyPairGenerator.getInstance(algorithm, prov);
--
2.22.0

View File

@ -0,0 +1,111 @@
From 59040a3951dfdf21ba646cc9510739f175751469 Mon Sep 17 00:00:00 2001
Date: Wed, 21 Sep 2022 09:54:04 +0800
Subject: [PATCH 2/5] add configuration option of huawei internal version shown in release file
---
common/autoconf/generated-configure.sh | 17 +++++++++++++++++
common/autoconf/jdk-options.m4 | 11 +++++++++++
common/autoconf/spec.gmk.in | 3 +++
jdk/make/Images.gmk | 1 +
4 files changed, 32 insertions(+)
diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh
index 53e6cf18..a6ba1ac9 100644
--- a/common/autoconf/generated-configure.sh
+++ b/common/autoconf/generated-configure.sh
@@ -831,6 +831,7 @@ COPYRIGHT_YEAR
VENDOR_URL_VM_BUG
VENDOR_URL_BUG
VENDOR_URL
+INTERNAL_VERSION
COMPANY_NAME
MACOSX_BUNDLE_ID_BASE
MACOSX_BUNDLE_NAME_BASE
@@ -1077,6 +1078,7 @@ with_vendor_url
with_vendor_bug_url
with_vendor_vm_bug_url
with_copyright_year
+with_internal_version
with_boot_jdk
with_boot_jdk_jvmargs
with_add_source_root
@@ -1937,6 +1939,9 @@ Optional Packages:
--with-vendor-vm-bug-url
Sets the bug URL which will be displayed when the VM
crashes [not specified]
+ --with-internal-version
+ Sets the internal version which will be
+ displayed in the release file [not specified]
--with-copyright-year Set copyright year value for build [current year]
--with-boot-jdk path to Boot JDK (used to bootstrap build) [probed]
--with-boot-jdk-jvmargs specify JVM arguments to be passed to all
@@ -20301,6 +20306,18 @@ fi
COPYRIGHT_YEAR=`date +'%Y'`
fi
+# Check whether --with-internal-version was given.
+if test "${with_internal_version+set}" = set; then :
+ withval=$with_internal_version;
+fi
+
+ if test "x$with_internal_version" = xyes; then
+ as_fn_error $? "--with-internal-version must have a value" "$LINENO" 5
+ elif ! [[ $with_internal_version =~ ^[[:print:]]*$ ]] ; then
+ as_fn_error $? "--with-internal-version contains non-printing characters: $with_internal_version" "$LINENO" 5
+ else
+ INTERNAL_VERSION="$with_internal_version"
+ fi
if test "x$JDK_UPDATE_VERSION" != x; then
JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
diff --git a/common/autoconf/jdk-options.m4 b/common/autoconf/jdk-options.m4
index c506086d..b9f25175 100644
--- a/common/autoconf/jdk-options.m4
+++ b/common/autoconf/jdk-options.m4
@@ -627,6 +627,17 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VERSION_NUMBERS],
fi
AC_SUBST(COPYRIGHT_YEAR)
+ AC_ARG_WITH(internal-version, [AS_HELP_STRING([--with-internal-version],
+ [Sets the internal version which will be displayed in the release file @<:@not specified@:>@])])
+ if test "x$with_internal_version" = xyes; then
+ AC_MSG_ERROR([--with-internal-version must have a value])
+ elif [ ! [[ $with_internal_version =~ ^[[:print:]]*$ ]] ]; then
+ AC_MSG_ERROR([--with-internal-version contains non-printing characters: $with_internal_version])
+ else
+ INTERNAL_VERSION="$with_internal_version"
+ fi
+ AC_SUBST(INTERNAL_VERSION)
+
if test "x$JDK_UPDATE_VERSION" != x; then
JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
else
diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in
index 79248cbf..ca5e2d74 100644
--- a/common/autoconf/spec.gmk.in
+++ b/common/autoconf/spec.gmk.in
@@ -162,6 +162,9 @@ VENDOR_URL:=@VENDOR_URL@
VENDOR_URL_BUG:=@VENDOR_URL_BUG@
VENDOR_URL_VM_BUG:=@VENDOR_URL_VM_BUG@
+# Huawei internal version for use in release file.
+INTERNAL_VERSION:=@INTERNAL_VERSION@
+
# Location where build customization files may be found
CUSTOM_MAKE_DIR:=@CUSTOM_MAKE_DIR@
diff --git a/jdk/make/Images.gmk b/jdk/make/Images.gmk
index ac39ad33..233ce703 100644
--- a/jdk/make/Images.gmk
+++ b/jdk/make/Images.gmk
@@ -618,6 +618,7 @@ define create-info-file
$(call info-file-item, "OS_ARCH", "$(OPENJDK_TARGET_CPU_LEGACY)")
if [ -n "$(JDK_ARCH_ABI_PROP_NAME)" ]; then $(call info-file-item, "SUN_ARCH_ABI", "$(JDK_ARCH_ABI_PROP_NAME)"); fi
$(call info-file-item, "SOURCE", "$(strip $(SOURCE_REVISION))")
+ if [ -n "$(INTERNAL_VERSION)" ]; then $(call info-file-item, "INTERNAL_VERSION", "$(INTERNAL_VERSION)"); fi
endef
SOURCE_REVISION = $(shell \
--
2.22.0

View File

@ -125,7 +125,7 @@ index 00000000..9b614024
--- /dev/null --- /dev/null
+++ b/version.txt +++ b/version.txt
@@ -0,0 +1 @@ @@ -0,0 +1 @@
+8.332.9.0.13 +8.342.7.0.13
-- --
2.23.0 2.23.0

View File

@ -0,0 +1,38 @@
From 980b919fde4e1353a9ff989fb78031a48d395ec0 Mon Sep 17 00:00:00 2001
From: zhangyipeng <zhangyipeng7@huawei.com>
Date: Fri, 6 May 2022 15:23:26 +0800
Subject: [PATCH 02/10] change sa-jdi.jar make file for BEP
---
hotspot/make/linux/makefiles/sa.make | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/hotspot/make/linux/makefiles/sa.make b/hotspot/make/linux/makefiles/sa.make
index cdcb16a1a..6388d95c9 100644
--- a/hotspot/make/linux/makefiles/sa.make
+++ b/hotspot/make/linux/makefiles/sa.make
@@ -50,6 +50,7 @@ SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar
MODULELIB_PATH= $(BOOT_JAVA_HOME)/lib/modules
AGENT_FILES_LIST := $(GENERATED)/agent.classes.list
+SA_CLASSDIR_JAR_CONTENTS := $(GENERATED)/sa.jar_contents
SA_CLASSDIR = $(GENERATED)/saclasses
@@ -104,8 +105,11 @@ $(GENERATED)/sa-jdi.jar:: $(AGENT_FILES)
$(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources/*
$(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources/
$(QUIETLY) cp -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)/
- $(QUIETLY) $(REMOTE) $(RUN.JAR) cf $@ -C $(SA_CLASSDIR)/ .
- $(QUIETLY) $(REMOTE) $(RUN.JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
+ $(QUIETLY) rm -f $(SA_CLASSDIR_JAR_CONTENTS) && touch $(SA_CLASSDIR_JAR_CONTENTS)
+ $(QUIETLY) find $(SA_CLASSDIR) -type f | sed 's|$(SA_CLASSDIR)/||g' >> $(SA_CLASSDIR_JAR_CONTENTS)
+ $(QUIETLY) cd $(AGENT_SRC_DIR) && $(REMOTE) $(RUN.JAR) cf $@ META-INF/services/com.sun.jdi.connect.Connector
+ $(QUIETLY) cd $(SA_CLASSDIR) && $(REMOTE) $(RUN.JAR) uf $@ @$(SA_CLASSDIR_JAR_CONTENTS)
+ $(QUIETLY) cd $(TOPDIR)
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.x86.X86ThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.aarch64.AARCH64ThreadContext
--
2.22.0

View File

@ -1,16 +0,0 @@
diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk
index 0e0346374..2d9bdbeed 100644
--- a/make/common/NativeCompilation.gmk
+++ b/make/common/NativeCompilation.gmk
@@ -537,7 +537,7 @@ define SetupNativeCompilation
# to be rebuilt properly.
$$($1_DEBUGINFO_ZIP): $$($1_DEBUGINFO_FILES) $$($1_TARGET)
$(CD) $$($1_OBJECT_DIR) \
- && $(ZIP) -q $$@ $$($1_DEBUGINFO_FILES)
+ && $(ZIP) -q $$@ $$(subst $$($1_OBJECT_DIR)/,,$$($1_DEBUGINFO_FILES))
endif
else
ifneq ($$($1_STRIP_POLICY), no_strip)
--
2.22.0

View File

@ -0,0 +1,34 @@
From cf12a2fae11baf41773308a48d9cfad9031f5344 Mon Sep 17 00:00:00 2001
Date: Fri, 9 Sep 2022 11:26:22 +0800
Subject: dynamic cds _header and _fd handles are not free.
---
hotspot/src/share/vm/memory/filemap.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/hotspot/src/share/vm/memory/filemap.cpp b/hotspot/src/share/vm/memory/filemap.cpp
index adb043f77..6549828e3 100644
--- a/hotspot/src/share/vm/memory/filemap.cpp
+++ b/hotspot/src/share/vm/memory/filemap.cpp
@@ -169,6 +169,18 @@ FileMapInfo::~FileMapInfo() {
assert(_dynamic_archive_info == this, "must be singleton"); // not thread safe
_dynamic_archive_info = NULL;
}
+
+ if (_header != NULL) {
+ delete _header;
+ }
+
+ if (_file_open) {
+ if (::close(_fd) < 0) {
+ fail_stop("Unable to close the shared archive file.");
+ }
+ _file_open = false;
+ _fd = -1;
+ }
}
void FileMapInfo::populate_header(size_t alignment) {
--
2.22.0

View File

@ -0,0 +1,113 @@
From 68293d50de005b5982a3cce437fc7af807d7264e Mon Sep 17 00:00:00 2001
Date: Wed, 14 Sep 2022 14:57:25 +0800
Subject: fix dumped heap using jhat parsing to appear failed to
resolve object id warning message
---
hotspot/src/share/vm/services/heapDumper.cpp | 5 --
.../serviceability/dcmd/gc/HeapDumpTest.java | 77 +++++++++++++++++++
2 files changed, 77 insertions(+), 5 deletions(-)
create mode 100644 jdk/test/serviceability/dcmd/gc/HeapDumpTest.java
diff --git a/hotspot/src/share/vm/services/heapDumper.cpp b/hotspot/src/share/vm/services/heapDumper.cpp
index f7aba2a84..b5915c412 100644
--- a/hotspot/src/share/vm/services/heapDumper.cpp
+++ b/hotspot/src/share/vm/services/heapDumper.cpp
@@ -984,11 +984,6 @@ void DumperSupport::dump_class_and_array_classes(DumpWriter* writer, Klass* k) {
return;
}
- // Ignore the class if it hasn't been initialized yet
- if (!ik->is_linked()) {
- return;
- }
-
writer->write_u1(HPROF_GC_CLASS_DUMP);
// class ID
diff --git a/jdk/test/serviceability/dcmd/gc/HeapDumpTest.java b/jdk/test/serviceability/dcmd/gc/HeapDumpTest.java
new file mode 100644
index 000000000..7204c2c37
--- /dev/null
+++ b/jdk/test/serviceability/dcmd/gc/HeapDumpTest.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * 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.
+ */
+import org.testng.annotations.Test;
+import org.testng.Assert;
+import java.io.File;
+import java.nio.file.Files;
+import java.io.IOException;
+import java.util.List;
+import jdk.test.lib.hprof.HprofParser;
+import jdk.test.lib.hprof.model.Snapshot;
+import jdk.test.lib.JDKToolFinder;
+import jdk.test.lib.process.OutputAnalyzer;
+import jdk.test.lib.dcmd.CommandExecutor;
+import jdk.test.lib.dcmd.PidJcmdExecutor;
+/*
+ * @test
+ * @summary Test of diagnostic command GC.heap_dump
+ * @library /lib
+ * @run testng HeapDumpTest
+ */
+public class HeapDumpTest {
+ protected String heapDumpArgs = "";
+
+ public void run(CommandExecutor executor) throws IOException {
+ File dump = new File("jcmd.gc.heap_dump." + System.currentTimeMillis() + ".hprof");
+ if (dump.exists()) {
+ dump.delete();
+ }
+
+ String cmd = "GC.heap_dump " + heapDumpArgs + " " + dump.getAbsolutePath();
+ executor.execute(cmd);
+
+ verifyHeapDump(dump);
+ dump.delete();
+ }
+ private void verifyHeapDump(File dump) {
+ Assert.assertTrue(dump.exists() && dump.isFile(), "Could not create dump file " + dump.getAbsolutePath());
+ try {
+ File out = HprofParser.parse(dump);
+ Assert.assertTrue(out != null && out.exists() && out.isFile(), "Could not find hprof parser output file");
+ List<String> lines = Files.readAllLines(out.toPath());
+ Assert.assertTrue(lines.size() > 0, "hprof parser output file is empty");
+ for (String line : lines) {
+ Assert.assertFalse(line.matches(".*WARNING(?!.*Failed to resolve object.*constantPoolOop.*).*"));
+ }
+ out.delete();
+ } catch (Exception e) {
+ e.printStackTrace();
+ Assert.fail("Could not parse dump file " + dump.getAbsolutePath());
+ }
+ }
+ /* GC.heap_dump is not available over JMX, running jcmd pid executor instead */
+ @Test
+ public void pid() throws IOException {
+ run(new PidJcmdExecutor());
+ }
+}
--
2.22.0

View File

@ -17,38 +17,10 @@ Signed-off-by: He Dongbo <hedongbo@huawei.com>
create mode 100644 jdk/test/micro/org/openeuler/bench/security/openssl/HMacBenchmark.java create mode 100644 jdk/test/micro/org/openeuler/bench/security/openssl/HMacBenchmark.java
diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh
index 60298422f..bdfdd207b 100644 index 27cff542..d19c772e 100644
--- a/common/autoconf/generated-configure.sh --- a/common/autoconf/generated-configure.sh
+++ b/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh
@@ -4288,7 +4288,7 @@ TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++" @@ -25937,10 +25937,10 @@ $as_echo "$as_me: Valid Visual Studio versions: $VALID_VS_VERSIONS." >&6;}
################################################################################
# The order of these defines the priority by which we try to find them.
-VALID_VS_VERSIONS="2010 2012 2013 2015 2017"
+VALID_VS_VERSIONS="2010 2012 2013 2015 2017 2019"
VS_DESCRIPTION_2010="Microsoft Visual Studio 2010"
VS_VERSION_INTERNAL_2010=100
@@ -4346,6 +4346,18 @@ VS_SDK_INSTALLDIR_2017=
VS_VS_PLATFORM_NAME_2017="v141"
VS_SDK_PLATFORM_NAME_2017=
+VS_DESCRIPTION_2019="Microsoft Visual Studio 2019 - CURRENTLY NOT WORKING"
+VS_VERSION_INTERNAL_2019=141
+VS_MSVCR_2019=vcruntime140.dll
+VS_MSVCP_2019=msvcp140.dll
+VS_ENVVAR_2019="VS150COMNTOOLS"
+VS_USE_UCRT_2019="true"
+VS_VS_INSTALLDIR_2019="Microsoft Visual Studio/2019"
+VS_EDITIONS_2019="Community Professional Enterprise"
+VS_SDK_INSTALLDIR_2019=
+VS_VS_PLATFORM_NAME_2019="v141"
+VS_SDK_PLATFORM_NAME_2019=
+
################################################################################
@@ -25694,10 +25706,10 @@ $as_echo "$as_me: Valid Visual Studio versions: $VALID_VS_VERSIONS." >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5
$as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;} $as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;}
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
@ -61,7 +33,7 @@ index 60298422f..bdfdd207b 100644
fi fi
for VCVARSFILE in $VCVARSFILES; do for VCVARSFILE in $VCVARSFILES; do
@@ -25751,10 +25763,10 @@ $as_echo "$as_me: Warning: None of $VCVARSFILES were found, Visual Studio instal @@ -25994,10 +25994,10 @@ $as_echo "$as_me: Warning: None of $VCVARSFILES were found, Visual Studio instal
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5
$as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;} $as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;}
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
@ -74,7 +46,7 @@ index 60298422f..bdfdd207b 100644
fi fi
for VCVARSFILE in $VCVARSFILES; do for VCVARSFILE in $VCVARSFILES; do
@@ -25790,8 +25802,6 @@ $as_echo "$as_me: directory within the Visual Studio installation" >&6;} @@ -26033,8 +26033,6 @@ $as_echo "$as_me: directory within the Visual Studio installation" >&6;}
fi fi
fi fi
@ -83,7 +55,7 @@ index 60298422f..bdfdd207b 100644
if test "x$VS_COMNTOOLS" != x; then if test "x$VS_COMNTOOLS" != x; then
if test "x$VS_ENV_CMD" = x; then if test "x$VS_ENV_CMD" = x; then
@@ -25824,10 +25834,10 @@ $as_echo "$as_me: directory within the Visual Studio installation" >&6;} @@ -26067,10 +26065,10 @@ $as_echo "$as_me: directory within the Visual Studio installation" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5
$as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;} $as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;}
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
@ -96,7 +68,7 @@ index 60298422f..bdfdd207b 100644
fi fi
for VCVARSFILE in $VCVARSFILES; do for VCVARSFILE in $VCVARSFILES; do
@@ -25883,10 +25893,10 @@ $as_echo "$as_me: Warning: None of $VCVARSFILES were found, Visual Studio instal @@ -26126,10 +26124,10 @@ $as_echo "$as_me: Warning: None of $VCVARSFILES were found, Visual Studio instal
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5
$as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;} $as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;}
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
@ -109,7 +81,7 @@ index 60298422f..bdfdd207b 100644
fi fi
for VCVARSFILE in $VCVARSFILES; do for VCVARSFILE in $VCVARSFILES; do
@@ -25944,10 +25954,10 @@ $as_echo "$as_me: Warning: None of $VCVARSFILES were found, Visual Studio instal @@ -26187,10 +26185,10 @@ $as_echo "$as_me: Warning: None of $VCVARSFILES were found, Visual Studio instal
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5
$as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;} $as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;}
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
@ -122,7 +94,7 @@ index 60298422f..bdfdd207b 100644
fi fi
for VCVARSFILE in $VCVARSFILES; do for VCVARSFILE in $VCVARSFILES; do
@@ -26002,10 +26012,10 @@ $as_echo "$as_me: Warning: None of $VCVARSFILES were found, Visual Studio instal @@ -26245,10 +26243,10 @@ $as_echo "$as_me: Warning: None of $VCVARSFILES were found, Visual Studio instal
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5
$as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;} $as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;}
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
@ -135,7 +107,7 @@ index 60298422f..bdfdd207b 100644
fi fi
for VCVARSFILE in $VCVARSFILES; do for VCVARSFILE in $VCVARSFILES; do
@@ -26059,10 +26069,10 @@ $as_echo "$as_me: Warning: None of $VCVARSFILES were found, Visual Studio instal @@ -26302,10 +26300,10 @@ $as_echo "$as_me: Warning: None of $VCVARSFILES were found, Visual Studio instal
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found Visual Studio installation at $VS_BASE using $METHOD" >&5
$as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;} $as_echo "$as_me: Found Visual Studio installation at $VS_BASE using $METHOD" >&6;}
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
@ -149,38 +121,10 @@ index 60298422f..bdfdd207b 100644
for VCVARSFILE in $VCVARSFILES; do for VCVARSFILE in $VCVARSFILES; do
diff --git a/common/autoconf/toolchain_windows.m4 b/common/autoconf/toolchain_windows.m4 diff --git a/common/autoconf/toolchain_windows.m4 b/common/autoconf/toolchain_windows.m4
index a78f9ac66..0b5efdad2 100644 index 9e617c33..f024da1e 100644
--- a/common/autoconf/toolchain_windows.m4 --- a/common/autoconf/toolchain_windows.m4
+++ b/common/autoconf/toolchain_windows.m4 +++ b/common/autoconf/toolchain_windows.m4
@@ -25,7 +25,7 @@ @@ -121,10 +121,10 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
################################################################################
# The order of these defines the priority by which we try to find them.
-VALID_VS_VERSIONS="2010 2012 2013 2015 2017"
+VALID_VS_VERSIONS="2010 2012 2013 2015 2017 2019"
VS_DESCRIPTION_2010="Microsoft Visual Studio 2010"
VS_VERSION_INTERNAL_2010=100
@@ -83,6 +83,18 @@ VS_SDK_INSTALLDIR_2017=
VS_VS_PLATFORM_NAME_2017="v141"
VS_SDK_PLATFORM_NAME_2017=
+VS_DESCRIPTION_2019="Microsoft Visual Studio 2019 - CURRENTLY NOT WORKING"
+VS_VERSION_INTERNAL_2019=141
+VS_MSVCR_2019=vcruntime140.dll
+VS_MSVCP_2019=msvcp140.dll
+VS_ENVVAR_2019="VS150COMNTOOLS"
+VS_USE_UCRT_2019="true"
+VS_VS_INSTALLDIR_2019="Microsoft Visual Studio/2019"
+VS_EDITIONS_2019="Community Professional Enterprise"
+VS_SDK_INSTALLDIR_2019=
+VS_VS_PLATFORM_NAME_2019="v141"
+VS_SDK_PLATFORM_NAME_2019=
+
################################################################################
AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
@@ -107,10 +119,10 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
if test -d "$VS_BASE"; then if test -d "$VS_BASE"; then
AC_MSG_NOTICE([Found Visual Studio installation at $VS_BASE using $METHOD]) AC_MSG_NOTICE([Found Visual Studio installation at $VS_BASE using $METHOD])
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
@ -193,7 +137,7 @@ index a78f9ac66..0b5efdad2 100644
fi fi
for VCVARSFILE in $VCVARSFILES; do for VCVARSFILE in $VCVARSFILES; do
@@ -198,8 +210,6 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE], @@ -212,8 +212,6 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
fi fi
fi fi

View File

@ -1,27 +0,0 @@
From a447db8644fe785db481a425fe3efa62cb11122f Mon Sep 17 00:00:00 2001
Date: Mon, 25 Apr 2022 17:12:39 +0800
Subject: [PATCH] Fix make bugs when git and hg not exist
---
make/common/MakeBase.gmk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/make/common/MakeBase.gmk b/make/common/MakeBase.gmk
index 2ba3d04..c97a42a 100644
--- a/make/common/MakeBase.gmk
+++ b/make/common/MakeBase.gmk
@@ -318,9 +318,9 @@ SCM_TIP_FILECMD := $(PRINTF) "$(SCM):%s" \
# Emit the scm:id pair to $@
define GetSourceTips
$(CD) $(SRC_ROOT) ; \
- if [ -d $(SCM_DIR) -a "$(SCM_VERSION)" != "" ] ; then \
+ if [ -d "$(SCM_DIR)" -a "$(SCM_VERSION)" != "" ] ; then \
$(ID_COMMAND) >> $@ ; \
- elif [ -f $(SCM_TIP_FILENAME) ] ; then \
+ elif [ -f "$(SCM_TIP_FILENAME)" ] ; then \
$(SCM_TIP_FILECMD) >> $@ ; \
fi;
$(PRINTF) "\n" >> $@
--
1.8.3.1

View File

@ -0,0 +1,291 @@
diff --git a/jdk/make/CompileDemos.gmk b/jdk/make/CompileDemos.gmk
index 763c968e..6c5eb432 100644
--- a/jdk/make/CompileDemos.gmk
+++ b/jdk/make/CompileDemos.gmk
@@ -250,7 +250,6 @@ define SetupJVMTIDemo
SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC), \
LANG := $$(BUILD_DEMO_JVMTI_$1_LANG), \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CXXFLAGS := $$($1_CXXFLAGS), \
LDFLAGS := $(filter-out -incremental:no -opt:ref, $$(LDFLAGS_JDKLIB)), \
LDFLAGS_macosx := $$(call SET_EXECUTABLE_ORIGIN), \
diff --git a/jdk/make/CompileLaunchers.gmk b/jdk/make/CompileLaunchers.gmk
index 29211f83..2ac718fc 100644
--- a/jdk/make/CompileLaunchers.gmk
+++ b/jdk/make/CompileLaunchers.gmk
@@ -512,7 +512,6 @@ $(eval $(call SetupNativeCompilation,BUILD_UNPACKEXE, \
EXCLUDE_FILES := jni.cpp, \
LANG := $(UNPACKEXE_LANG), \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(UNPACKEXE_CFLAGS) $(CXXFLAGS_JDKEXE) \
-DFULL, \
CFLAGS_release := -DPRODUCT, \
diff --git a/jdk/make/lib/Awt2dLibraries.gmk b/jdk/make/lib/Awt2dLibraries.gmk
index 71d87c37..9368a9d5 100644
--- a/jdk/make/lib/Awt2dLibraries.gmk
+++ b/jdk/make/lib/Awt2dLibraries.gmk
@@ -52,7 +52,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE, \
EXCLUDE_FILES := awt_ImagingLib.c mlib_c_ImageBlendTable.c, \
LANG := C, \
OPTIMIZATION := HIGHEST, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(BUILD_LIBMLIB_CFLAGS), \
MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
@@ -471,7 +470,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \
INCLUDE_FILES := $(LIBAWT_FILES), \
LANG := $(LIBAWT_LANG), \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
ASFLAGS := $(LIBAWT_ASFLAGS), \
MAPFILE := $(LIBAWT_MAPFILE), \
@@ -633,7 +631,6 @@ ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
INCLUDE_FILES := $(LIBAWT_XAWT_FILES), \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
$(X_CFLAGS), \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
@@ -675,7 +672,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \
SRC := $(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms, \
LANG := C, \
OPTIMIZATION := HIGHEST, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
-DCMS_DONT_USE_FAST_FLOOR \
$(SHARED_LIBRARY_FLAGS) \
@@ -743,7 +739,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBJPEG, \
$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
LANG := C, \
OPTIMIZATION := HIGHEST, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(BUILD_LIBJPEG_CLOSED_INCLUDES) \
-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
@@ -919,7 +914,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
AccelGlyphCache.c, \
LANG := C++, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \
OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
@@ -1211,7 +1205,6 @@ ifndef BUILD_HEADLESS_ONLY
EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS), \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
diff --git a/jdk/make/lib/CoreLibraries.gmk b/jdk/make/lib/CoreLibraries.gmk
index b444abf9..e43fc2ed 100644
--- a/jdk/make/lib/CoreLibraries.gmk
+++ b/jdk/make/lib/CoreLibraries.gmk
@@ -113,7 +113,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY, \
INCLUDE_FILES := $(BUILD_LIBVERIFY_SRC), \
LANG := C, \
OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB), \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libverify/mapfile-vers, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
@@ -225,7 +224,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA, \
EXCLUDE_FILES := $(LIBJAVA_EXCLUDE_FILES), \
LANG := C, \
OPTIMIZATION := HIGH, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJAVA_CFLAGS), \
MAPFILE := $(LIBJAVA_MAPFILE), \
@@ -287,7 +285,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBZIP, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
SRC := $(JDK_TOPDIR)/src/share/native/java/util/zip, \
EXCLUDES := $(LIBZIP_EXCLUDES), \
CFLAGS := $(CFLAGS_JDKLIB) \
@@ -329,7 +326,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK, \
EXCLUDE_FILES := main.cpp, \
LANG := C++, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CXXFLAGS_JDKLIB) \
-DNO_ZLIB -DUNPACK_JNI -DFULL, \
CFLAGS_release := -DPRODUCT, \
@@ -442,7 +438,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBJLI, \
INCLUDE_FILES := $(BUILD_LIBJLI_FILES), \
LANG := C, \
OPTIMIZATION := HIGH, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(LIBJLI_CFLAGS), \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjli/mapfile-vers, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
@@ -544,7 +539,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBNPT, \
SRC := $(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(JDK_TOPDIR)/src/share/npt \
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, \
diff --git a/jdk/make/lib/NetworkingLibraries.gmk b/jdk/make/lib/NetworkingLibraries.gmk
index f826c66d..347c3237 100644
--- a/jdk/make/lib/NetworkingLibraries.gmk
+++ b/jdk/make/lib/NetworkingLibraries.gmk
@@ -65,7 +65,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBNET, \
EXCLUDE_FILES := $(LIBNET_EXCLUDE_FILES), \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBNET_CFLAGS), \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libnet/mapfile-vers, \
diff --git a/jdk/make/lib/NioLibraries.gmk b/jdk/make/lib/NioLibraries.gmk
index 54c9c29e..6c9c46a3 100644
--- a/jdk/make/lib/NioLibraries.gmk
+++ b/jdk/make/lib/NioLibraries.gmk
@@ -181,7 +181,6 @@ ifeq ($(OPENJDK_TARGET_OS_API), posix)
SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp, \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
diff --git a/jdk/make/lib/SecurityLibraries.gmk b/jdk/make/lib/SecurityLibraries.gmk
index 10ab8043..5b9ec17f 100644
--- a/jdk/make/lib/SecurityLibraries.gmk
+++ b/jdk/make/lib/SecurityLibraries.gmk
@@ -196,7 +196,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11, \
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper, \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
@@ -242,7 +241,6 @@ ifeq ($(ENABLE_INTREE_EC), yes)
$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
LANG := C++, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB)) \
$(BUILD_LIBSUNEC_FLAGS) \
-DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B, \
@@ -300,7 +298,6 @@ ifeq ($(ENABLE_KAE), true)
SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/org/openeuler/security/openssl, \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/org/openeuler/security/openssl, \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libj2kae/mapfile-vers, \
diff --git a/jdk/make/lib/ServiceabilityLibraries.gmk b/jdk/make/lib/ServiceabilityLibraries.gmk
index 2c80ffc0..19c8601d 100644
--- a/jdk/make/lib/ServiceabilityLibraries.gmk
+++ b/jdk/make/lib/ServiceabilityLibraries.gmk
@@ -83,7 +83,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET, \
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket, \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) -DUSE_MMAP \
-I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
-I$(JDK_TOPDIR)/src/share/transport/socket \
@@ -149,7 +148,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBJDWP, \
SRC := $(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back, \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) -DJDWP_LOGGING \
-I$(JDK_TOPDIR)/src/share/transport/export \
-I$(JDK_TOPDIR)/src/share/back/export \
@@ -255,7 +253,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT, \
INCLUDE_FILES := $(LIBINSTRUMENT_FILES), \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(LIBINSTRUMENT_CFLAGS) $(CFLAGS_WARNINGS_ARE_ERRORS), \
CFLAGS_debug := -DJPLIS_LOGGING, \
CFLAGS_release := -DNO_JPLIS_LOGGING, \
@@ -379,7 +376,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBHPROF, \
SRC := $(BUILD_LIBHPROF_SRC), \
LANG := C, \
OPTIMIZATION := $(LIBHPROF_OPTIMIZATION), \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) \
$(BUILD_LIBHPROF_CFLAGS), \
CFLAGS_debug := -DHPROF_LOGGING, \
@@ -408,7 +404,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO, \
SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) \
-I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjava_crw_demo/mapfile-vers, \
diff --git a/jdk/make/lib/SoundLibraries.gmk b/jdk/make/lib/SoundLibraries.gmk
index 0ea9ba84..b59a9462 100644
--- a/jdk/make/lib/SoundLibraries.gmk
+++ b/jdk/make/lib/SoundLibraries.gmk
@@ -201,7 +201,6 @@ ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)), )
PLATFORM_API_LinuxOS_ALSA_Ports.c, \
LANG := C, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp, \
CFLAGS := $(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \
$(LIBJSOUND_CFLAGS) \
-DUSE_DAUDIO=TRUE \
diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk
index 2d9bdbee..9586d20e 100644
--- a/make/common/NativeCompilation.gmk
+++ b/make/common/NativeCompilation.gmk
@@ -271,6 +271,7 @@ define SetupNativeCompilation
# Find all files in the source trees. Sort to remove duplicates.
$1_ALL_SRCS := $$(sort $$(call CacheFind,$$($1_SRC)))
+
# Extract the C/C++ files.
$1_EXCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_EXCLUDE_FILES)))
$1_INCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES)))
@@ -281,13 +282,20 @@ define SetupNativeCompilation
ifneq (,$$(strip $$($1_INCLUDE_FILES)))
$1_SRCS := $$(filter $$($1_INCLUDE_FILES),$$($1_SRCS))
endif
+
+ # Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables
+ # for LDFLAGS and LDFLAGS_SUFFIX
+ $1_EXTRA_LDFLAGS:=$$($1_LDFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS))
+ $1_EXTRA_LDFLAGS_SUFFIX:=$$($1_LDFLAGS_SUFFIX_$(OPENJDK_TARGET_OS_API)) $$($1_LDFLAGS_SUFFIX_$(OPENJDK_TARGET_OS))
+
ifeq ($(OPENJDK_TARGET_OS), linux) # only on linux
- ifneq ($(OPENJDK_TARGET_CPU_ARCH), aarch64) # not need on the arm arch
- ifneq (,$$(strip $$($1_EXTRA_FILES)))
- $1_SRCS += $$($1_EXTRA_FILES)
+ ifneq ($$(findstring wrap=memcpy, $$($1_LDFLAGS)$$($1_EXTRA_LDFLAGS))$$($1_EXTRA_LDFLAGS_SUFFIX),)
+ ifeq ($$(findstring memcpy.cpp, $$($1_SRCS)),)
+ $1_SRCS += $(HOTSPOT_TOPDIR)/src/os_cpu/linux_x86/vm/memcpy.cpp
endif
endif
endif
+
ifeq (,$$($1_SRCS))
$$(error No sources found for $1 when looking inside the dirs $$($1_SRC))
endif
@@ -432,10 +440,6 @@ define SetupNativeCompilation
endif
endif
- # Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables
- # for LDFLAGS and LDFLAGS_SUFFIX
- $1_EXTRA_LDFLAGS:=$$($1_LDFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS))
- $1_EXTRA_LDFLAGS_SUFFIX:=$$($1_LDFLAGS_SUFFIX_$(OPENJDK_TARGET_OS_API)) $$($1_LDFLAGS_SUFFIX_$(OPENJDK_TARGET_OS))
ifneq (,$$($1_REAL_MAPFILE))
$1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE))
endif

View File

@ -289,8 +289,8 @@ index c5ec637a1..125983179 100644
+ // Search path: <home>/jre/lib/<arch>/<vm>/libopenblas.so + // Search path: <home>/jre/lib/<arch>/<vm>/libopenblas.so
+ if (jvm_offset >= 0) { + if (jvm_offset >= 0) {
+ if (jvm_offset + strlen(library_name) + strlen(os::dll_file_extension()) < JVM_MAXPATHLEN) { + if (jvm_offset + strlen(library_name) + strlen(os::dll_file_extension()) < JVM_MAXPATHLEN) {
+ strncpy(&path[jvm_offset], library_name, strlen(library_name)); + strncpy(&path[jvm_offset], library_name, JVM_MAXPATHLEN - jvm_offset);
+ strncat(&path[jvm_offset], os::dll_file_extension(), strlen(os::dll_file_extension())); + strncat(path, os::dll_file_extension(), strlen(os::dll_file_extension()));
+ library = (address)os::dll_load(path, err_buf, sizeof(err_buf)); + library = (address)os::dll_load(path, err_buf, sizeof(err_buf));
+ } + }
+ } + }

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,56 @@
From 9d32c786ff6886bcd4b76e0a80eb19ce602dbe42 Mon Sep 17 00:00:00 2001
From: wangkun <wangkun49@huawei.com>
Date: Thu, 28 Jul 2022 17:24:52 +0800
Subject: [PATCH 3/3] fix xx
---
.../classes/org/openeuler/security/openssl/KAEDigest.java | 6 +++---
.../classes/org/openeuler/security/openssl/KAEProvider.java | 2 --
jdk/src/solaris/native/java/io/path_util.c | 1 -
3 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/jdk/src/solaris/classes/org/openeuler/security/openssl/KAEDigest.java b/jdk/src/solaris/classes/org/openeuler/security/openssl/KAEDigest.java
index bb5c8681..6ff03241 100644
--- a/jdk/src/solaris/classes/org/openeuler/security/openssl/KAEDigest.java
+++ b/jdk/src/solaris/classes/org/openeuler/security/openssl/KAEDigest.java
@@ -88,9 +88,9 @@ abstract class KAEDigest extends MessageDigestSpi implements Cloneable {
private static class DigestContextRef extends PhantomReference<KAEDigest>
implements Comparable<DigestContextRef> {
- private static ReferenceQueue<KAEDigest> referenceQueue = new ReferenceQueue<>();
- private static Set<DigestContextRef> referenceList = new ConcurrentSkipListSet<>();
- private static boolean disableKaeDispose = Boolean.getBoolean("kae.disableKaeDispose");
+ private static final ReferenceQueue<KAEDigest> referenceQueue = new ReferenceQueue<>();
+ private static final Set<DigestContextRef> referenceList = new ConcurrentSkipListSet<>();
+ private static final boolean disableKaeDispose = Boolean.getBoolean("kae.disableKaeDispose");
private final long ctxAddress;
diff --git a/jdk/src/solaris/classes/org/openeuler/security/openssl/KAEProvider.java b/jdk/src/solaris/classes/org/openeuler/security/openssl/KAEProvider.java
index 8ba70200..83ed8649 100644
--- a/jdk/src/solaris/classes/org/openeuler/security/openssl/KAEProvider.java
+++ b/jdk/src/solaris/classes/org/openeuler/security/openssl/KAEProvider.java
@@ -104,8 +104,6 @@ public class KAEProvider extends Provider {
if (needLog && "true".equalsIgnoreCase(props.getProperty("kae.log"))) {
logStart(excp);
needLog = false; // Log only once
- } else {
- KAEProvider.excp = null; // Ignore exception.
}
if (!"false".equalsIgnoreCase(props.getProperty("kae.md5"))) {
putMD5();
diff --git a/jdk/src/solaris/native/java/io/path_util.c b/jdk/src/solaris/native/java/io/path_util.c
index 8a533f81..4b978206 100644
--- a/jdk/src/solaris/native/java/io/path_util.c
+++ b/jdk/src/solaris/native/java/io/path_util.c
@@ -116,7 +116,6 @@ collapse(char *path)
int nc;
char **ix;
int i, j;
- char *p, *q;
nc = collapsible(names);
if (nc < 2) return; /* Nothing to do */
--
2.22.0

View File

@ -146,13 +146,13 @@
%global origin_nice OpenJDK %global origin_nice OpenJDK
%global top_level_dir_name %{origin} %global top_level_dir_name %{origin}
%global repo jdk8u %global repo jdk8u
%global revision jdk8u332-b09 %global revision jdk8u342-b07
%global full_revision %{repo}-%{revision} %global full_revision %{repo}-%{revision}
# Define IcedTea version used for SystemTap tapsets and desktop files # Define IcedTea version used for SystemTap tapsets and desktop files
%global icedteaver 3.15.0 %global icedteaver 3.15.0
%global updatever 332 %global updatever 342
%global buildver b09 %global buildver b07
# priority must be 7 digits in total. The expression is workarounding tip # priority must be 7 digits in total. The expression is workarounding tip
%global priority 1800%{updatever} %global priority 1800%{updatever}
@ -583,7 +583,7 @@ exit 0
%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libnpt.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libnpt.so
%ifarch %{aarch64} %ifarch %{aarch64}
%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libj2kae.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libj2kae.so
%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/kaeprovider.conf %{_jvmdir}/%{jredir -- %{?1}}/lib/kaeprovider.conf
%endif %endif
%ifarch %{sa_arches} %ifarch %{sa_arches}
%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libsaproc.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libsaproc.so
@ -916,7 +916,7 @@ Provides: java-%{javaver}-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{r
Name: java-%{javaver}-%{origin} Name: java-%{javaver}-%{origin}
Version: %{javaver}.%{updatever}.%{buildver} Version: %{javaver}.%{updatever}.%{buildver}
Release: 2 Release: 15
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
# and this change was brought into RHEL-4. java-1.5.0-ibm packages # and this change was brought into RHEL-4. java-1.5.0-ibm packages
# also included the epoch in their virtual provides. This created a # also included the epoch in their virtual provides. This created a
@ -993,7 +993,6 @@ Patch58: Reduce-the-probability-of-the-crash-related-to-ciObj.patch
Patch62: 8165857.patch Patch62: 8165857.patch
Patch63: 8033552.patch Patch63: 8033552.patch
Patch67: 8165860.patch Patch67: 8165860.patch
Patch68: 8194154.patch
Patch70: 8164948.patch Patch70: 8164948.patch
# 8u242 # 8u242
@ -1044,7 +1043,6 @@ Patch142: 8207160.patch
Patch144: add-appcds-test-case.patch Patch144: add-appcds-test-case.patch
# 8u282 # 8u282
Patch146: 8168926.patch
Patch147: 8215047.patch Patch147: 8215047.patch
Patch148: 8237894.patch Patch148: 8237894.patch
Patch149: Remove-the-parentheses-around-company-name.patch Patch149: Remove-the-parentheses-around-company-name.patch
@ -1075,13 +1073,11 @@ Patch177: downgrade-symver-of-memcpy-GLIBC.patch
Patch178: fix-log-bug-enhance-aes-hmac-performance.patch Patch178: fix-log-bug-enhance-aes-hmac-performance.patch
Patch179: keep-the-binary-equal.patch Patch179: keep-the-binary-equal.patch
Patch180: link-option-use-rpath-instead-of-runpath.patch Patch180: link-option-use-rpath-instead-of-runpath.patch
Patch181: remove-gnu-debuglink-when-using-enable-debug-.patch
Patch183: revert-windows-bugfix.patch Patch183: revert-windows-bugfix.patch
Patch184: set-vm.vendor-by-configure.patch Patch184: set-vm.vendor-by-configure.patch
Patch185: update-cacerts-and-VerifyCACerts.java-test.patch Patch185: update-cacerts-and-VerifyCACerts.java-test.patch
Patch186: update-to-keep-same-with-master.patch Patch186: update-to-keep-same-with-master.patch
Patch188: 8247691_incorrect_handling_of_VM_exceptions_in_C1_deopt_stub.patch Patch188: 8247691_incorrect_handling_of_VM_exceptions_in_C1_deopt_stub.patch
Patch189: 8266187_Memory_leak_in_appendBootClassPath.patch
Patch192: add_kae_implementation_add_default_conf_file.patch Patch192: add_kae_implementation_add_default_conf_file.patch
Patch193: improve_algorithmConstraints_checkAlgorithm_performance.patch Patch193: improve_algorithmConstraints_checkAlgorithm_performance.patch
Patch194: modify_the_default_iteration_time_and_forks_in_the_JMH_of_KAEProvider.patch Patch194: modify_the_default_iteration_time_and_forks_in_the_JMH_of_KAEProvider.patch
@ -1105,7 +1101,6 @@ Patch212: enhance-the-TimeZone-s-path-solution-on-Euler.patch
Patch214: fix-appcds-s-option-AppCDSLockFile.patch Patch214: fix-appcds-s-option-AppCDSLockFile.patch
Patch215: PS-introduce-UsePSRelaxedForwardee-to-enable-using-r.patch Patch215: PS-introduce-UsePSRelaxedForwardee-to-enable-using-r.patch
Patch216: Parallel-Full-GC-for-G1.patch Patch216: Parallel-Full-GC-for-G1.patch
Patch217: 8202142-jfr-event-io-TestInstrumentation-is-unstable.patch
Patch218: 8143251-Thread-suspend-on-VM_G1IncCollectionPause-do.patch Patch218: 8143251-Thread-suspend-on-VM_G1IncCollectionPause-do.patch
Patch219: G1Uncommit-Introduce-G1PeriodGCNotRetry-control-whet.patch Patch219: G1Uncommit-Introduce-G1PeriodGCNotRetry-control-whet.patch
Patch220: JDK-debug-version-crash-when-using-AppCDS.patch Patch220: JDK-debug-version-crash-when-using-AppCDS.patch
@ -1121,7 +1116,6 @@ Patch229: downgrade-the-symver-of-fcntl64.patch
# 8u322 # 8u322
Patch230: add-system-property-swing.JComboBox.useLegacyMode.patch Patch230: add-system-property-swing.JComboBox.useLegacyMode.patch
Patch231: debuginfo.diz-should-not-contain-the-path-after-unzip.patch
Patch232: 8173361-various-crashes-in-JvmtiExport-post_compiled.patch Patch232: 8173361-various-crashes-in-JvmtiExport-post_compiled.patch
Patch233: fix-TestUseCompressedOopsErgo-run-failed.patch Patch233: fix-TestUseCompressedOopsErgo-run-failed.patch
Patch235: fix-testme-Test6929067-run-faild.patch Patch235: fix-testme-Test6929067-run-faild.patch
@ -1133,9 +1127,30 @@ Patch240: 8207011-Remove-uses-of-the-register-storage-class-specifier.patch
Patch241: 8268819-SA-Remove-libthread_db-dependency-on-Linux.patch Patch241: 8268819-SA-Remove-libthread_db-dependency-on-Linux.patch
# 8u332 # 8u332
Patch242: fix-make-bugs-when-git-and-hg-not-exist.patch
Patch243: Fix-compile-and-runtime-failures-for-minimal1-versio.patch Patch243: Fix-compile-and-runtime-failures-for-minimal1-versio.patch
Patch244: fix_X509TrustManagerImpl_symantec_distrust.patch Patch244: fix_X509TrustManagerImpl_symantec_distrust.patch
Patch245: change-sa-jdi.jar-make-file-for-BEP.PATCH
Patch246: 7092821-java.security.Provider.getService-is-synchro.patch
Patch247: 8173339-AArch64-Fix-minimum-stack-size-computations.patch
Patch248: 8067941-TESTBUG-Fix-tests-for-OS-with-64K-page-size.patch
# 8u342
Patch249: Improve_AlgorithmConstraints_checkAlgorithm_performance.patch
Patch250: modify_coding_style_and_describe_error.patch
Patch251: fix_wrap_memcpy_undefined_gcc10_3.patch
Patch252: 8290705_fix_StringConcat_validate_mem_flow_asserts_with_unexpected_userStoreI.patch
Patch253: 8143925-enhancing-CounterMode.crypt-for-AESCrypt.patch
Patch254: kae-usability-enhancement.patch
Patch255: Dynamic-CDS-Archive.patch
Patch256: 8202951-Support-default-jsa.patch
Patch257: 8200332-Improve-GCM-counting.patch
Patch258: dynamic-cds-_header-and-_fd-handles-are-not-free.patch
Patch259: fix-dumped-heap-using-jhat-parsing-to-appear-failed-to-resolve-object-id-warning-message.patch
Patch260: 8159720-Failure-of-C2-compilation-with-tiered-preven.patch
Patch261: revert-fPIC-and-security-compilation-flag-on.patch
Patch262: add-configuration-option-of-huawei-internal-version-shown-in-release-file.patch
Patch263: The-code-style-is-fixed-and-test-cases-are-added.patch
Patch264: 8287109-Distrust-failed-with-CertificateExpired.patch
############################################# #############################################
# #
@ -1197,6 +1212,7 @@ BuildRequires: cups-devel
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
# elfutils only are OK for build without AOT # elfutils only are OK for build without AOT
BuildRequires: elfutils-devel BuildRequires: elfutils-devel
BuildRequires: elfutils-extra
BuildRequires: fontconfig-devel BuildRequires: fontconfig-devel
BuildRequires: freetype-devel BuildRequires: freetype-devel
BuildRequires: giflib-devel BuildRequires: giflib-devel
@ -1494,7 +1510,6 @@ pushd %{top_level_dir_name}
%patch62 -p1 %patch62 -p1
%patch63 -p1 %patch63 -p1
%patch67 -p1 %patch67 -p1
%patch68 -p1
%patch70 -p1 %patch70 -p1
%patch75 -p1 %patch75 -p1
%patch83 -p1 %patch83 -p1
@ -1533,7 +1548,6 @@ pushd %{top_level_dir_name}
%patch141 -p1 %patch141 -p1
%patch142 -p1 %patch142 -p1
%patch144 -p1 %patch144 -p1
%patch146 -p1
%patch147 -p1 %patch147 -p1
%patch148 -p1 %patch148 -p1
%patch149 -p1 %patch149 -p1
@ -1562,13 +1576,11 @@ pushd %{top_level_dir_name}
%patch178 -p1 %patch178 -p1
%patch179 -p1 %patch179 -p1
%patch180 -p1 %patch180 -p1
%patch181 -p1
%patch183 -p1 %patch183 -p1
%patch184 -p1 %patch184 -p1
%patch185 -p1 %patch185 -p1
%patch186 -p1 %patch186 -p1
%patch188 -p1 %patch188 -p1
%patch189 -p1
%patch192 -p1 %patch192 -p1
%patch194 -p1 %patch194 -p1
%patch195 -p1 %patch195 -p1
@ -1589,7 +1601,6 @@ pushd %{top_level_dir_name}
%patch214 -p1 %patch214 -p1
%patch215 -p1 %patch215 -p1
%patch216 -p1 %patch216 -p1
%patch217 -p1
%patch218 -p1 %patch218 -p1
%patch219 -p1 %patch219 -p1
%patch220 -p1 %patch220 -p1
@ -1601,7 +1612,6 @@ pushd %{top_level_dir_name}
%patch228 -p1 %patch228 -p1
%patch229 -p1 %patch229 -p1
%patch230 -p1 %patch230 -p1
%patch231 -p1
%patch232 -p1 %patch232 -p1
%patch233 -p1 %patch233 -p1
%patch235 -p1 %patch235 -p1
@ -1611,9 +1621,28 @@ pushd %{top_level_dir_name}
%patch239 -p1 %patch239 -p1
%patch240 -p1 %patch240 -p1
%patch241 -p1 %patch241 -p1
%patch242 -p1
%patch243 -p1 %patch243 -p1
%patch244 -p1 %patch244 -p1
%patch245 -p1
%patch246 -p1
%patch247 -p1
%patch248 -p1
%patch249 -p1
%patch250 -p1
%patch251 -p1
%patch252 -p1
%patch253 -p1
%patch254 -p1
%patch255 -p1
%patch256 -p1
%patch257 -p1
%patch258 -p1
%patch259 -p1
%patch260 -p1
%patch261 -p1
%patch262 -p1
%patch263 -p1
%patch264 -p1
popd popd
# System library fixes # System library fixes
@ -2238,6 +2267,81 @@ cjc.mainProgram(arg)
%endif %endif
%changelog %changelog
* Sat Sep 24 2022 kuenking111<wangkun49@huawei.com> - 1:1.8.0.342-b07.15
- add 8287109-Distrust-failed-with-CertificateExpired.patch
* Fri Sep 23 2022 kuenking111<wangkun49@huawei.com> - 1:1.8.0.342-b07.14
- add The-code-style-is-fixed-and-test-cases-are-added.patch
* Thu Sep 22 2022 kuenking111<wangkun49@huawei.com> - 1:1.8.0.342-b07.13
- add add-configuration-option-of-huawei-internal-version-shown-in-release-file.patch
* Wed Sep 21 2022 kuenking111<wangkun49@huawei.com> - 1:1.8.0.342-b07.12
- add revert-fPIC-and-security-compilation-flag-on.patch
* Mon Sep 19 2022 zhoulei<zhoulei103@huawei.com> - 1:1.8.0.342-b07.11
- add 8159720-Failure-of-C2-compilation-with-tiered-preven.patch
* Fri Sep 16 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.342-b07.10
- add fix-dumped-heap-using-jhat-parsing-to-appear-failed-to-resolve-object-id-warning-message.patch
* Fri Sep 16 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.342-b07.9
- add dynamic-cds-_header-and-_fd-handles-are-not-free.patch
* Fri Sep 16 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.342-b07.8
- add 8200332-Improve-GCM-counting.patch
* Fri Sep 16 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.342-b07.7
- add 8202951-Support-default-jsa.patch
* Thu Sep 15 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.342-b07.6
- add Dynamic-CDS-Archive.patch
* Thu Sep 15 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.342-b07.5
- add kae-usability-enhancement.patch
* Thu Sep 15 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.342-b07.4
- add 8143925-enhancing-CounterMode.crypt-for-AESCrypt.patch
* Fri Aug 5 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.342-b07.3
- add 8290705_fix_StringConcat_validate_mem_flow_asserts_with_unexpected_userStoreI.patch
- modified version.txt
* Thu Jul 28 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.342-b07.2
- add modify_coding_style_and_describe_error.patch
- add Improve_AlgorithmConstraints_checkAlgorithm_performance.patch
- add fix_wrap_memcpy_undefined_gcc10_3.patch
- modified implementation_of_Blas_hotspot_function_in_Intrinsics.patch
* Thu Jul 28 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.342-b07.1
- del hg git files
* Fri Jul 22 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.342-b07.0
- del 8168926.patch
- del 8194154.patch
- del 8202142-jfr-event-io-TestInstrumentation-is-unstable.patch
- del 8266187_Memory_leak_in_appendBootClassPath.patch
- del debuginfo.diz-should-not-contain-the-path-after-unzip.patch
- del fix-make-bugs-when-git-and-hg-not-exist.patch
- modified 7092821-java.security.Provider.getService-is-synchro.patch
- modified 8268819-SA-Remove-libthread_db-dependency-on-Linux.patch
- modified fix-log-bug-enhance-aes-hmac-performance.patch
* Fri Jul 15 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.332-b09.7
- del remove-gnu-debuglink-when-using-enable-debug-.patch
* Mon Jul 4 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.332-b09.6
- add 8067941-TESTBUG-Fix-tests-for-OS-with-64K-page-size.patch
* Mon Jul 4 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.332-b09.5
- add 8173339-AArch64-Fix-minimum-stack-size-computations.patch
* Mon Jul 4 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.332-b09.4
- add 7092821-java.security.Provider.getService-is-synchro.patch
* Thu Jun 30 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.332-b09.3
- add change-sa-jdi.jar-make-file-for-BEP.PATCH
* Thu Apr 28 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.332-b09.2 * Thu Apr 28 2022 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.332-b09.2
- add fix_X509TrustManagerImpl_symantec_distrust.patch - add fix_X509TrustManagerImpl_symantec_distrust.patch
@ -2285,7 +2389,7 @@ cjc.mainProgram(arg)
- deleted Delete-expired-certificate-globalsignr2ca.patch - deleted Delete-expired-certificate-globalsignr2ca.patch
- deleted inline-optimize-for-aarch64.patch - deleted inline-optimize-for-aarch64.patch
* Wed Jan 05 2021 noah <hedongbo@huawei.com> - 1:1.8.0.312-b07.11 * Tue Jan 05 2021 noah <hedongbo@huawei.com> - 1:1.8.0.312-b07.11
- adapted to newst cjc to fix issue with rpm 4.17 - adapted to newst cjc to fix issue with rpm 4.17
* Tue Dec 21 2021 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.312-b07.10 * Tue Dec 21 2021 kuenking111 <wangkun49@huawei.com> - 1:1.8.0.312-b07.10

View File

@ -1,68 +0,0 @@
From 39774b66e6b962a89a02504f08c20b309f9eef1f Mon Sep 17 00:00:00 2001
From: zhangyipeng <zhangyipeng7@huawei.com>
Date: Thu, 4 Mar 2021 10:10:30 +0800
Subject: [PATCH] [Huawei]remove gnu debuglink when using enable debug
symbols
Signed-off-by: Sun Jianye <sunjianye@huawei.com>
---
hotspot/make/linux/makefiles/jsig.make | 1 -
hotspot/make/linux/makefiles/saproc.make | 1 -
hotspot/make/linux/makefiles/vm.make | 1 -
make/common/NativeCompilation.gmk | 2 +-
4 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/hotspot/make/linux/makefiles/jsig.make b/hotspot/make/linux/makefiles/jsig.make
index 6290db5af..9838a50aa 100644
--- a/hotspot/make/linux/makefiles/jsig.make
+++ b/hotspot/make/linux/makefiles/jsig.make
@@ -63,7 +63,6 @@ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifneq ($(STRIP_POLICY),no_strip)
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
- $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
endif
ifeq ($(STRIP_POLICY),all_strip)
$(QUIETLY) $(STRIP) $@
diff --git a/hotspot/make/linux/makefiles/saproc.make b/hotspot/make/linux/makefiles/saproc.make
index ffc0ec5ce..dfeb254da 100644
--- a/hotspot/make/linux/makefiles/saproc.make
+++ b/hotspot/make/linux/makefiles/saproc.make
@@ -107,7 +107,6 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifneq ($(STRIP_POLICY),no_strip)
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO)
- $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@
endif
ifeq ($(STRIP_POLICY),all_strip)
$(QUIETLY) $(STRIP) $@
diff --git a/hotspot/make/linux/makefiles/vm.make b/hotspot/make/linux/makefiles/vm.make
index 1985db071..408b0cc9d 100644
--- a/hotspot/make/linux/makefiles/vm.make
+++ b/hotspot/make/linux/makefiles/vm.make
@@ -359,7 +359,6 @@ $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifneq ($(STRIP_POLICY),no_strip)
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
- $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
endif
ifeq ($(STRIP_POLICY),all_strip)
$(QUIETLY) $(STRIP) $@
diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk
index 9980e8ab9..4fa9f14cf 100644
--- a/make/common/NativeCompilation.gmk
+++ b/make/common/NativeCompilation.gmk
@@ -487,7 +487,7 @@ define SetupNativeCompilation
$$($1_DEBUGINFO_FILES): $$($1_TARGET)
$(RM) $$@
$(OBJCOPY) --only-keep-debug $$< $$@
- $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
+ $(CD) $$(@D)
$(TOUCH) $$@
endif
else ifeq ($(OPENJDK_TARGET_OS), aix)
--
2.19.0

View File

@ -0,0 +1,60 @@
From 9ffc530e0d34086e68c87306ca0410e5847812d6 Mon Sep 17 00:00:00 2001
Date: Wed, 21 Sep 2022 09:53:14 +0800
Subject: revert fPIC and security compilation flag on
---
common/autoconf/flags.m4 | 6 +-----
common/autoconf/generated-configure.sh | 6 +-----
hotspot/make/pic.make | 2 +-
3 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/common/autoconf/flags.m4 b/common/autoconf/flags.m4
index 69bea78d..71703a15 100644
--- a/common/autoconf/flags.m4
+++ b/common/autoconf/flags.m4
@@ -807,11 +807,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined"
fi
if test "x$TOOLCHAIN_TYPE" = xgcc; then
- # Enabling pie on 32 bit builds prevents the JVM from allocating a continuous
- # java heap.
- if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then
- LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -pie"
- fi
+ LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -pie"
fi
fi
AC_SUBST(LDFLAGS_JDKLIB)
diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh
index f0e49f50..53e6cf18 100644
--- a/common/autoconf/generated-configure.sh
+++ b/common/autoconf/generated-configure.sh
@@ -43068,11 +43068,7 @@ $as_echo "$supports" >&6; }
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined"
fi
if test "x$TOOLCHAIN_TYPE" = xgcc; then
- # Enabling pie on 32 bit builds prevents the JVM from allocating a continuous
- # java heap.
- if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then
- LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -pie"
- fi
+ LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -pie"
fi
fi
diff --git a/hotspot/make/pic.make b/hotspot/make/pic.make
index 0e61ad93..3d85546c 100644
--- a/hotspot/make/pic.make
+++ b/hotspot/make/pic.make
@@ -30,7 +30,7 @@ include $(GAMMADIR)/make/scm.make
ifneq ($(OSNAME), windows)
ifndef LP64
- PARTIAL_NONPIC=1
+ PARTIAL_NONPIC=0
endif
PIC_ARCH = ppc arm
ifneq ("$(filter $(PIC_ARCH),$(BUILDARCH))","")
--
2.22.0