diff options
Diffstat (limited to 'lib/mlibc/options/internal/aarch64/setjmp.S')
-rw-r--r-- | lib/mlibc/options/internal/aarch64/setjmp.S | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/lib/mlibc/options/internal/aarch64/setjmp.S b/lib/mlibc/options/internal/aarch64/setjmp.S deleted file mode 100644 index 9dddaa8..0000000 --- a/lib/mlibc/options/internal/aarch64/setjmp.S +++ /dev/null @@ -1,63 +0,0 @@ -// vim: ft=arm64asm - -.extern __sigsetjmp - -.type __setjmp, "function" -__setjmp: - stp x19, x20, [x0, #0] - stp x21, x22, [x0, #16] - stp x23, x24, [x0, #24] - stp x25, x26, [x0, #32] - stp x27, x28, [x0, #48] - stp x29, x30, [x0, #64] - stp x29, x30, [x0, #80] - mov x4, sp - str x4, [x0, #96] - - stp d8, d9, [x0, #112] - stp d10, d11, [x0, #128] - stp d12, d13, [x0, #144] - stp d14, d15, [x0, #160] - - cbnz x2, 1f - - mov x0, xzr - ret -1: - b __sigsetjmp - -.global setjmp -.type setjmp, "function" -setjmp: - mov x2, xzr - b __setjmp - -.global sigsetjmp -.type sigsetjmp, "function" -sigsetjmp: - mov x2, #1 - b __setjmp - -.global longjmp -.type longjmp, "function" -longjmp: - ldp x19, x20, [x0, #0] - ldp x21, x22, [x0, #16] - ldp x23, x24, [x0, #24] - ldp x25, x26, [x0, #32] - ldp x27, x28, [x0, #48] - ldp x29, x30, [x0, #64] - ldp x29, x30, [x0, #80] - ldr x4, [x0, #96] - mov sp, x4 - - ldp d8, d9, [x0, #112] - ldp d10, d11, [x0, #128] - ldp d12, d13, [x0, #144] - ldp d14, d15, [x0, #160] - - cmp w1, 0 - csinc w0, w1, wzr, ne - br x30 -.section .note.GNU-stack,"",%progbits - |