9727ad3d4edb9b331d62ecf122fd5379a6953dcd
[musl] / src / thread / x86_64 / syscall_cp.s
1 .text
2 .global __syscall_cp_asm
3 .type   __syscall_cp_asm,%function
4 __syscall_cp_asm:
5         lea 1f(%rip),%rax
6         mov %rax,8(%rdi)
7         mov %rsp,(%rdi)
8         mov 16(%rdi),%eax
9         test %eax,%eax
10         jnz 2f
11         mov %rdi,%r11
12         mov %rsi,%rax
13         mov %rdx,%rdi
14         mov %rcx,%rsi
15         mov %r8,%rdx
16         mov %r9,%r10
17         mov 8(%rsp),%r8
18         mov 16(%rsp),%r9
19         mov %r11,8(%rsp)
20 1:      syscall
21         xor %ecx,%ecx
22         mov 8(%rsp),%rdi
23         mov %rcx,(%rdi)
24         ret
25 2:      call __cancel