1/*
2 * Copyright (C) 2008 The Android Open Source Project
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *  * Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 *  * Redistributions in binary form must reproduce the above copyright
11 *    notice, this list of conditions and the following disclaimer in
12 *    the documentation and/or other materials provided with the
13 *    distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
18 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
19 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
22 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
25 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 */
28	.section .init_array, "aw"
29	.type __INIT_ARRAY__, @object
30	.globl __INIT_ARRAY__
31__INIT_ARRAY__:
32	.long -1
33
34	.section .fini_array, "aw"
35	.type __FINI_ARRAY__, @object
36	.globl __FINI_ARRAY__
37__FINI_ARRAY__:
38	.long -1
39	.long __do_global_dtors_aux
40
41	.abicalls
42	.text
43	.align	2
44	.set	nomips16
45	.ent	__do_global_dtors_aux
46	.type	__do_global_dtors_aux, @function
47__do_global_dtors_aux:
48	.frame	$sp,32,$31		# vars= 0, regs= 1/0, args= 16, gp= 8
49	.mask	0x80000000,-4
50	.fmask	0x00000000,0
51	.set	noreorder
52	.cpload	$25
53	.set	nomacro
54	addiu	$sp,$sp,-32
55	sw	$31,28($sp)
56	.cprestore	16
57	lw	$2,%got(completed.1269)($28)
58	lbu	$2,%lo(completed.1269)($2)
59	bne	$2,$0,$L8
60	nop
61
62$L4:
63	lw	$2,%got(__cxa_finalize)($28)
64	beq	$2,$0,$L6
65	nop
66
67	lw	$2,%got(__dso_handle)($28)
68	lw	$4,0($2)
69	lw	$25,%call16(__cxa_finalize)($28)
70	.reloc	1f,R_MIPS_JALR,__cxa_finalize
711:	jalr	$25
72	nop
73
74	lw	$28,16($sp)
75$L6:
76	lw	$2,%got(completed.1269)($28)
77	li	$3,1			# 0x1
78	sb	$3,%lo(completed.1269)($2)
79$L8:
80	lw	$31,28($sp)
81	addiu	$sp,$sp,32
82	j	$31
83	nop
84
85	.set	macro
86	.set	reorder
87	.end	__do_global_dtors_aux
88	.size	__do_global_dtors_aux, .-__do_global_dtors_aux
89	.local	completed.1269
90	.comm	completed.1269,1,1
91	.weak	__cxa_finalize
92
93#include "__dso_handle_so.S"
94#include "atexit.S"
95