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