The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 1 | .section .init_array, "aw" |
| 2 | .align 4 |
| 3 | .type __INIT_ARRAY__, @object |
| 4 | .globl __INIT_ARRAY__ |
| 5 | __INIT_ARRAY__: |
| 6 | .long -1 |
Mark D Horn | dc3bc87 | 2011-04-26 14:05:30 -0700 | [diff] [blame^] | 7 | .long frame_dummy |
The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 8 | |
| 9 | .section .fini_array, "aw" |
| 10 | .align 4 |
| 11 | .type __FINI_ARRAY__, @object |
| 12 | .globl __FINI_ARRAY__ |
| 13 | __FINI_ARRAY__: |
| 14 | .long -1 |
Mark D Horn | dc3bc87 | 2011-04-26 14:05:30 -0700 | [diff] [blame^] | 15 | .long __do_global_dtors_aux |
| 16 | |
| 17 | .section .eh_frame,"a",@progbits |
| 18 | .align 4 |
| 19 | .type __EH_FRAME_BEGIN__, @object |
| 20 | __EH_FRAME_BEGIN__: |
| 21 | .text |
| 22 | .p2align 4,,15 |
| 23 | .type __do_global_dtors_aux, @function |
| 24 | __do_global_dtors_aux: |
| 25 | pushl %ebp |
| 26 | movl %esp, %ebp |
| 27 | pushl %ebx |
| 28 | call __x86.get_pc_thunk.bx |
| 29 | addl $_GLOBAL_OFFSET_TABLE_, %ebx |
| 30 | subl $20, %esp |
| 31 | cmpb $0, completed.4454@GOTOFF(%ebx) |
| 32 | jne .L5 |
| 33 | movl __dso_handle@GOTOFF(%ebx), %eax |
| 34 | movl %eax, (%esp) |
| 35 | call __cxa_finalize@PLT |
| 36 | movl __deregister_frame_info_bases@GOT(%ebx), %eax |
| 37 | testl %eax, %eax |
| 38 | je .L4 |
| 39 | leal __EH_FRAME_BEGIN__@GOTOFF(%ebx), %eax |
| 40 | movl %eax, (%esp) |
| 41 | call __deregister_frame_info_bases@PLT |
| 42 | .L4: |
| 43 | movb $1, completed.4454@GOTOFF(%ebx) |
| 44 | .L5: |
| 45 | addl $20, %esp |
| 46 | popl %ebx |
| 47 | popl %ebp |
| 48 | ret |
| 49 | .text |
| 50 | .p2align 4,,15 |
| 51 | .type frame_dummy, @function |
| 52 | frame_dummy: |
| 53 | pushl %ebp |
| 54 | movl %esp, %ebp |
| 55 | pushl %ebx |
| 56 | call __x86.get_pc_thunk.bx |
| 57 | addl $_GLOBAL_OFFSET_TABLE_, %ebx |
| 58 | subl $20, %esp |
| 59 | movl __register_frame_info_bases@GOT(%ebx), %eax |
| 60 | testl %eax, %eax |
| 61 | je .L8 |
| 62 | leal object.4469@GOTOFF(%ebx), %eax |
| 63 | movl %eax, 4(%esp) |
| 64 | leal __EH_FRAME_BEGIN__@GOTOFF(%ebx), %eax |
| 65 | movl %ebx, 12(%esp) |
| 66 | movl $0, 8(%esp) |
| 67 | movl %eax, (%esp) |
| 68 | call __register_frame_info_bases@PLT |
| 69 | .L8: |
| 70 | addl $20, %esp |
| 71 | popl %ebx |
| 72 | popl %ebp |
| 73 | ret |
| 74 | .local completed.4454 |
| 75 | .comm completed.4454,1,1 |
| 76 | .local object.4469 |
| 77 | .comm object.4469,24,4 |
| 78 | .weak __register_frame_info_bases |
| 79 | .weak __deregister_frame_info_bases |
| 80 | |
| 81 | .section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat |
| 82 | .globl __x86.get_pc_thunk.bx |
| 83 | .hidden __x86.get_pc_thunk.bx |
| 84 | .type __x86.get_pc_thunk.bx, @function |
| 85 | __x86.get_pc_thunk.bx: |
| 86 | nop |
| 87 | nop |
| 88 | nop |
| 89 | nop |
| 90 | nop |
| 91 | nop |
| 92 | nop |
| 93 | nop |
| 94 | movl (%esp), %ebx |
| 95 | ret |
The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 96 | |
David 'Digit' Turner | 6a9b888 | 2010-06-18 14:47:22 -0700 | [diff] [blame] | 97 | #include "__dso_handle.S" |