1 /* 2 * Special support for eabi and SVR4 3 * 4 * Copyright (C) 1995-2024 Free Software Foundation, Inc. 5 * Written By Michael Meissner 6 * 64-bit support written by David Edelsohn 7 * 8 * This file is free software; you can redistribute it and/or modify it 9 * under the terms of the GNU General Public License as published by the 10 * Free Software Foundation; either version 3, or (at your option) any 11 * later version. 12 * 13 * This file is distributed in the hope that it will be useful, but 14 * WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * General Public License for more details. 17 * 18 * Under Section 7 of GPL version 3, you are granted additional 19 * permissions described in the GCC Runtime Library Exception, version 20 * 3.1, as published by the Free Software Foundation. 21 * 22 * You should have received a copy of the GNU General Public License and 23 * a copy of the GCC Runtime Library Exception along with this program; 24 * see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 25 * <http://www.gnu.org/licenses/>. 26 */ 27 28 /* Do any initializations needed for the eabi environment */ 29 30 .section ".text" 31 #include "ppc-asm.h" 32 33 /* On PowerPC64 Linux, these functions are provided by the linker. */ 34 #ifndef __powerpc64__ 35 36 /* Routines for saving integer registers, called by the compiler. */ 37 /* Called with r11 pointing to the stack header word of the caller of the */ 38 /* function, just beyond the end of the integer save area. */ 39 40 CFI_STARTPROC 41 HIDDEN_FUNC(_savegpr_14) stw 14,-72(11) /* save gp registers */ 42 HIDDEN_FUNC(_savegpr_15) stw 15,-68(11) 43 HIDDEN_FUNC(_savegpr_16) stw 16,-64(11) 44 HIDDEN_FUNC(_savegpr_17) stw 17,-60(11) 45 HIDDEN_FUNC(_savegpr_18) stw 18,-56(11) 46 HIDDEN_FUNC(_savegpr_19) stw 19,-52(11) 47 HIDDEN_FUNC(_savegpr_20) stw 20,-48(11) 48 HIDDEN_FUNC(_savegpr_21) stw 21,-44(11) 49 HIDDEN_FUNC(_savegpr_22) stw 22,-40(11) 50 HIDDEN_FUNC(_savegpr_23) stw 23,-36(11) 51 HIDDEN_FUNC(_savegpr_24) stw 24,-32(11) 52 HIDDEN_FUNC(_savegpr_25) stw 25,-28(11) 53 HIDDEN_FUNC(_savegpr_26) stw 26,-24(11) 54 HIDDEN_FUNC(_savegpr_27) stw 27,-20(11) 55 HIDDEN_FUNC(_savegpr_28) stw 28,-16(11) 56 HIDDEN_FUNC(_savegpr_29) stw 29,-12(11) 57 HIDDEN_FUNC(_savegpr_30) stw 30,-8(11) 58 HIDDEN_FUNC(_savegpr_31) stw 31,-4(11) 59 blr 60 FUNC_END(_savegpr_31) 61 FUNC_END(_savegpr_30) 62 FUNC_END(_savegpr_29) 63 FUNC_END(_savegpr_28) 64 FUNC_END(_savegpr_27) 65 FUNC_END(_savegpr_26) 66 FUNC_END(_savegpr_25) 67 FUNC_END(_savegpr_24) 68 FUNC_END(_savegpr_23) 69 FUNC_END(_savegpr_22) 70 FUNC_END(_savegpr_21) 71 FUNC_END(_savegpr_20) 72 FUNC_END(_savegpr_19) 73 FUNC_END(_savegpr_18) 74 FUNC_END(_savegpr_17) 75 FUNC_END(_savegpr_16) 76 FUNC_END(_savegpr_15) 77 FUNC_END(_savegpr_14) 78 CFI_ENDPROC 79 80 #endif 81