syscall_cp.s raw
1 .text
2 .global __cp_begin
3 .hidden __cp_begin
4 .global __cp_end
5 .hidden __cp_end
6 .global __cp_cancel
7 .hidden __cp_cancel
8 .hidden __cancel
9 .global __syscall_cp_asm
10 .hidden __syscall_cp_asm
11 .type __syscall_cp_asm,@function
12 __syscall_cp_asm:
13
14 __cp_begin:
15 mov (%rdi),%eax
16 test %eax,%eax
17 jnz __cp_cancel
18 mov %rdi,%r11
19 mov %rsi,%rax
20 mov %rdx,%rdi
21 mov %rcx,%rsi
22 mov %r8,%rdx
23 mov %r9,%r10
24 mov 8(%rsp),%r8
25 mov 16(%rsp),%r9
26 mov %r11,8(%rsp)
27 syscall
28 __cp_end:
29 ret
30 __cp_cancel:
31 jmp __cancel
32