_setjmp.S (180081) | _setjmp.S (184548) |
---|---|
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 --- 20 unchanged lines hidden (view full) --- 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 */ 32 33#if defined(LIBC_SCCS) && !defined(lint) 34 .asciz "@(#)_setjmp.s 5.1 (Berkeley) 4/23/90" 35#endif /* LIBC_SCCS and not lint */ 36#include <machine/asm.h> | 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 --- 20 unchanged lines hidden (view full) --- 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 */ 32 33#if defined(LIBC_SCCS) && !defined(lint) 34 .asciz "@(#)_setjmp.s 5.1 (Berkeley) 4/23/90" 35#endif /* LIBC_SCCS and not lint */ 36#include <machine/asm.h> |
37__FBSDID("$FreeBSD: head/lib/libc/i386/gen/_setjmp.S 180081 2008-06-28 17:58:06Z das $"); | 37__FBSDID("$FreeBSD: head/lib/libc/i386/gen/_setjmp.S 184548 2008-11-02 01:28:47Z peter $"); |
38 39/* 40 * C library -- _setjmp, _longjmp 41 * 42 * _longjmp(a,v) 43 * will generate a "return(v)" from the last call to 44 * _setjmp(a) 45 * by restoring registers from the environment 'a'. --- 7 unchanged lines hidden (view full) --- 53 movl %ebx, 4(%eax) 54 movl %esp, 8(%eax) 55 movl %ebp,12(%eax) 56 movl %esi,16(%eax) 57 movl %edi,20(%eax) 58 fnstcw 24(%eax) 59 xorl %eax,%eax 60 ret | 38 39/* 40 * C library -- _setjmp, _longjmp 41 * 42 * _longjmp(a,v) 43 * will generate a "return(v)" from the last call to 44 * _setjmp(a) 45 * by restoring registers from the environment 'a'. --- 7 unchanged lines hidden (view full) --- 53 movl %ebx, 4(%eax) 54 movl %esp, 8(%eax) 55 movl %ebp,12(%eax) 56 movl %esi,16(%eax) 57 movl %edi,20(%eax) 58 fnstcw 24(%eax) 59 xorl %eax,%eax 60 ret |
61END(_setjmp) |
|
61 62 .weak CNAME(_longjmp) 63 .set CNAME(_longjmp),CNAME(___longjmp) 64ENTRY(___longjmp) 65 movl 4(%esp),%edx 66 movl 8(%esp),%eax 67 movl 0(%edx),%ecx 68 movl 4(%edx),%ebx 69 movl 8(%edx),%esp 70 movl 12(%edx),%ebp 71 movl 16(%edx),%esi 72 movl 20(%edx),%edi 73 fldcw 24(%edx) 74 testl %eax,%eax 75 jnz 1f 76 incl %eax 771: movl %ecx,0(%esp) 78 ret | 62 63 .weak CNAME(_longjmp) 64 .set CNAME(_longjmp),CNAME(___longjmp) 65ENTRY(___longjmp) 66 movl 4(%esp),%edx 67 movl 8(%esp),%eax 68 movl 0(%edx),%ecx 69 movl 4(%edx),%ebx 70 movl 8(%edx),%esp 71 movl 12(%edx),%ebp 72 movl 16(%edx),%esi 73 movl 20(%edx),%edi 74 fldcw 24(%edx) 75 testl %eax,%eax 76 jnz 1f 77 incl %eax 781: movl %ecx,0(%esp) 79 ret |
80END(___longjmp) |
|