1# Specialized code needed to support construction and destruction of
2# file-scope objects in C++ and Java code, and to support exception handling.
3# Copyright (C) 2012-2020 Free Software Foundation, Inc.
4# Contributed by KPIT Cummins Infosystems Limited.
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.
19#
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/>.
24
25
26/* This file just supplies function prologues for the .init and .fini
27   sections.  It is linked in before crtbegin.o.  */
28
29	.ident  "GNU C crti.o"
30
31	.section .init
32	.globl  __init
33	.type   __init,@function
34__init:
35#if defined (__ID_SHARED_LIB__)
36	push	$2, r12, ra
37	movd    $__current_shared_library_r12_offset_, (r1,r0)
38	loadd   [r12]0(r1,r0), (r12)
39#else
40        push	ra
41#endif
42
43	.section .fini
44	.globl  __fini
45	.type   __fini,@function
46__fini:
47#if defined (__ID_SHARED_LIB__)
48	push	$2, r12, ra
49	movd    $__current_shared_library_r12_offset_, (r1,r0)
50	loadd   [r12]0(r1,r0), (r12)
51#else
52        push	ra
53#endif
54
55