diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 502bd30247..30a59ec5a3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Gábor Boskovits ;;; Copyright © 2018 Chris Marusich -;;; Copyright © 2018, 2019, 2020, 2021, 2022 Efraim Flashner +;;; Copyright © 2018-2023 Efraim Flashner ;;; Copyright © 2019, 2020, 2021 Björn Höfling ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Raghav Gururajan @@ -1078,6 +1078,18 @@ (define-public openjdk10 (substitute-keyword-arguments (package-arguments openjdk9) ((#:phases phases) `(modify-phases ,phases + ,@(if (target-aarch64?) + `((replace 'patch-for-aarch64 + (lambda _ + (substitute* "src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp" + ;; This line is duplicated, so remove both occurrences, + ;; then add back one occurrence by substituting a + ;; comment that occurs once. + (("using MacroAssembler::call_VM_leaf_base;") "") + (("Interpreter specific version of call_VM_base") + (string-append "Interpreter specific version of call_VM_base\n" + " using MacroAssembler::call_VM_leaf_base;")))))) + '()) (replace 'fix-java-shebangs (lambda _ ;; This file was "fixed" by patch-source-shebangs, but it requires