X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fsignal%2Fi386%2Fsigsetjmp.s;h=690b251c4c9efea7e8bdb086415d803637514303;hb=086542fb5bc88f590547147365630b9a44df223b;hp=91c8c0486892b0fd6a13fcb0e610d2b546c20bd8;hpb=b9b2db2f374bce907fa5015c9cf63205054f2356;p=musl diff --git a/src/signal/i386/sigsetjmp.s b/src/signal/i386/sigsetjmp.s index 91c8c048..690b251c 100644 --- a/src/signal/i386/sigsetjmp.s +++ b/src/signal/i386/sigsetjmp.s @@ -4,14 +4,23 @@ .type __sigsetjmp,@function sigsetjmp: __sigsetjmp: - mov 4(%esp),%eax mov 8(%esp),%ecx - mov %ecx,24(%eax) jecxz 1f - add $28,%eax - push %eax - push $0 - push $2 - call sigprocmask - add $12,%esp -1: jmp setjmp + + mov 4(%esp),%eax + popl 24(%eax) + mov %ebx,28+8(%eax) + mov %eax,%ebx + +.hidden ___setjmp + call ___setjmp + + pushl 24(%ebx) + mov %ebx,4(%esp) + mov %eax,8(%esp) + mov 28+8(%ebx),%ebx + +.hidden __sigsetjmp_tail + jmp __sigsetjmp_tail + +1: jmp ___setjmp