1*0b57cec5SDimitry Andric //===-- apple_versioning.c - Adds versioning symbols for ld ---------------===// 2*0b57cec5SDimitry Andric // 3*0b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*0b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*0b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*0b57cec5SDimitry Andric // 7*0b57cec5SDimitry Andric //===----------------------------------------------------------------------===// 8*0b57cec5SDimitry Andric 9*0b57cec5SDimitry Andric #if __APPLE__ 10*0b57cec5SDimitry Andric #include <Availability.h> 11*0b57cec5SDimitry Andric 12*0b57cec5SDimitry Andric #if __IPHONE_OS_VERSION_MIN_REQUIRED 13*0b57cec5SDimitry Andric #define NOT_HERE_BEFORE_10_6(sym) 14*0b57cec5SDimitry Andric #define NOT_HERE_IN_10_8_AND_EARLIER(sym) \ 15*0b57cec5SDimitry Andric extern const char sym##_tmp61 __asm("$ld$hide$os6.1$_" #sym); \ 16*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp61 = 0; \ 17*0b57cec5SDimitry Andric extern const char sym##_tmp60 __asm("$ld$hide$os6.0$_" #sym); \ 18*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp60 = 0; \ 19*0b57cec5SDimitry Andric extern const char sym##_tmp51 __asm("$ld$hide$os5.1$_" #sym); \ 20*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp51 = 0; \ 21*0b57cec5SDimitry Andric extern const char sym##_tmp50 __asm("$ld$hide$os5.0$_" #sym); \ 22*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp50 = 0; 23*0b57cec5SDimitry Andric #else 24*0b57cec5SDimitry Andric #define NOT_HERE_BEFORE_10_6(sym) \ 25*0b57cec5SDimitry Andric extern const char sym##_tmp4 __asm("$ld$hide$os10.4$_" #sym); \ 26*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp4 = 0; \ 27*0b57cec5SDimitry Andric extern const char sym##_tmp5 __asm("$ld$hide$os10.5$_" #sym); \ 28*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp5 = 0; 29*0b57cec5SDimitry Andric #define NOT_HERE_IN_10_8_AND_EARLIER(sym) \ 30*0b57cec5SDimitry Andric extern const char sym##_tmp8 __asm("$ld$hide$os10.8$_" #sym); \ 31*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp8 = 0; \ 32*0b57cec5SDimitry Andric extern const char sym##_tmp7 __asm("$ld$hide$os10.7$_" #sym); \ 33*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp7 = 0; \ 34*0b57cec5SDimitry Andric extern const char sym##_tmp6 __asm("$ld$hide$os10.6$_" #sym); \ 35*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp6 = 0; 36*0b57cec5SDimitry Andric #endif 37*0b57cec5SDimitry Andric 38*0b57cec5SDimitry Andric // Symbols in libSystem.dylib in 10.6 and later, 39*0b57cec5SDimitry Andric // but are in libgcc_s.dylib in earlier versions 40*0b57cec5SDimitry Andric 41*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__absvdi2) 42*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__absvsi2) 43*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__absvti2) 44*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__addvdi3) 45*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__addvsi3) 46*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__addvti3) 47*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__ashldi3) 48*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__ashlti3) 49*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__ashrdi3) 50*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__ashrti3) 51*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__clear_cache) 52*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__clzdi2) 53*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__clzsi2) 54*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__clzti2) 55*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__cmpdi2) 56*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__cmpti2) 57*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__ctzdi2) 58*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__ctzsi2) 59*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__ctzti2) 60*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__divdc3) 61*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__divdi3) 62*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__divsc3) 63*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__divtc3) 64*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__divti3) 65*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__divxc3) 66*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__enable_execute_stack) 67*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__ffsdi2) 68*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__ffsti2) 69*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixdfdi) 70*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixdfti) 71*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixsfdi) 72*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixsfti) 73*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixtfdi) 74*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixunsdfdi) 75*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixunsdfsi) 76*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixunsdfti) 77*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixunssfdi) 78*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixunssfsi) 79*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixunssfti) 80*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixunstfdi) 81*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixunsxfdi) 82*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixunsxfsi) 83*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixunsxfti) 84*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixxfdi) 85*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__fixxfti) 86*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floatdidf) 87*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floatdisf) 88*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floatditf) 89*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floatdixf) 90*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floattidf) 91*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floattisf) 92*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floattixf) 93*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floatundidf) 94*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floatundisf) 95*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floatunditf) 96*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floatundixf) 97*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floatuntidf) 98*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floatuntisf) 99*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__floatuntixf) 100*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__gcc_personality_v0) 101*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__lshrdi3) 102*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__lshrti3) 103*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__moddi3) 104*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__modti3) 105*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__muldc3) 106*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__muldi3) 107*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__mulsc3) 108*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__multc3) 109*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__multi3) 110*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__mulvdi3) 111*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__mulvsi3) 112*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__mulvti3) 113*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__mulxc3) 114*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__negdi2) 115*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__negti2) 116*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__negvdi2) 117*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__negvsi2) 118*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__negvti2) 119*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__paritydi2) 120*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__paritysi2) 121*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__parityti2) 122*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__popcountdi2) 123*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__popcountsi2) 124*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__popcountti2) 125*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__powidf2) 126*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__powisf2) 127*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__powitf2) 128*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__powixf2) 129*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__subvdi3) 130*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__subvsi3) 131*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__subvti3) 132*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__ucmpdi2) 133*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__ucmpti2) 134*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__udivdi3) 135*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__udivmoddi4) 136*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__udivmodti4) 137*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__udivti3) 138*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__umoddi3) 139*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__umodti3) 140*0b57cec5SDimitry Andric 141*0b57cec5SDimitry Andric #if __ppc__ 142*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__gcc_qadd) 143*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__gcc_qdiv) 144*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__gcc_qmul) 145*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__gcc_qsub) 146*0b57cec5SDimitry Andric NOT_HERE_BEFORE_10_6(__trampoline_setup) 147*0b57cec5SDimitry Andric #endif // __ppc__ 148*0b57cec5SDimitry Andric 149*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_compare_exchange) 150*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_compare_exchange_1) 151*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_compare_exchange_2) 152*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_compare_exchange_4) 153*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_compare_exchange_8) 154*0b57cec5SDimitry Andric 155*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_exchange) 156*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_exchange_1) 157*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_exchange_2) 158*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_exchange_4) 159*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_exchange_8) 160*0b57cec5SDimitry Andric 161*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_add_1) 162*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_add_2) 163*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_add_4) 164*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_add_8) 165*0b57cec5SDimitry Andric 166*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_and_1) 167*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_and_2) 168*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_and_4) 169*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_and_8) 170*0b57cec5SDimitry Andric 171*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_or_1) 172*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_or_2) 173*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_or_4) 174*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_or_8) 175*0b57cec5SDimitry Andric 176*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_sub_1) 177*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_sub_2) 178*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_sub_4) 179*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_sub_8) 180*0b57cec5SDimitry Andric 181*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_xor_1) 182*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_xor_2) 183*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_xor_4) 184*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_fetch_xor_8) 185*0b57cec5SDimitry Andric 186*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_load) 187*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_load_1) 188*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_load_2) 189*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_load_4) 190*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_load_8) 191*0b57cec5SDimitry Andric 192*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_store) 193*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_store_1) 194*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_store_2) 195*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_store_4) 196*0b57cec5SDimitry Andric NOT_HERE_IN_10_8_AND_EARLIER(__atomic_store_8) 197*0b57cec5SDimitry Andric 198*0b57cec5SDimitry Andric #if __arm__ && __DYNAMIC__ 199*0b57cec5SDimitry Andric #define NOT_HERE_UNTIL_AFTER_4_3(sym) \ 200*0b57cec5SDimitry Andric extern const char sym##_tmp1 __asm("$ld$hide$os3.0$_" #sym); \ 201*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp1 = 0; \ 202*0b57cec5SDimitry Andric extern const char sym##_tmp2 __asm("$ld$hide$os3.1$_" #sym); \ 203*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp2 = 0; \ 204*0b57cec5SDimitry Andric extern const char sym##_tmp3 __asm("$ld$hide$os3.2$_" #sym); \ 205*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp3 = 0; \ 206*0b57cec5SDimitry Andric extern const char sym##_tmp4 __asm("$ld$hide$os4.0$_" #sym); \ 207*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp4 = 0; \ 208*0b57cec5SDimitry Andric extern const char sym##_tmp5 __asm("$ld$hide$os4.1$_" #sym); \ 209*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp5 = 0; \ 210*0b57cec5SDimitry Andric extern const char sym##_tmp6 __asm("$ld$hide$os4.2$_" #sym); \ 211*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp6 = 0; \ 212*0b57cec5SDimitry Andric extern const char sym##_tmp7 __asm("$ld$hide$os4.3$_" #sym); \ 213*0b57cec5SDimitry Andric __attribute__((visibility("default"))) const char sym##_tmp7 = 0; 214*0b57cec5SDimitry Andric 215*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__absvdi2) 216*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__absvsi2) 217*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__adddf3) 218*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__adddf3vfp) 219*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__addsf3) 220*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__addsf3vfp) 221*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__addvdi3) 222*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__addvsi3) 223*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ashldi3) 224*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ashrdi3) 225*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__bswapdi2) 226*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__bswapsi2) 227*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__clzdi2) 228*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__clzsi2) 229*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__cmpdi2) 230*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ctzdi2) 231*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ctzsi2) 232*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__divdc3) 233*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__divdf3) 234*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__divdf3vfp) 235*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__divdi3) 236*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__divsc3) 237*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__divsf3) 238*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__divsf3vfp) 239*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__divsi3) 240*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__eqdf2) 241*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__eqdf2vfp) 242*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__eqsf2) 243*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__eqsf2vfp) 244*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__extendsfdf2) 245*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__extendsfdf2vfp) 246*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ffsdi2) 247*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixdfdi) 248*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixdfsi) 249*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixdfsivfp) 250*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixsfdi) 251*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixsfsi) 252*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixsfsivfp) 253*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixunsdfdi) 254*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixunsdfsi) 255*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixunsdfsivfp) 256*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixunssfdi) 257*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixunssfsi) 258*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__fixunssfsivfp) 259*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatdidf) 260*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatdisf) 261*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatsidf) 262*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatsidfvfp) 263*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatsisf) 264*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatsisfvfp) 265*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatundidf) 266*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatundisf) 267*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatunsidf) 268*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatunsisf) 269*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatunssidfvfp) 270*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__floatunssisfvfp) 271*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__gedf2) 272*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__gedf2vfp) 273*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__gesf2) 274*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__gesf2vfp) 275*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__gtdf2) 276*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__gtdf2vfp) 277*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__gtsf2) 278*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__gtsf2vfp) 279*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ledf2) 280*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ledf2vfp) 281*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__lesf2) 282*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__lesf2vfp) 283*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__lshrdi3) 284*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ltdf2) 285*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ltdf2vfp) 286*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ltsf2) 287*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ltsf2vfp) 288*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__moddi3) 289*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__modsi3) 290*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__muldc3) 291*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__muldf3) 292*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__muldf3vfp) 293*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__muldi3) 294*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__mulsc3) 295*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__mulsf3) 296*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__mulsf3vfp) 297*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__mulvdi3) 298*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__mulvsi3) 299*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__nedf2) 300*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__nedf2vfp) 301*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__negdi2) 302*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__negvdi2) 303*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__negvsi2) 304*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__nesf2) 305*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__nesf2vfp) 306*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__paritydi2) 307*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__paritysi2) 308*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__popcountdi2) 309*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__popcountsi2) 310*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__powidf2) 311*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__powisf2) 312*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__subdf3) 313*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__subdf3vfp) 314*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__subsf3) 315*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__subsf3vfp) 316*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__subvdi3) 317*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__subvsi3) 318*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__truncdfsf2) 319*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__truncdfsf2vfp) 320*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__ucmpdi2) 321*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__udivdi3) 322*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__udivmoddi4) 323*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__udivsi3) 324*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__umoddi3) 325*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__umodsi3) 326*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__unorddf2) 327*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__unorddf2vfp) 328*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__unordsf2) 329*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__unordsf2vfp) 330*0b57cec5SDimitry Andric 331*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__divmodsi4) 332*0b57cec5SDimitry Andric NOT_HERE_UNTIL_AFTER_4_3(__udivmodsi4) 333*0b57cec5SDimitry Andric #endif // __arm__ && __DYNAMIC__ 334*0b57cec5SDimitry Andric 335*0b57cec5SDimitry Andric #else // !__APPLE__ 336*0b57cec5SDimitry Andric 337*0b57cec5SDimitry Andric extern int avoid_empty_file; 338*0b57cec5SDimitry Andric 339*0b57cec5SDimitry Andric #endif // !__APPLE__ 340