about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorAlfred E. Neumayer <dev.beidl@gmail.com>2022-10-17 22:21:33 +0200
committerGitHub <noreply@github.com>2022-10-17 22:21:33 +0200
commitf19b89b26309ae044f9a42200823dfb0bb3af244 (patch)
tree1973799409ead21d3b8728486ad4362915624f30 /src
parent0a908d78ca65bc704c97794d7bc326a04d228fb4 (diff)
downloadbox64-f19b89b26309ae044f9a42200823dfb0bb3af244.tar.gz
box64-f19b89b26309ae044f9a42200823dfb0bb3af244.zip
src: asm: Rename lr & fp registers to their x-equivalents (#426)
Older GCC versions (like on Ubuntu Touch) don't recognize the aliases.
Fixes building box64 with older toolchains.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/arm64/arm64_epilog.S4
-rwxr-xr-xsrc/dynarec/arm64/arm64_next.S2
-rwxr-xr-xsrc/dynarec/arm64/arm64_prolog.S2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/dynarec/arm64/arm64_epilog.S b/src/dynarec/arm64/arm64_epilog.S
index 4b73803a..f2704efd 100755
--- a/src/dynarec/arm64/arm64_epilog.S
+++ b/src/dynarec/arm64/arm64_epilog.S
@@ -30,7 +30,7 @@ arm64_epilog:
     ldp     d12, d13, [sp, (8 *14)]
     ldp     d14, d15, [sp, (8 *16)]
     add     sp,  sp, (8 * 18)
-    ldp     lr, fp, [sp], 16  // saved lr
+    ldp     x30, x29, [sp], 16  // saved lr
     //end, return...
     ret
 
@@ -49,6 +49,6 @@ arm64_epilog_fast:
     ldp     d12, d13, [sp, (8 *14)]
     ldp     d14, d15, [sp, (8 *16)]
     add     sp,  sp, (8 * 18)
-    ldp     lr, fp, [sp], 16  // saved lr
+    ldp     x30, x29, [sp], 16  // saved lr
     //end, return...
     ret
diff --git a/src/dynarec/arm64/arm64_next.S b/src/dynarec/arm64/arm64_next.S
index 5e890137..837dfb12 100755
--- a/src/dynarec/arm64/arm64_next.S
+++ b/src/dynarec/arm64/arm64_next.S
@@ -20,7 +20,7 @@ arm64_next:
     stp     x16, x17, [sp, (8 *  8)]
     stp     x18, x27, [sp, (8 * 10)]    // also save x27(rip) to allow change in LinkNext
 
-    mov     x2, lr      // "from" is in lr, so put in x2
+    mov     x2, x30      // "from" is in lr, so put in x2
     add     x3, sp, 8*11    // x3 is address to change rip
     // call the function
     bl      LinkNext
diff --git a/src/dynarec/arm64/arm64_prolog.S b/src/dynarec/arm64/arm64_prolog.S
index 21961e5b..12998b47 100755
--- a/src/dynarec/arm64/arm64_prolog.S
+++ b/src/dynarec/arm64/arm64_prolog.S
@@ -9,7 +9,7 @@
 .global arm64_prolog
 arm64_prolog:
     //save all 18 used register
-    stp     lr, fp, [sp, -16]!  // save lr
+    stp     x30, x29, [sp, -16]!  // save lr
     sub     sp,  sp, (8 * 18)
     stp     x19, x20, [sp, (8 * 0)]
     stp     x21, x22, [sp, (8 * 2)]