diff --git a/8248336-AArch64-C2-offset-overflow-in-BoxLockNode-em.patch b/8248336-AArch64-C2-offset-overflow-in-BoxLockNode-em.patch new file mode 100755 index 0000000..7f4edae --- /dev/null +++ b/8248336-AArch64-C2-offset-overflow-in-BoxLockNode-em.patch @@ -0,0 +1,45 @@ +From 0b09070295851b808b0266205282af763bd74baf Mon Sep 17 00:00:00 2001 +Date: Sun, 27 Sep 2020 14:52:45 +0800 +Subject: [PATCH] 8248336: AArch64: C2: offset overflow in BoxLockNode::emit + +Summary: : offset overflow in BoxLockNode::emit +LLT: jtreg +Bug url: https://bugs.openjdk.java.net/browse/JDK-8248336 +--- + hotspot/src/cpu/aarch64/vm/aarch64.ad | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +diff --git a/hotspot/src/cpu/aarch64/vm/aarch64.ad b/hotspot/src/cpu/aarch64/vm/aarch64.ad +index f53c68737..1774c9e1d 100644 +--- a/hotspot/src/cpu/aarch64/vm/aarch64.ad ++++ b/hotspot/src/cpu/aarch64/vm/aarch64.ad +@@ -1828,16 +1828,20 @@ void BoxLockNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const { + int offset = ra_->reg2offset(in_RegMask(0).find_first_elem()); + int reg = ra_->get_encode(this); + +- if (Assembler::operand_valid_for_add_sub_immediate(offset)) { +- __ add(as_Register(reg), sp, offset); +- } else { +- ShouldNotReachHere(); +- } ++ // This add will handle any 24-bit signed offset. 24 bits allows an ++ // 8 megabyte stack frame. ++ __ add(as_Register(reg), sp, offset); + } + + uint BoxLockNode::size(PhaseRegAlloc *ra_) const { + // BoxLockNode is not a MachNode, so we can't just call MachNode::size(ra_). +- return 4; ++ int offset = ra_->reg2offset(in_RegMask(0).find_first_elem()); ++ ++ if (Assembler::operand_valid_for_add_sub_immediate(offset)) { ++ return NativeInstruction::instruction_size; ++ } else { ++ return 2 * NativeInstruction::instruction_size; ++ } + } + + //============================================================================= +-- +2.12.3 + diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index d5c8b1f..10e3c7f 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -915,7 +915,7 @@ Provides: java-%{javaver}-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{r Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever}.%{buildver} -Release: 2 +Release: 3 # 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 # also included the epoch in their virtual provides. This created a @@ -1054,6 +1054,7 @@ Patch127: add-DumpSharedSpace-guarantee-when-create-anonymous-classes.patch # 8u272 Patch128: 8214440-ldap-over-a-TLS-connection-negotiate-fail.patch +Patch129: 8248336-AArch64-C2-offset-overflow-in-BoxLockNode-em.patch ############################################# # @@ -1463,6 +1464,7 @@ pushd %{top_level_dir_name} %patch126 -p1 %patch127 -p1 %patch128 -p1 +%patch129 -p1 popd @@ -2079,6 +2081,9 @@ require "copy_jdk_configs.lua" %endif %changelog +* Fri Nov 06 2020 wuyan - 1:1.8.0.272-b10.2 +- add 8248336-AArch64-C2-offset-overflow-in-BoxLockNode-em.patch + * Fri Nov 06 2020 xiezhaokun - 1:1.8.0.272-b10.2 - add 8214440-ldap-over-a-TLS-connection-negotiate-fail.patch