1a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham/*
2a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * Copyright (C) 2008 The Android Open Source Project
3a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * All rights reserved.
4a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham *
5a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * Redistribution and use in source and binary forms, with or without
6a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * modification, are permitted provided that the following conditions
7a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * are met:
8a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham *  * Redistributions of source code must retain the above copyright
9a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham *    notice, this list of conditions and the following disclaimer.
10a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham *  * Redistributions in binary form must reproduce the above copyright
11a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham *    notice, this list of conditions and the following disclaimer in
12a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham *    the documentation and/or other materials provided with the
13a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham *    distribution.
14a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham *
15a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
18a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
19a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
20a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
22a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
25a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham * SUCH DAMAGE.
27a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham */
28a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.text
29a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.align 4
30a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.type __start,@function
31a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.globl __start
32a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.globl _start
33a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
34a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham# this is the small startup code that is first run when
35a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham# any executable that is statically-linked with Bionic
36a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham# runs.
37a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#
38a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham# it's purpose is to call __libc_init with appropriate
39a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham# arguments, which are:
40a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#
41a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#    - the address of the raw data block setup by the Linux
42a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#      kernel ELF loader
43a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#
44a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#    - address of an "onexit" function, not used on any
45a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#      platform supported by Bionic
46a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#
47a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#    - address of the "main" function of the program.
48a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#
49a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#    - address of the constructor list
50a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham#
51a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
52a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.ent	__start
53a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham__start:
54a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham_start:
55a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	bal	1f
56a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham1:
57a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	noreorder
58a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.cpload	$ra
59a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	reorder
60a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
61a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	move	$a0, $sp
62a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	move	$a1, $0
63a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	la	$a2, main
64a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	la	$a3, 1f
65a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	subu	$sp, 32
66a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	la	$t9, __libc_init
67a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	j	$t9
68a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.end	__start
69a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
70a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham1:	.long	__PREINIT_ARRAY__
71a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.long	__INIT_ARRAY__
72a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.long	__FINI_ARRAY__
73a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.long	__CTOR_LIST__
74a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.long	__DTOR_LIST__
75a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
76a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.section .preinit_array, "aw"
77a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.type __PREINIT_ARRAY__, @object
78a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.globl __PREINIT_ARRAY__
79a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham__PREINIT_ARRAY__:
80a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.long -1
81a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
82a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.section .init_array, "aw"
83a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.type __INIT_ARRAY__, @object
84a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.globl __INIT_ARRAY__
85a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham__INIT_ARRAY__:
86a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.long -1
87a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.long frame_dummy
88a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
89a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.section .fini_array, "aw"
90a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.type __FINI_ARRAY__, @object
91a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.globl __FINI_ARRAY__
92a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham__FINI_ARRAY__:
93a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.long -1
94a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.long __do_global_dtors_aux
95a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
96a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.section .ctors, "aw"
97a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.type __CTOR_LIST__, @object
98a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.globl __CTOR_LIST__
99a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham__CTOR_LIST__:
100a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.long -1
101a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
102a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.section .dtors, "aw"
103a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.type __DTOR_LIST__, @object
104a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.globl __DTOR_LIST__
105a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham__DTOR_LIST__:
106a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.long -1
107a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
108a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.abicalls
109a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.section	.eh_frame,"a",@progbits
110a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.align	2
111a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.type	__EH_FRAME_BEGIN__, @object
112a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.size	__EH_FRAME_BEGIN__, 0
113a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham__EH_FRAME_BEGIN__:
114a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.text
115a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.align	2
116a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	nomips16
117a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.ent	frame_dummy
118a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.type	frame_dummy, @function
119a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandhamframe_dummy:
120a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.frame	$sp,32,$31		# vars= 0, regs= 1/0, args= 16, gp= 8
121a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.mask	0x80000000,-4
122a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.fmask	0x00000000,0
123a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	noreorder
124a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.cpload	$25
125a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	nomacro
126a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	addiu	$sp,$sp,-32
127a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	sw	$31,28($sp)
128a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.cprestore	16
129a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%got(__register_frame_info)($28)
130a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	beq	$2,$0,$L1
131a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	nop
132a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
133a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%got(__EH_FRAME_BEGIN__)($28)
134a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	addiu	$4,$2,%lo(__EH_FRAME_BEGIN__)
135a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%got(object.1265)($28)
136a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	addiu	$5,$2,%lo(object.1265)
137a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%call16(__register_frame_info)($28)
138a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	move	$25,$2
139a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.reloc	1f,R_MIPS_JALR,__register_frame_info
140a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham1:	jalr	$25
141a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	nop
142a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
143a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$28,16($sp)
144a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham$L1:
145a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$31,28($sp)
146a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	addiu	$sp,$sp,32
147a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	j	$31
148a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	nop
149a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
150a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.text
151a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	macro
152a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	reorder
153a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.end	frame_dummy
154a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.size	frame_dummy, .-frame_dummy
155a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.align	2
156a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	nomips16
157a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.ent	__do_global_dtors_aux
158a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.type	__do_global_dtors_aux, @function
159a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham__do_global_dtors_aux:
160a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.frame	$sp,32,$31		# vars= 0, regs= 1/0, args= 16, gp= 8
161a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.mask	0x80000000,-4
162a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.fmask	0x00000000,0
163a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	noreorder
164a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.cpload	$25
165a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	nomacro
166a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	addiu	$sp,$sp,-32
167a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	sw	$31,28($sp)
168a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.cprestore	16
169a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%got(completed.1269)($28)
170a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lbu	$2,%lo(completed.1269)($2)
171a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	bne	$2,$0,$L8
172a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	nop
173a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
174a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham$L4:
175a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%got(__cxa_finalize)($28)
176a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	beq	$2,$0,$L6
177a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	nop
178a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
179a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%got(__dso_handle)($28)
180a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,0($2)
181a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	move	$4,$2
182a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%call16(__cxa_finalize)($28)
183a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	move	$25,$2
184a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.reloc	1f,R_MIPS_JALR,__cxa_finalize
185a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham1:	jalr	$25
186a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	nop
187a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
188a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$28,16($sp)
189a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham$L6:
190a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%got(__deregister_frame_info)($28)
191a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	beq	$2,$0,$L7
192a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	nop
193a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
194a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%got(__EH_FRAME_BEGIN__)($28)
195a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	addiu	$4,$2,%lo(__EH_FRAME_BEGIN__)
196a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%call16(__deregister_frame_info)($28)
197a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	move	$25,$2
198a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.reloc	1f,R_MIPS_JALR,__deregister_frame_info
199a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham1:	jalr	$25
200a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	nop
201a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
202a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$28,16($sp)
203a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham$L7:
204a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$2,%got(completed.1269)($28)
205a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	li	$3,1			# 0x1
206a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	sb	$3,%lo(completed.1269)($2)
207a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	b	$L3
208a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	nop
209a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
210a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham$L8:
211a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	nop
212a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham$L3:
213a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	lw	$31,28($sp)
214a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	addiu	$sp,$sp,32
215a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	j	$31
216a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	nop
217a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
218a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	macro
219a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.set	reorder
220a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.end	__do_global_dtors_aux
221a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.size	__do_global_dtors_aux, .-__do_global_dtors_aux
222a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.local	completed.1269
223a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.comm	completed.1269,1,1
224a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.local	object.1265
225a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.comm	object.1265,24,4
226a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.weak	__deregister_frame_info
227a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.weak	__cxa_finalize
228a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham	.weak	__register_frame_info
229a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham
230a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham.include "__dso_handle.S"
231a8a0638b9ecf4b4676934fd216859d4d7ecac791Raghu Gandham.include "atexit.S"
232