1 /*
2  * Copyright (C) 2016 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 
29 extern char __adddf3;
30 extern char __addsf3;
31 extern char __aeabi_cdcmpeq;
32 extern char __aeabi_cdcmple;
33 extern char __aeabi_cdrcmple;
34 extern char __aeabi_cfcmpeq;
35 extern char __aeabi_cfcmple;
36 extern char __aeabi_cfrcmple;
37 extern char __aeabi_d2f;
38 extern char __aeabi_d2iz;
39 extern char __aeabi_d2uiz;
40 extern char __aeabi_dadd;
41 extern char __aeabi_dcmpeq;
42 extern char __aeabi_dcmpge;
43 extern char __aeabi_dcmpgt;
44 extern char __aeabi_dcmple;
45 extern char __aeabi_dcmplt;
46 extern char __aeabi_dcmpun;
47 extern char __aeabi_ddiv;
48 extern char __aeabi_dmul;
49 extern char __aeabi_drsub;
50 extern char __aeabi_dsub;
51 extern char __aeabi_f2d;
52 extern char __aeabi_f2iz;
53 extern char __aeabi_f2uiz;
54 extern char __aeabi_fadd;
55 extern char __aeabi_fcmpeq;
56 extern char __aeabi_fcmpge;
57 extern char __aeabi_fcmpgt;
58 extern char __aeabi_fcmple;
59 extern char __aeabi_fcmplt;
60 extern char __aeabi_fcmpun;
61 extern char __aeabi_fdiv;
62 extern char __aeabi_fmul;
63 extern char __aeabi_frsub;
64 extern char __aeabi_fsub;
65 extern char __aeabi_i2d;
66 extern char __aeabi_i2f;
67 extern char __aeabi_idiv;
68 extern char __aeabi_idivmod;
69 extern char __aeabi_l2d;
70 extern char __aeabi_l2f;
71 extern char __aeabi_lasr;
72 extern char __aeabi_ldivmod;
73 extern char __aeabi_llsl;
74 extern char __aeabi_llsr;
75 extern char __aeabi_lmul;
76 extern char __aeabi_ui2d;
77 extern char __aeabi_ui2f;
78 extern char __aeabi_uidiv;
79 extern char __aeabi_uidivmod;
80 extern char __aeabi_ul2d;
81 extern char __aeabi_ul2f;
82 extern char __aeabi_uldivmod;
83 extern char __aeabi_unwind_cpp_pr0;
84 extern char __aeabi_unwind_cpp_pr1;
85 extern char __cmpdf2;
86 extern char __cmpsf2;
87 extern char __divdf3;
88 extern char __divsf3;
89 extern char __eqdf2;
90 extern char __eqsf2;
91 extern char __extendsfdf2;
92 extern char __fixdfsi;
93 extern char __fixsfsi;
94 extern char __fixunsdfsi;
95 extern char __floatdidf;
96 extern char __floatdisf;
97 extern char __floatsidf;
98 extern char __floatsisf;
99 extern char __floatundidf;
100 extern char __floatundisf;
101 extern char __floatunsidf;
102 extern char __floatunsisf;
103 extern char __gedf2;
104 extern char __gesf2;
105 extern char __gtdf2;
106 extern char __gtsf2;
107 extern char __gnu_ldivmod_helper;
108 extern char __gnu_uldivmod_helper;
109 extern char __ledf2;
110 extern char __lesf2;
111 extern char __ltdf2;
112 extern char __ltsf2;
113 extern char __muldf3;
114 extern char __muldi3;
115 extern char __mulsf3;
116 extern char __nedf2;
117 extern char __nesf2;
118 extern char __popcount_tab;
119 extern char __popcountsi2;
120 extern char __subdf3;
121 extern char __subsf3;
122 extern char __truncdfsf2;
123 extern char __udivdi3;
124 extern char __unorddf2;
125 extern char __unordsf2;
126 
127 void* __bionic_libcrt_compat_symbols[] = {
128     &__adddf3,
129     &__addsf3,
130     &__aeabi_cdcmpeq,
131     &__aeabi_cdcmple,
132     &__aeabi_cdrcmple,
133     &__aeabi_cfcmpeq,
134     &__aeabi_cfcmple,
135     &__aeabi_cfrcmple,
136     &__aeabi_d2f,
137     &__aeabi_d2iz,
138     &__aeabi_d2uiz,
139     &__aeabi_dadd,
140     &__aeabi_dcmpeq,
141     &__aeabi_dcmpge,
142     &__aeabi_dcmpgt,
143     &__aeabi_dcmple,
144     &__aeabi_dcmplt,
145     &__aeabi_dcmpun,
146     &__aeabi_ddiv,
147     &__aeabi_dmul,
148     &__aeabi_drsub,
149     &__aeabi_dsub,
150     &__aeabi_f2d,
151     &__aeabi_f2iz,
152     &__aeabi_f2uiz,
153     &__aeabi_fadd,
154     &__aeabi_fcmpeq,
155     &__aeabi_fcmpge,
156     &__aeabi_fcmpgt,
157     &__aeabi_fcmple,
158     &__aeabi_fcmplt,
159     &__aeabi_fcmpun,
160     &__aeabi_fdiv,
161     &__aeabi_fmul,
162     &__aeabi_frsub,
163     &__aeabi_fsub,
164     &__aeabi_i2d,
165     &__aeabi_i2f,
166     &__aeabi_idiv,
167     &__aeabi_idivmod,
168     &__aeabi_l2d,
169     &__aeabi_l2f,
170     &__aeabi_lasr,
171     &__aeabi_ldivmod,
172     &__aeabi_llsl,
173     &__aeabi_llsr,
174     &__aeabi_lmul,
175     &__aeabi_ui2d,
176     &__aeabi_ui2f,
177     &__aeabi_uidiv,
178     &__aeabi_uidivmod,
179     &__aeabi_ul2d,
180     &__aeabi_ul2f,
181     &__aeabi_uldivmod,
182     &__aeabi_unwind_cpp_pr0,
183     &__aeabi_unwind_cpp_pr1,
184     &__cmpdf2,
185     &__cmpsf2,
186     &__divdf3,
187     &__divsf3,
188     &__eqdf2,
189     &__eqsf2,
190     &__extendsfdf2,
191     &__fixdfsi,
192     &__fixsfsi,
193     &__fixunsdfsi,
194     &__floatdidf,
195     &__floatdisf,
196     &__floatsidf,
197     &__floatsisf,
198     &__floatundidf,
199     &__floatundisf,
200     &__floatunsidf,
201     &__floatunsisf,
202     &__gedf2,
203     &__gesf2,
204     &__gtdf2,
205     &__gtsf2,
206     &__gnu_ldivmod_helper,
207     &__gnu_uldivmod_helper,
208     &__ledf2,
209     &__lesf2,
210     &__ltdf2,
211     &__ltsf2,
212     &__muldf3,
213     &__muldi3,
214     &__mulsf3,
215     &__nedf2,
216     &__nesf2,
217     &__popcount_tab,
218     &__popcountsi2,
219     &__subdf3,
220     &__subsf3,
221     &__truncdfsf2,
222     &__udivdi3,
223     &__unorddf2,
224     &__unordsf2,
225 };
226