.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: | |
mov 4(%esp),%ecx | |
pushl %ebx | |
pushl %esi | |
pushl %edi | |
pushl %ebp | |
__cp_begin: | |
movl (%ecx),%eax | |
testl %eax,%eax | |
jnz __cp_cancel | |
movl 24(%esp),%eax | |
movl 28(%esp),%ebx | |
movl 32(%esp),%ecx | |
movl 36(%esp),%edx | |
movl 40(%esp),%esi | |
movl 44(%esp),%edi | |
movl 48(%esp),%ebp | |
int $128 | |
__cp_end: | |
popl %ebp | |
popl %edi | |
popl %esi | |
popl %ebx | |
ret | |
__cp_cancel: | |
popl %ebp | |
popl %edi | |
popl %esi | |
popl %ebx | |
jmp __cancel |