aarch64_elf.s (1634B)
1 .text 2 .align 4 3 4 .weak setjmp 5 setjmp: 6 stp x19, x20, [x0, #0] 7 stp x21, x22, [x0, #16] 8 stp x23, x24, [x0, #32] 9 stp x25, x26, [x0, #48] 10 stp x27, x28, [x0, #64] 11 stp x29, x30, [x0, #80] 12 mov x9, sp 13 str x9, [x0, #96] 14 stp d8, d9, [x0, #104] 15 stp d10, d11, [x0, #120] 16 stp d12, d13, [x0, #136] 17 stp d14, d15, [x0, #152] 18 mov x0, #0 19 ret 20 21 .weak longjmp 22 longjmp: 23 ldp d8, d9, [x0, #104] 24 ldp d10, d11, [x0, #120] 25 ldp d12, d13, [x0, #136] 26 ldp d14, d15, [x0, #152] 27 ldp x19, x20, [x0, #0] 28 ldp x21, x22, [x0, #16] 29 ldp x23, x24, [x0, #32] 30 ldp x25, x26, [x0, #48] 31 ldp x27, x28, [x0, #64] 32 ldp x29, x30, [x0, #80] 33 ldr x9, [x0, #96] 34 mov sp, x9 35 cmp x1, #0 36 csinc x0, x1, xzr, ne 37 ret 38 39 .globl __kit_coro_switch 40 __kit_coro_switch: 41 stp x19, x20, [x0, #0] 42 stp x21, x22, [x0, #16] 43 stp x23, x24, [x0, #32] 44 stp x25, x26, [x0, #48] 45 stp x27, x28, [x0, #64] 46 stp x29, x30, [x0, #80] 47 mov x9, sp 48 str x9, [x0, #96] 49 stp d8, d9, [x0, #104] 50 stp d10, d11, [x0, #120] 51 stp d12, d13, [x0, #136] 52 stp d14, d15, [x0, #152] 53 ldp d8, d9, [x1, #104] 54 ldp d10, d11, [x1, #120] 55 ldp d12, d13, [x1, #136] 56 ldp d14, d15, [x1, #152] 57 ldp x19, x20, [x1, #0] 58 ldp x21, x22, [x1, #16] 59 ldp x23, x24, [x1, #32] 60 ldp x25, x26, [x1, #48] 61 ldp x27, x28, [x1, #64] 62 ldp x29, x30, [x1, #80] 63 ldr x9, [x1, #96] 64 mov sp, x9 65 mov x0, x2 66 ret 67 68 .globl __kit_coro_trampoline 69 __kit_coro_trampoline: 70 blr x19 71 brk #0