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