sigsetjmp.S (55375) | sigsetjmp.S (55837) |
---|---|
1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 19 unchanged lines hidden (view full) --- 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * | 1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 19 unchanged lines hidden (view full) --- 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * |
36 * $FreeBSD: head/lib/libc/amd64/gen/sigsetjmp.S 55375 2000-01-04 00:02:21Z jasone $ | 36 * $FreeBSD: head/lib/libc/amd64/gen/sigsetjmp.S 55837 2000-01-12 09:23:48Z jasone $ |
37 */ 38 39#if defined(LIBC_RCS) && !defined(lint) 40 .text | 37 */ 38 39#if defined(LIBC_RCS) && !defined(lint) 40 .text |
41 .asciz "$FreeBSD: head/lib/libc/amd64/gen/sigsetjmp.S 55375 2000-01-04 00:02:21Z jasone $" | 41 .asciz "$FreeBSD: head/lib/libc/amd64/gen/sigsetjmp.S 55837 2000-01-12 09:23:48Z jasone $" |
42#endif /* LIBC_RCS and not lint */ 43 44#include "DEFS.h" 45#include "SYS.h" 46 47/*- 48 * TODO: 49 * Rename sigsetjmp to __sigsetjmp and siglongjmp to __siglongjmp, --- 4 unchanged lines hidden (view full) --- 54 * 55 * Use sigprocmask() instead of sigblock() and sigsetmask(), and 56 * check for and handle errors. 57 * 58 * Restore _all_ the registers and the signal mask atomically. Can 59 * use sigreturn() if sigreturn() works. 60 */ 61 | 42#endif /* LIBC_RCS and not lint */ 43 44#include "DEFS.h" 45#include "SYS.h" 46 47/*- 48 * TODO: 49 * Rename sigsetjmp to __sigsetjmp and siglongjmp to __siglongjmp, --- 4 unchanged lines hidden (view full) --- 54 * 55 * Use sigprocmask() instead of sigblock() and sigsetmask(), and 56 * check for and handle errors. 57 * 58 * Restore _all_ the registers and the signal mask atomically. Can 59 * use sigreturn() if sigreturn() works. 60 */ 61 |
62.globl CNAME(__sigsetjmp); CNAME(__sigsetjmp): 63ENTRY(sigsetjmp) | 62ALTENTRY(sigsetjmp) 63ALTENTRY(_libc_sigsetjmp) 64ENTRY(__sigsetjmp) |
64 movl 8(%esp),%eax 65 movl 4(%esp),%ecx 66 movl %eax,44(%ecx) 67 testl %eax,%eax 68 jz 2f 69 PIC_PROLOGUE 70 leal 28(%ecx), %eax 71 pushl %eax /* (sigset_t*)oset */ --- 13 unchanged lines hidden (view full) --- 85 movl %esp, 8(%ecx) 86 movl %ebp,12(%ecx) 87 movl %esi,16(%ecx) 88 movl %edi,20(%ecx) 89 fnstcw 24(%ecx) 90 xorl %eax,%eax 91 ret 92 | 65 movl 8(%esp),%eax 66 movl 4(%esp),%ecx 67 movl %eax,44(%ecx) 68 testl %eax,%eax 69 jz 2f 70 PIC_PROLOGUE 71 leal 28(%ecx), %eax 72 pushl %eax /* (sigset_t*)oset */ --- 13 unchanged lines hidden (view full) --- 86 movl %esp, 8(%ecx) 87 movl %ebp,12(%ecx) 88 movl %esi,16(%ecx) 89 movl %edi,20(%ecx) 90 fnstcw 24(%ecx) 91 xorl %eax,%eax 92 ret 93 |
93.globl CNAME(__siglongjmp); CNAME(__siglongjmp): 94ENTRY(siglongjmp) | 94ALTENTRY(siglongjmp) 95ALTENTRY(_libc_siglongjmp) 96ENTRY(__siglongjmp) |
95 movl 4(%esp),%edx 96 cmpl $0,44(%edx) 97 jz 2f 98 PIC_PROLOGUE 99 pushl $0 /* (sigset_t*)oset */ 100 leal 28(%edx), %eax 101 pushl %eax /* (sigset_t*)set */ 102 pushl $3 /* SIG_SETMASK */ --- 22 unchanged lines hidden --- | 97 movl 4(%esp),%edx 98 cmpl $0,44(%edx) 99 jz 2f 100 PIC_PROLOGUE 101 pushl $0 /* (sigset_t*)oset */ 102 leal 28(%edx), %eax 103 pushl %eax /* (sigset_t*)set */ 104 pushl $3 /* SIG_SETMASK */ --- 22 unchanged lines hidden --- |