elf.h: add ELFCOMPRESS_ZSTD
[musl] / src / thread / i386 / syscall_cp.s
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         mov 4(%esp),%ecx
14         pushl %ebx
15         pushl %esi
16         pushl %edi
17         pushl %ebp
18 __cp_begin:
19         movl (%ecx),%eax
20         testl %eax,%eax
21         jnz __cp_cancel
22         movl 24(%esp),%eax
23         movl 28(%esp),%ebx
24         movl 32(%esp),%ecx
25         movl 36(%esp),%edx
26         movl 40(%esp),%esi
27         movl 44(%esp),%edi
28         movl 48(%esp),%ebp
29         int $128
30 __cp_end:
31         popl %ebp
32         popl %edi
33         popl %esi
34         popl %ebx
35         ret
36 __cp_cancel:
37         popl %ebp
38         popl %edi
39         popl %esi
40         popl %ebx
41         jmp __cancel