Add Changelog ...
[jlayton/glibc.git] / ports / sysdeps / hppa / __longjmp.S
1 /* longjmp for PA-RISC.
2    Copyright (C) 1997, 1998 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library.  If not, see
17    <http://www.gnu.org/licenses/>.  */
18
19 #include <sysdep.h>
20 #define _SETJMP_H
21 #define _ASM
22 #include <bits/setjmp.h>
23
24 /* __longjmp(jmpbuf, val) */
25
26         .text
27         .align 4
28         .globl __longjmp
29         .export __longjmp, code
30         .proc
31         .callinfo
32 __longjmp:      
33         /* set return value */
34         copy    %r25, %r28
35         
36         ldw     0(%r26), %r3
37         ldw     8(%r26), %r4
38         ldw     12(%r26), %r5
39         ldw     16(%r26), %r6
40         ldw     20(%r26), %r7
41         ldw     24(%r26), %r8
42         ldw     28(%r26), %r9
43         ldw     32(%r26), %r10
44         ldw     36(%r26), %r11
45         ldw     40(%r26), %r12
46         ldw     44(%r26), %r13
47         ldw     48(%r26), %r14
48         ldw     52(%r26), %r15
49         ldw     56(%r26), %r16
50         ldw     60(%r26), %r17
51         ldw     64(%r26), %r18
52         ldw     68(%r26), %r19
53         ldw     72(%r26), %r27
54         ldw     76(%r26), %r30
55         
56         ldw     80(%r26), %rp
57
58         ldo     88(%r26),%r20
59         fldds,ma 8(%r20), %fr12
60         fldds,ma 8(%r20), %fr13
61         fldds,ma 8(%r20), %fr14
62         fldds,ma 8(%r20), %fr15
63         fldds,ma 8(%r20), %fr16
64         fldds,ma 8(%r20), %fr17
65         fldds,ma 8(%r20), %fr18
66         fldds,ma 8(%r20), %fr19
67         fldds,ma 8(%r20), %fr20
68         fldds    0(%r20), %fr21
69
70         bv,n    %r0(%r2)
71         .procend