OpenJDK source code prior to version 11 have a duplicate 'using' statement
in hotspot's interp_masm_aarch64.hpp, which let's compilation of
openjdk@9.181 fail on aarch64, and in consequence all openjdk versions,
since each version larger than major 9 depends on the next lower major
version of openjdk.
This patch will make openjdk available on aarch64, again.
* gnu/packages/java.scm (openjdk9|openjdk10)[source](patches): adding patches
to remove duplicate 'using' statements causing build to fail on aarch64.
* gnu/packages/patches/openjdk-9-duplicate-using-declaration.patch,
gnu/packages/patches/openjdk-10-duplicate-using-declaration.patch: New files
---
gnu/packages/java.scm | 6 ++++--
.../openjdk-10-duplicate-using-declaration.patch | 15 +++++++++++++++
.../openjdk-9-duplicate-using-declaration.patch | 15 +++++++++++++++
3 files changed, 34 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/openjdk-10-duplicate-using-declaration.patch
create mode 100644 gnu/packages/patches/openjdk-9-duplicate-using-declaration.patch
Toggle diff (68 lines)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 5a6288581e..69c4e604a8 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -873,7 +873,8 @@ (define-public openjdk9
(base32
"1v92nzdqx07c35x945awzir4yk0fk22vky6fpp8mq9js930sxsz0"))
(patches (search-patches "openjdk-9-pointer-comparison.patch"
- "openjdk-9-setsignalhandler.patch"))))
+ "openjdk-9-setsignalhandler.patch"
+ "openjdk-9-duplicate-using-declaration.patch"))))
(build-system gnu-build-system)
(outputs '("out" "jdk" "doc"))
(arguments
@@ -1060,7 +1061,8 @@ (define-public openjdk10
(patches (search-patches
"openjdk-10-idlj-reproducibility.patch"
"openjdk-10-pointer-comparison.patch"
- "openjdk-10-setsignalhandler.patch"))))
+ "openjdk-10-setsignalhandler.patch"
+ "openjdk-10-duplicate-using-declaration.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments openjdk9)
((#:phases phases)
diff --git a/gnu/packages/patches/openjdk-10-duplicate-using-declaration.patch b/gnu/packages/patches/openjdk-10-duplicate-using-declaration.patch
new file mode 100644
index 0000000000..48cded60e3
--- /dev/null
+++ b/gnu/packages/patches/openjdk-10-duplicate-using-declaration.patch
@@ -0,0 +1,15 @@
+Patch from changeset of openjdk11:
+https://hg.openjdk.org/jdk-updates/jdk11u/rev/15cc1c8a6371
+
+diff -u -r openjdk-10.alt/src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp openjdk-10/src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp
+--- openjdk-10.alt/src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp 2023-07-16 14:33:27.570165136 +0200
++++ openjdk-10/src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp 2023-07-16 14:34:55.325163199 +0200
+@@ -39,8 +39,6 @@
+ protected:
+
+ protected:
+- using MacroAssembler::call_VM_leaf_base;
+-
+ // Interpreter specific version of call_VM_base
+ using MacroAssembler::call_VM_leaf_base;
+
diff --git a/gnu/packages/patches/openjdk-9-duplicate-using-declaration.patch b/gnu/packages/patches/openjdk-9-duplicate-using-declaration.patch
new file mode 100644
index 0000000000..3fa933ad36
--- /dev/null
+++ b/gnu/packages/patches/openjdk-9-duplicate-using-declaration.patch
@@ -0,0 +1,15 @@
+Patch from changeset of openjdk11:
+https://hg.openjdk.org/jdk-updates/jdk11u/rev/15cc1c8a6371
+
+diff -u -r openjdk-9.alt/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp openjdk-9/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp
+--- openjdk-9.alt/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp 2023-07-15 19:03:09.063790084 +0200
++++ openjdk-9/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp 2023-07-15 19:01:12.289447197 +0200
+@@ -39,8 +39,6 @@
+ protected:
+
+ protected:
+- using MacroAssembler::call_VM_leaf_base;
+-
+ // Interpreter specific version of call_VM_base
+ using MacroAssembler::call_VM_leaf_base;
+
--
2.41.0