]>
Commit | Line | Data |
---|---|---|
18724e30 NF |
1 | /* |
2 | * Special support for eabi and SVR4 | |
3 | * | |
748086b7 | 4 | * Copyright (C) 1995, 1996, 1998, 2000, 2001, 2008, 2009 |
18724e30 NF |
5 | * Free Software Foundation, Inc. |
6 | * Written By Michael Meissner | |
7 | * 64-bit support written by David Edelsohn | |
8 | * | |
9 | * This file is free software; you can redistribute it and/or modify it | |
10 | * under the terms of the GNU General Public License as published by the | |
748086b7 | 11 | * Free Software Foundation; either version 3, or (at your option) any |
18724e30 NF |
12 | * later version. |
13 | * | |
18724e30 NF |
14 | * This file is distributed in the hope that it will be useful, but |
15 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
17 | * General Public License for more details. | |
18 | * | |
748086b7 JJ |
19 | * Under Section 7 of GPL version 3, you are granted additional |
20 | * permissions described in the GCC Runtime Library Exception, version | |
21 | * 3.1, as published by the Free Software Foundation. | |
22 | * | |
23 | * You should have received a copy of the GNU General Public License and | |
24 | * a copy of the GCC Runtime Library Exception along with this program; | |
25 | * see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
26 | * <http://www.gnu.org/licenses/>. | |
18724e30 NF |
27 | */ |
28 | ||
29 | /* Do any initializations needed for the eabi environment */ | |
30 | ||
18724e30 NF |
31 | .section ".text" |
32 | #include "ppc-asm.h" | |
33 | ||
34 | /* On PowerPC64 Linux, these functions are provided by the linker. */ | |
35 | #ifndef __powerpc64__ | |
36 | ||
37 | /* Routines for restoring floating point registers, called by the compiler. */ | |
38 | /* Called with r11 pointing to the stack header word of the caller of the */ | |
39 | /* function, just beyond the end of the floating point save area. */ | |
40 | /* In addition to restoring the fp registers, it will return to the caller's */ | |
41 | /* caller */ | |
42 | ||
1590a115 NF |
43 | HIDDEN_FUNC(_restfpr_14_x) lfd 14,-144(11) /* restore fp registers */ |
44 | HIDDEN_FUNC(_restfpr_15_x) lfd 15,-136(11) | |
45 | HIDDEN_FUNC(_restfpr_16_x) lfd 16,-128(11) | |
46 | HIDDEN_FUNC(_restfpr_17_x) lfd 17,-120(11) | |
47 | HIDDEN_FUNC(_restfpr_18_x) lfd 18,-112(11) | |
48 | HIDDEN_FUNC(_restfpr_19_x) lfd 19,-104(11) | |
49 | HIDDEN_FUNC(_restfpr_20_x) lfd 20,-96(11) | |
50 | HIDDEN_FUNC(_restfpr_21_x) lfd 21,-88(11) | |
51 | HIDDEN_FUNC(_restfpr_22_x) lfd 22,-80(11) | |
52 | HIDDEN_FUNC(_restfpr_23_x) lfd 23,-72(11) | |
53 | HIDDEN_FUNC(_restfpr_24_x) lfd 24,-64(11) | |
54 | HIDDEN_FUNC(_restfpr_25_x) lfd 25,-56(11) | |
55 | HIDDEN_FUNC(_restfpr_26_x) lfd 26,-48(11) | |
56 | HIDDEN_FUNC(_restfpr_27_x) lfd 27,-40(11) | |
57 | HIDDEN_FUNC(_restfpr_28_x) lfd 28,-32(11) | |
58 | HIDDEN_FUNC(_restfpr_29_x) lfd 29,-24(11) | |
59 | HIDDEN_FUNC(_restfpr_30_x) lfd 30,-16(11) | |
60 | HIDDEN_FUNC(_restfpr_31_x) lwz 0,4(11) | |
18724e30 NF |
61 | lfd 31,-8(11) |
62 | mtlr 0 | |
63 | mr 1,11 | |
64 | blr | |
65 | FUNC_END(_restfpr_31_x) | |
66 | FUNC_END(_restfpr_30_x) | |
67 | FUNC_END(_restfpr_29_x) | |
68 | FUNC_END(_restfpr_28_x) | |
69 | FUNC_END(_restfpr_27_x) | |
70 | FUNC_END(_restfpr_26_x) | |
71 | FUNC_END(_restfpr_25_x) | |
72 | FUNC_END(_restfpr_24_x) | |
73 | FUNC_END(_restfpr_23_x) | |
74 | FUNC_END(_restfpr_22_x) | |
75 | FUNC_END(_restfpr_21_x) | |
76 | FUNC_END(_restfpr_20_x) | |
77 | FUNC_END(_restfpr_19_x) | |
78 | FUNC_END(_restfpr_18_x) | |
79 | FUNC_END(_restfpr_17_x) | |
80 | FUNC_END(_restfpr_16_x) | |
81 | FUNC_END(_restfpr_15_x) | |
82 | FUNC_END(_restfpr_14_x) | |
83 | ||
84 | #endif |