summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/java.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 7ad1116527..dd6c549a25 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -884,6 +884,18 @@ new Date();"))
 
        #:phases
        (modify-phases %standard-phases
+         ,@(if (target-aarch64?)
+               `((add-after 'unpack 'patch-for-aarch64
+                   (lambda _
+                     (substitute* "hotspot/src/cpu/aarch64/vm/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")
+                        "Interpreter specific version of call_VM_base
+  using MacroAssembler::call_VM_leaf_base;")))))
+               '())
          (add-after 'patch-source-shebangs 'fix-java-shebangs
            (lambda _
              ;; This file was "fixed" by patch-source-shebangs, but it requires