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