1 1.1 mrg /* crti.s for eabi 2 1.10 mrg Copyright (C) 1996-2022 Free Software Foundation, Inc. 3 1.1 mrg Written By Michael Meissner 4 1.1 mrg 5 1.1 mrg This file is free software; you can redistribute it and/or modify it 6 1.1 mrg under the terms of the GNU General Public License as published by the 7 1.1 mrg Free Software Foundation; either version 3, or (at your option) any 8 1.1 mrg later version. 9 1.1 mrg 10 1.1 mrg This file is distributed in the hope that it will be useful, but 11 1.1 mrg WITHOUT ANY WARRANTY; without even the implied warranty of 12 1.1 mrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 1.1 mrg General Public License for more details. 14 1.1 mrg 15 1.1 mrg Under Section 7 of GPL version 3, you are granted additional 16 1.1 mrg permissions described in the GCC Runtime Library Exception, version 17 1.1 mrg 3.1, as published by the Free Software Foundation. 18 1.1 mrg 19 1.1 mrg You should have received a copy of the GNU General Public License and 20 1.1 mrg a copy of the GCC Runtime Library Exception along with this program; 21 1.1 mrg see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 22 1.1 mrg <http://www.gnu.org/licenses/>. */ 23 1.1 mrg 24 1.1 mrg /* This file just supplies labeled starting points for the .got* and other 25 1.1 mrg special sections. It is linked in first before other modules. */ 26 1.1 mrg 27 1.1 mrg .ident "GNU C crti.s" 28 1.1 mrg 29 1.1 mrg #include <ppc-asm.h> 30 1.1 mrg 31 1.1 mrg #ifndef __powerpc64__ 32 1.1 mrg .section ".got","aw" 33 1.1 mrg .globl __GOT_START__ 34 1.1 mrg .type __GOT_START__,@object 35 1.1 mrg __GOT_START__: 36 1.1 mrg 37 1.1 mrg .section ".got1","aw" 38 1.1 mrg .globl __GOT1_START__ 39 1.1 mrg .type __GOT1_START__,@object 40 1.1 mrg __GOT1_START__: 41 1.1 mrg 42 1.1 mrg .section ".got2","aw" 43 1.1 mrg .globl __GOT2_START__ 44 1.1 mrg .type __GOT2_START__,@object 45 1.1 mrg __GOT2_START__: 46 1.1 mrg 47 1.1 mrg .section ".fixup","aw" 48 1.1 mrg .globl __FIXUP_START__ 49 1.1 mrg .type __FIXUP_START__,@object 50 1.1 mrg __FIXUP_START__: 51 1.1 mrg 52 1.1 mrg .section ".ctors","aw" 53 1.1 mrg .globl __CTOR_LIST__ 54 1.1 mrg .type __CTOR_LIST__,@object 55 1.1 mrg __CTOR_LIST__: 56 1.1 mrg 57 1.1 mrg .section ".dtors","aw" 58 1.1 mrg .globl __DTOR_LIST__ 59 1.1 mrg .type __DTOR_LIST__,@object 60 1.1 mrg __DTOR_LIST__: 61 1.1 mrg 62 1.1 mrg .section ".sdata","aw" 63 1.1 mrg .globl __SDATA_START__ 64 1.1 mrg .type __SDATA_START__,@object 65 1.1 mrg .weak _SDA_BASE_ 66 1.1 mrg .type _SDA_BASE_,@object 67 1.1 mrg __SDATA_START__: 68 1.1 mrg _SDA_BASE_: 69 1.1 mrg 70 1.1 mrg .section ".sbss","aw",@nobits 71 1.1 mrg .globl __SBSS_START__ 72 1.1 mrg .type __SBSS_START__,@object 73 1.1 mrg __SBSS_START__: 74 1.1 mrg 75 1.1 mrg .section ".sdata2","a" 76 1.1 mrg .weak _SDA2_BASE_ 77 1.1 mrg .type _SDA2_BASE_,@object 78 1.1 mrg .globl __SDATA2_START__ 79 1.1 mrg .type __SDATA2_START__,@object 80 1.1 mrg __SDATA2_START__: 81 1.1 mrg _SDA2_BASE_: 82 1.1 mrg 83 1.1 mrg .section ".sbss2","a" 84 1.1 mrg .globl __SBSS2_START__ 85 1.1 mrg .type __SBSS2_START__,@object 86 1.1 mrg __SBSS2_START__: 87 1.1 mrg 88 1.1 mrg .section ".gcc_except_table","aw" 89 1.1 mrg .globl __EXCEPT_START__ 90 1.1 mrg .type __EXCEPT_START__,@object 91 1.1 mrg __EXCEPT_START__: 92 1.1 mrg 93 1.1 mrg .section ".eh_frame","aw" 94 1.1 mrg .globl __EH_FRAME_BEGIN__ 95 1.1 mrg .type __EH_FRAME_BEGIN__,@object 96 1.1 mrg __EH_FRAME_BEGIN__: 97 1.1 mrg 98 1.1 mrg /* Head of __init function used for static constructors. */ 99 1.1 mrg .section ".init","ax" 100 1.1 mrg .align 2 101 1.1 mrg FUNC_START(__init) 102 1.1 mrg stwu 1,-16(1) 103 1.1 mrg mflr 0 104 1.1 mrg stw 0,20(1) 105 1.1 mrg 106 1.1 mrg /* Head of __fini function used for static destructors. */ 107 1.1 mrg .section ".fini","ax" 108 1.1 mrg .align 2 109 1.1 mrg FUNC_START(__fini) 110 1.1 mrg stwu 1,-16(1) 111 1.1 mrg mflr 0 112 1.1 mrg stw 0,20(1) 113 1.1 mrg #endif 114