From 5c38fcd0100bcdbb3c9a46263cc0d9e89a6712f4 Mon Sep 17 00:00:00 2001 From: Benshuai5D Date: Tue, 15 Jul 2025 10:11:30 +0800 Subject: [PATCH] AArch64: Incorrect matching rule leading to improper oop instruction encoding --- huawei-AArch64-Incorrect-matching-rule.patch | 22 ++++++++++++++++++++ openjdk-21.spec | 7 ++++++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 huawei-AArch64-Incorrect-matching-rule.patch diff --git a/huawei-AArch64-Incorrect-matching-rule.patch b/huawei-AArch64-Incorrect-matching-rule.patch new file mode 100644 index 0000000..9437a3e --- /dev/null +++ b/huawei-AArch64-Incorrect-matching-rule.patch @@ -0,0 +1,22 @@ +Subject: [PATCH] Backport JDK-8361892: AArch64: Incorrect matching rule + leading to improper oop instruction encoding + +--- + src/hotspot/cpu/aarch64/aarch64.ad | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/hotspot/cpu/aarch64/aarch64.ad b/src/hotspot/cpu/aarch64/aarch64.ad +index 015bfabc2..6932dd8df 100644 +--- a/src/hotspot/cpu/aarch64/aarch64.ad ++++ b/src/hotspot/cpu/aarch64/aarch64.ad +@@ -4694,6 +4694,7 @@ operand immByteMapBase() + %{ + // Get base of card map + predicate(BarrierSet::barrier_set()->is_a(BarrierSet::CardTableBarrierSet) && ++ n->get_ptr_type()->isa_rawptr() != nullptr && + (CardTable::CardValue*)n->get_ptr() == ((CardTableBarrierSet*)(BarrierSet::barrier_set()))->card_table()->byte_map_base()); + match(ConP); + +-- +2.34.1 + diff --git a/openjdk-21.spec b/openjdk-21.spec index e097bcc..f17fd85 100644 --- a/openjdk-21.spec +++ b/openjdk-21.spec @@ -905,7 +905,7 @@ Name: java-21-%{origin} Version: %{newjavaver}.%{buildver} # This package needs `.rolling` as part of Release so as to not conflict on install with # java-X-openjdk. I.e. when latest rolling release is also an LTS release packaged as -Release: 6 +Release: 7 # 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 @@ -1041,6 +1041,7 @@ Patch90: Backport-JDK-7036144-GZIPInputStream-readTrailer-use.patch Patch91: Backport-JDK-8314236-Overflow-in-Collections.rotate.patch Patch92: Backport-JDK-8340532-C2-assert-is_OuterStripMinedLoo.patch Patch93: huawei-fix-arm32-build-fail-undefined-reference-_Copy_conjo.patch +Patch94: huawei-AArch64-Incorrect-matching-rule.patch ############################################ # # LoongArch64 specific patches @@ -1348,6 +1349,7 @@ pushd %{top_level_dir_name} %patch91 -p1 %patch92 -p1 %patch93 -p1 +%patch94 -p1 popd # openjdk %endif @@ -1923,6 +1925,9 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect %changelog +* Tue Jul 15 2025 Benshuai5D - 1:21.0.7.6-7 +- add huawei-AArch64-Incorrect-matching-rule.patch + * Thu Jul 10 2025 Benshuai5D - 1:21.0.7.6-6 - add Backport-JDK-7036144-GZIPInputStream-readTrailer-use.patch - add Backport-JDK-8314236-Overflow-in-Collections.rotate.patch -- Gitee