projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
include/ifaddrs.h: add prototypes for get/freeifaddrs
[musl]
/
src
/
thread
/
i386
/
syscall_cp.s
diff --git
a/src/thread/i386/syscall_cp.s
b/src/thread/i386/syscall_cp.s
index
6f98a77
..
3bf52c1
100644
(file)
--- a/
src/thread/i386/syscall_cp.s
+++ b/
src/thread/i386/syscall_cp.s
@@
-1,36
+1,29
@@
.text
.global __syscall_cp_asm
.text
.global __syscall_cp_asm
-.type __syscall_cp_asm,
%
function
+.type __syscall_cp_asm,
@
function
__syscall_cp_asm:
__syscall_cp_asm:
+ mov 4(%esp),%ecx
pushl %ebx
pushl %esi
pushl %edi
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
pushl %ebp
- leal 20(%esp),%ebp
- call 1f
-1: popl %eax
- movl (%ebp),%ecx
- addl $[1f-1b],%eax
- movl %eax,4(%ecx)
- movl %esp,(%ecx)
- movl 8(%ecx),%eax
+.global __cp_begin
+__cp_begin:
+ movl (%ecx),%eax
testl %eax,%eax
testl %eax,%eax
- jnz 2f
- movl 4(%ebp),%eax
- movl 8(%ebp),%ebx
- movl 12(%ebp),%ecx
- movl 16(%ebp),%edx
- movl 20(%ebp),%esi
- movl 24(%ebp),%edi
- movl 28(%ebp),%ebp
-1: int $128
+ jnz __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
+.global __cp_end
+__cp_end:
popl %ebp
popl %edi
popl %esi
popl %ebx
ret
popl %ebp
popl %edi
popl %esi
popl %ebx
ret
-2: xorl %eax,%eax
- movl %eax,4(%ecx)
- movl %eax,(%ecx)
- pushl $-1
- call pthread_exit