projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use atomic decrement rather than cas in pthread_exit thread count
[musl]
/
src
/
setjmp
/
i386
/
longjmp.s
diff --git
a/src/setjmp/i386/longjmp.s
b/src/setjmp/i386/longjmp.s
index
c1a956c
..
772d28d
100644
(file)
--- a/
src/setjmp/i386/longjmp.s
+++ b/
src/setjmp/i386/longjmp.s
@@
-1,22
+1,20
@@
.global _longjmp
.global longjmp
.global _longjmp
.global longjmp
-.type _longjmp,
%
function
-.type longjmp,
%
function
+.type _longjmp,
@
function
+.type longjmp,
@
function
_longjmp:
longjmp:
_longjmp:
longjmp:
- mov
l
4(%esp),%edx
- mov
l
8(%esp),%eax
- test
l
%eax,%eax
- jnz
.L0
- inc
l
%eax
-
.L0
:
- mov
l
(%edx),%ebx
- mov
l
4(%edx),%esi
- mov
l
8(%edx),%edi
- mov
l
12(%edx),%ebp
- mov
l
16(%edx),%ecx
- mov
l
%ecx,%esp
- mov
l
20(%edx),%ecx
+ mov 4(%esp),%edx
+ mov 8(%esp),%eax
+ test %eax,%eax
+ jnz
1f
+ inc %eax
+
1
:
+ mov (%edx),%ebx
+ mov 4(%edx),%esi
+ mov 8(%edx),%edi
+ mov 12(%edx),%ebp
+ mov 16(%edx),%ecx
+ mov %ecx,%esp
+ mov 20(%edx),%ecx
jmp *%ecx
jmp *%ecx
-.size _longjmp,.-_longjmp
-.size longjmp,.-longjmp