apple_versioning.c 13 KB

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