diff options
| author | Alfred E. Neumayer <dev.beidl@gmail.com> | 2022-10-17 22:21:33 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-17 22:21:33 +0200 |
| commit | f19b89b26309ae044f9a42200823dfb0bb3af244 (patch) | |
| tree | 1973799409ead21d3b8728486ad4362915624f30 /src | |
| parent | 0a908d78ca65bc704c97794d7bc326a04d228fb4 (diff) | |
| download | box64-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-x | src/dynarec/arm64/arm64_epilog.S | 4 | ||||
| -rwxr-xr-x | src/dynarec/arm64/arm64_next.S | 2 | ||||
| -rwxr-xr-x | src/dynarec/arm64/arm64_prolog.S | 2 |
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)] |