From b55be1b0fe5eec3c26e266421a1642ae6d242e79 Mon Sep 17 00:00:00 2001 From: wulongyao Date: Tue, 15 Jul 2025 12:34:46 +0800 Subject: [PATCH] AArch64: Incorrect matching rule leading to improper oop instruction encoding --- huawei-AArch64-Incorrect-matching-rule.patch | 23 ++++++++++++++++++++ openjdk-17.spec | 7 +++++- 2 files changed, 29 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..1fd87e6 --- /dev/null +++ b/huawei-AArch64-Incorrect-matching-rule.patch @@ -0,0 +1,23 @@ +From 1ff50c30286820bd4804e9330405247bf16d0726 Mon Sep 17 00:00:00 2001 +Date: Tue, 15 Jul 2025 10:26:35 +0800 +Subject: [PATCH] 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 350e4cad0..5fc8b3582 100644 +--- a/src/hotspot/cpu/aarch64/aarch64.ad ++++ b/src/hotspot/cpu/aarch64/aarch64.ad +@@ -4754,6 +4754,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-17.spec b/openjdk-17.spec index 7afba25..5c44459 100644 --- a/openjdk-17.spec +++ b/openjdk-17.spec @@ -920,7 +920,7 @@ Provides: java-src%{?1} = %{epoch}:%{version}-%{release} Name: java-%{javaver}-%{origin} Version: %{newjavaver}.%{buildver} -Release: 5 +Release: 6 # 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 @@ -1073,6 +1073,7 @@ Patch79: Huawei-fix-potential-build-fail-in-jbolt.patch Patch80: 8352716-tz-Update-Timezone-Data-to-2025b.patch Patch81: heapdump-bug-fix.patch Patch82: CompileCommand-support-dontprediction.patch +Patch83: huawei-AArch64-Incorrect-matching-rule.patch ############################################ # # LoongArch64 specific patches @@ -1374,6 +1375,7 @@ pushd %{top_level_dir_name} %patch 80 -p1 %patch 81 -p1 %patch 82 -p1 +%patch 83 -p1 popd # openjdk %endif @@ -1999,6 +2001,9 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect %changelog +* Tue Jul 15 2025 wulongyao - 1:17.0.15.6-6 +- add huawei-AArch64-Incorrect-matching-rule.patch + * Fri Jun 13 2025 wulongyao - 1:17.0.15.6-5 - add CompileCommand-support-dontprediction.patch -- Gitee