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