Deleted Added
full compact
_setjmp.S (114309) _setjmp.S (115745)
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

--- 24 unchanged lines hidden (view full) ---

33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 */
36
37#if defined(LIBC_SCCS) && !defined(lint)
38 .asciz "@(#)_setjmp.s 5.1 (Berkeley) 4/23/90"
39#endif /* LIBC_SCCS and not lint */
40#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

--- 24 unchanged lines hidden (view full) ---

33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 */
36
37#if defined(LIBC_SCCS) && !defined(lint)
38 .asciz "@(#)_setjmp.s 5.1 (Berkeley) 4/23/90"
39#endif /* LIBC_SCCS and not lint */
40#include <machine/asm.h>
41__FBSDID("$FreeBSD: head/lib/libc/amd64/gen/_setjmp.S 114309 2003-04-30 18:09:33Z peter $");
41__FBSDID("$FreeBSD: head/lib/libc/amd64/gen/_setjmp.S 115745 2003-06-02 22:37:53Z peter $");
42
43/*
44 * C library -- _setjmp, _longjmp
45 *
46 * _longjmp(a,v)
47 * will generate a "return(v)" from the last call to
48 * _setjmp(a)
49 * by restoring registers from the environment 'a'.
50 * The previous signal state is NOT restored.
51 */
52
53ENTRY(_setjmp)
54 movq %rdi,%rax
55 movq 0(%rsp),%rdx /* retval */
42
43/*
44 * C library -- _setjmp, _longjmp
45 *
46 * _longjmp(a,v)
47 * will generate a "return(v)" from the last call to
48 * _setjmp(a)
49 * by restoring registers from the environment 'a'.
50 * The previous signal state is NOT restored.
51 */
52
53ENTRY(_setjmp)
54 movq %rdi,%rax
55 movq 0(%rsp),%rdx /* retval */
56 movq %rdx, 0(%rax) /* retval */
57 movq %rbx, 8(%rax)
58 movq %rsp,16(%rax)
59 movq %rbp,24(%rax)
60 movq %r12,32(%rax)
61 movq %r13,40(%rax)
62 movq %r14,48(%rax)
63 movq %r15,56(%rax)
64 fnstcw 64(%rax)
56 movq %rdx, 0(%rax) /* 0; retval */
57 movq %rbx, 8(%rax) /* 1; rbx */
58 movq %rsp,16(%rax) /* 2; rsp */
59 movq %rbp,24(%rax) /* 3; rbp */
60 movq %r12,32(%rax) /* 4; r12 */
61 movq %r13,40(%rax) /* 5; r13 */
62 movq %r14,48(%rax) /* 6; r14 */
63 movq %r15,56(%rax) /* 7; r15 */
64 fnstcw 64(%rax) /* 8; fpu cw */
65 xorq %rax,%rax
66 ret
67
68 .weak CNAME(_longjmp)
69 .set CNAME(_longjmp),CNAME(___longjmp)
70ENTRY(___longjmp)
71 movq %rdi,%rdx
72 movq %rsi,%rax /* retval */

--- 15 unchanged lines hidden ---
65 xorq %rax,%rax
66 ret
67
68 .weak CNAME(_longjmp)
69 .set CNAME(_longjmp),CNAME(___longjmp)
70ENTRY(___longjmp)
71 movq %rdi,%rdx
72 movq %rsi,%rax /* retval */

--- 15 unchanged lines hidden ---