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.S" 94.include "atexit.S" 95