github.com/afumu/libc@v0.0.6/musl/src/thread/i386/syscall_cp.s (about)

     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