blob: 377888a014cf27acfdb486118fed31726ef2307f [file] [log] [blame]
Raghu Gandham405b8022012-07-25 18:16:42 -07001/*
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"