diff options
Diffstat (limited to 'src/signal/i386')
| -rw-r--r-- | src/signal/i386/sigsetjmp.s | 24 | 
1 files changed, 16 insertions, 8 deletions
diff --git a/src/signal/i386/sigsetjmp.s b/src/signal/i386/sigsetjmp.s index 91c8c048..1d24b6f7 100644 --- a/src/signal/i386/sigsetjmp.s +++ b/src/signal/i386/sigsetjmp.s @@ -4,14 +4,22 @@  .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 + +	mov 4(%esp),%eax +	popl 24(%eax) +	mov %ebx,28+8(%eax) +	mov %eax,%ebx + +	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  | 
