LWG 3035. std::allocator's constructors should be constexpr
[official-gcc.git] / libgcc / config / sparc / crti.S
blob4e9ccd643536ae1ebb50d3bae365a18fd26bd3c1
1 ! crti.S for SPARC
3 !   Copyright (C) 1992-2018 Free Software Foundation, Inc.
4 !   Written By David Vinayak Henkel-Wallace, June 1992
5
6 ! This file is free software; you can redistribute it and/or modify it
7 ! under the terms of the GNU General Public License as published by the
8 ! Free Software Foundation; either version 3, or (at your option) any
9 ! later version.
10
11 ! This file is distributed in the hope that it will be useful, but
12 ! WITHOUT ANY WARRANTY; without even the implied warranty of
13 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 ! General Public License for more details.
15
16 ! Under Section 7 of GPL version 3, you are granted additional
17 ! permissions described in the GCC Runtime Library Exception, version
18 ! 3.1, as published by the Free Software Foundation.
20 ! You should have received a copy of the GNU General Public License and
21 ! a copy of the GCC Runtime Library Exception along with this program;
22 ! see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23 ! <http://www.gnu.org/licenses/>.
25 ! This file just make a stack frame for the contents of the .fini and
26 ! .init sections.  Users may put any desired instructions in those
27 ! sections.
29 ! This file is linked in before the Values-Xx.o files and also before
30 ! crtbegin, with which perhaps it should be merged.
32         .section        ".init"
33         .proc   022
34         .global _init
35         .type   _init,#function
36         .align  4
37 _init:
38 #ifdef _FLAT
39 #ifdef __sparcv9
40         stx     %i7, [%sp+2167]
41         add     %sp, -176, %sp
42 #else
43         st      %i7, [%sp+60]
44         add     %sp, -96, %sp
45 #endif
46         mov     %o7, %i7
47 #else
48 #ifdef __sparcv9
49         save    %sp, -176, %sp
50 #else
51         save    %sp, -96, %sp
52 #endif
53 #endif
56         .section        ".fini"
57         .proc   022
58         .global _fini
59         .type   _fini,#function
60         .align  4
61 _fini:
62 #ifdef _FLAT
63 #ifdef __sparcv9
64         stx     %i7, [%sp+2167]
65         add     %sp, -176, %sp
66 #else
67         st      %i7, [%sp+60]
68         add     %sp, -96, %sp
69 #endif
70         mov     %o7, %i7
71 #else
72 #ifdef __sparcv9
73         save    %sp, -176, %sp
74 #else
75         save    %sp, -96, %sp
76 #endif
77 #endif