blob: 2741742fe73ad2336fda92b37aeba8e4cb08f916 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001.section .init_array, "aw"
2.align 4
3.type __INIT_ARRAY__, @object
4.globl __INIT_ARRAY__
5__INIT_ARRAY__:
6 .long -1
Mark D Horndc3bc872011-04-26 14:05:30 -07007 .long frame_dummy
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08008
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 Horndc3bc872011-04-26 14:05:30 -070015 .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
52frame_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 Project1dc9e472009-03-03 19:28:35 -080096
David 'Digit' Turner6a9b8882010-06-18 14:47:22 -070097#include "__dso_handle.S"
Bruce Bearee0b48442011-05-03 21:04:40 -070098#include "__stack_chk_fail_local.S"