166458Sdfr/* 2126825Smarcel * Special support for eabi and SVR4 384128Sdfr * 466458Sdfr * Copyright (C) 1995-2020 Free Software Foundation, Inc. 566458Sdfr * Written By Michael Meissner 666458Sdfr * 64-bit support written by David Edelsohn 766458Sdfr * 866458Sdfr * This file is free software; you can redistribute it and/or modify it 966458Sdfr * under the terms of the GNU General Public License as published by the 1066458Sdfr * Free Software Foundation; either version 3, or (at your option) any 1166458Sdfr * later version. 1266458Sdfr * 1366458Sdfr * This file is distributed in the hope that it will be useful, but 1466458Sdfr * WITHOUT ANY WARRANTY; without even the implied warranty of 1566458Sdfr * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1666458Sdfr * General Public License for more details. 1766458Sdfr * 1866458Sdfr * Under Section 7 of GPL version 3, you are granted additional 1966458Sdfr * permissions described in the GCC Runtime Library Exception, version 2066458Sdfr * 3.1, as published by the Free Software Foundation. 2166458Sdfr * 2266458Sdfr * You should have received a copy of the GNU General Public License and 2366458Sdfr * a copy of the GCC Runtime Library Exception along with this program; 2466458Sdfr * see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 2566458Sdfr * <http://www.gnu.org/licenses/>. 2666458Sdfr */ 2766458Sdfr 28135453Smarcel/* Do any initializations needed for the eabi environment */ 29135453Smarcel 30135453Smarcel .section ".text" 3166458Sdfr #include "ppc-asm.h" 3266458Sdfr 33118238Speter/* On PowerPC64 Linux, these functions are provided by the linker. */ 34178215Smarcel#ifndef __powerpc64__ 3566458Sdfr 3666458Sdfr/* Routines for restoring integer registers, called by the compiler. */ 37141378Snjl/* Called with r11 pointing to the stack header word of the caller of the */ 3866458Sdfr/* function, just beyond the end of the integer restore area. */ 39141378Snjl 40141378SnjlCFI_STARTPROC 41141248SmarcelHIDDEN_FUNC(_restgpr_14) lwz 14,-72(11) /* restore gp registers */ 42141378SnjlHIDDEN_FUNC(_restgpr_15) lwz 15,-68(11) 43141237SnjlHIDDEN_FUNC(_restgpr_16) lwz 16,-64(11) 4466458SdfrHIDDEN_FUNC(_restgpr_17) lwz 17,-60(11) 45141378SnjlHIDDEN_FUNC(_restgpr_18) lwz 18,-56(11) 46141378SnjlHIDDEN_FUNC(_restgpr_19) lwz 19,-52(11) 47131945SmarcelHIDDEN_FUNC(_restgpr_20) lwz 20,-48(11) 4866458SdfrHIDDEN_FUNC(_restgpr_21) lwz 21,-44(11) 49141378SnjlHIDDEN_FUNC(_restgpr_22) lwz 22,-40(11) 5066458SdfrHIDDEN_FUNC(_restgpr_23) lwz 23,-36(11) 5166458SdfrHIDDEN_FUNC(_restgpr_24) lwz 24,-32(11) 5266458SdfrHIDDEN_FUNC(_restgpr_25) lwz 25,-28(11) 5366458SdfrHIDDEN_FUNC(_restgpr_26) lwz 26,-24(11) 54141378SnjlHIDDEN_FUNC(_restgpr_27) lwz 27,-20(11) 55141378SnjlHIDDEN_FUNC(_restgpr_28) lwz 28,-16(11) 56141378SnjlHIDDEN_FUNC(_restgpr_29) lwz 29,-12(11) 57141378SnjlHIDDEN_FUNC(_restgpr_30) lwz 30,-8(11) 58248084SattilioHIDDEN_FUNC(_restgpr_31) lwz 31,-4(11) 59148807Smarcel blr 60141378SnjlFUNC_END(_restgpr_31) 61141378SnjlFUNC_END(_restgpr_30) 62209613SjhbFUNC_END(_restgpr_29) 6366458SdfrFUNC_END(_restgpr_28) 64141378SnjlFUNC_END(_restgpr_27) 65141378SnjlFUNC_END(_restgpr_26) 6666458SdfrFUNC_END(_restgpr_25) 6797443SmarcelFUNC_END(_restgpr_24) 68141378SnjlFUNC_END(_restgpr_23) 69141378SnjlFUNC_END(_restgpr_22) 70141378SnjlFUNC_END(_restgpr_21) 71141378SnjlFUNC_END(_restgpr_20) 72141378SnjlFUNC_END(_restgpr_19) 7366458SdfrFUNC_END(_restgpr_18) 74141378SnjlFUNC_END(_restgpr_17) 7566458SdfrFUNC_END(_restgpr_16) 76141378SnjlFUNC_END(_restgpr_15) 7766458SdfrFUNC_END(_restgpr_14) 7866458SdfrCFI_ENDPROC 7966458Sdfr 8066458Sdfr#endif 8166458Sdfr