32 lines
493 B
ArmAsm
32 lines
493 B
ArmAsm
.text
|
|
.global __cp_begin
|
|
.hidden __cp_begin
|
|
.global __cp_end
|
|
.hidden __cp_end
|
|
.global __cp_cancel
|
|
.hidden __cp_cancel
|
|
.hidden __cancel
|
|
.global __syscall_cp_asm
|
|
.hidden __syscall_cp_asm
|
|
.type __syscall_cp_asm,@function
|
|
__syscall_cp_asm:
|
|
|
|
__cp_begin:
|
|
mov (%rdi),%eax
|
|
test %eax,%eax
|
|
jnz __cp_cancel
|
|
mov %rdi,%r11
|
|
mov %rsi,%rax
|
|
mov %rdx,%rdi
|
|
mov %rcx,%rsi
|
|
mov %r8,%rdx
|
|
mov %r9,%r10
|
|
mov 8(%rsp),%r8
|
|
mov 16(%rsp),%r9
|
|
mov %r11,8(%rsp)
|
|
syscall
|
|
__cp_end:
|
|
ret
|
|
__cp_cancel:
|
|
jmp __cancel
|