Deleted Added
sdiff udiff text old ( 67117 ) new ( 71579 )
full compact
1/* $NetBSD: sigsetjmp.S,v 1.2 1996/10/17 03:08:07 cgd Exp $ */
2/* $FreeBSD: head/lib/libc/ia64/gen/sigsetjmp.S 71579 2001-01-24 13:01:12Z deischen $ */
3
4/*
5 * Copyright (c) 1994, 1995 Carnegie-Mellon University.
6 * All rights reserved.
7 *
8 * Author: Chris G. Demetriou
9 *
10 * Permission to use, copy, modify and distribute this software and
11 * its documentation is hereby granted, provided that both the copyright
12 * notice and this permission notice appear in all copies of the
13 * software, derivative works or modified versions, and any portions
14 * thereof, and that both notices appear in supporting documentation.
15 *
16 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
17 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
18 * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
19 *
20 * Carnegie Mellon requests users of this software to return to
21 *
22 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
23 * School of Computer Science
24 * Carnegie Mellon University
25 * Pittsburgh PA 15213-3890
26 *
27 * any improvements or extensions that they make and grant Carnegie the
28 * rights to redistribute these changes.
29 *
30 * $FreeBSD: head/lib/libc/ia64/gen/sigsetjmp.S 71579 2001-01-24 13:01:12Z deischen $
31 */
32
33#include <machine/asm.h>
34
35/*
36 * C library -- sigsetjmp, siglongjmp
37 *
38 * siglongjmp(a,v)
39 * will generate a "return(v)" from
40 * the last call to
41 * sigsetjmp(a, mask)
42 * by restoring registers from the stack.
43 * If `mask' is non-zero, the previous signal
44 * state will be restored.
45 */
46
47ENTRY(sigsetjmp, 2)
48#if 0
49 LDGP(pv)
50 stq a1, (81 * 8)(a0) /* save the mask */
51 bne a1, Lsavesig /* if !zero, save signals */
52 jmp zero, _setjmp /* else don't. */
53Lsavesig:
54 jmp zero, setjmp
55#endif
56END(sigsetjmp)
57
58XENTRY(siglongjmp)
59ENTRY(__siglongjmp, 2)
60#if 0
61 LDGP(pv)
62 ldq t0, (81 * 8)(a0) /* get the mask */
63 bne t0, Lrestoresig /* if !zero, restore signals */
64 jmp zero, _longjmp
65Lrestoresig:
66 jmp zero, longjmp
67#endif
68END(__siglongjmp)