aboutsummaryrefslogtreecommitdiff
path: root/libc/config/windows/entrypoints.txt
blob: 3160d5790f33b6f8dfffb0c6102f90cc41a93b71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
set(TARGET_LIBC_ENTRYPOINTS
    # ctype.h entrypoints
    libc.src.ctype.isalnum
    libc.src.ctype.isalpha
    libc.src.ctype.isascii
    libc.src.ctype.isblank
    libc.src.ctype.iscntrl
    libc.src.ctype.isdigit
    libc.src.ctype.isgraph
    libc.src.ctype.islower
    libc.src.ctype.isprint
    libc.src.ctype.ispunct
    libc.src.ctype.isspace
    libc.src.ctype.isupper
    libc.src.ctype.isxdigit
    libc.src.ctype.toascii
    libc.src.ctype.tolower
    libc.src.ctype.toupper

    # string.h entrypoints
    libc.src.string.memccpy
    libc.src.string.memchr
    libc.src.string.memcmp
    libc.src.string.memcpy
    libc.src.string.memmem
    libc.src.string.memmove
    libc.src.string.mempcpy
    libc.src.string.memrchr
    libc.src.string.memset
    libc.src.string.stpcpy
    libc.src.string.stpncpy
    libc.src.string.strcasestr
    libc.src.string.strcat
    libc.src.string.strchr
    libc.src.string.strchrnul
    libc.src.string.strcmp
    libc.src.string.strcpy
    libc.src.string.strcspn
    libc.src.string.strlcat
    libc.src.string.strlcpy
    libc.src.string.strlen
    libc.src.string.strncat
    libc.src.string.strncmp
    libc.src.string.strncpy
    libc.src.string.strnlen
    libc.src.string.strpbrk
    libc.src.string.strrchr
    libc.src.string.strspn
    libc.src.string.strstr
    libc.src.string.strtok
    libc.src.string.strtok_r

    # string.h entrypoints that depend on malloc
    libc.src.string.strdup
    libc.src.string.strndup

    # strings.h entrypoints
    libc.src.strings.bcmp
    libc.src.strings.bcopy
    libc.src.strings.bzero
    libc.src.strings.strcasecmp
    libc.src.strings.strncasecmp

    # inttypes.h entrypoints
    libc.src.inttypes.imaxabs
    libc.src.inttypes.imaxdiv
    libc.src.inttypes.strtoimax
    libc.src.inttypes.strtoumax

    # stdlib.h entrypoints
    libc.src.stdlib.abs
    libc.src.stdlib.atoi
    libc.src.stdlib.atof
    libc.src.stdlib.atol
    libc.src.stdlib.atoll
    libc.src.stdlib.bsearch
    libc.src.stdlib.div
    libc.src.stdlib.labs
    libc.src.stdlib.ldiv
    libc.src.stdlib.llabs
    libc.src.stdlib.lldiv
    libc.src.stdlib.memalignment
    libc.src.stdlib.qsort
    libc.src.stdlib.strtod
    libc.src.stdlib.strtof
    libc.src.stdlib.strtol
    libc.src.stdlib.strtold
    libc.src.stdlib.strtoll
    libc.src.stdlib.strtoul
    libc.src.stdlib.strtoull

    # stdlib.h external entrypoints
    libc.src.stdlib.malloc
    libc.src.stdlib.calloc
    libc.src.stdlib.realloc
    libc.src.stdlib.aligned_alloc
    libc.src.stdlib.free

    # errno.h entrypoints
    libc.src.errno.errno

    # time.h entrypoints
    libc.src.time.time
    libc.src.time.clock_getres

    # unistd.h entrypoints
    libc.src.unistd.getentropy

    # wctype.h entrypoints
    libc.src.wctype.iswalpha
)

set(TARGET_LIBM_ENTRYPOINTS
    # fenv.h entrypoints
    libc.src.fenv.feclearexcept
    libc.src.fenv.fedisableexcept
    libc.src.fenv.feenableexcept
    libc.src.fenv.fegetenv
    libc.src.fenv.fegetexcept
    libc.src.fenv.fegetexceptflag
    libc.src.fenv.fegetround
    libc.src.fenv.feholdexcept
    libc.src.fenv.fesetenv
    libc.src.fenv.fesetexcept
    libc.src.fenv.fesetexceptflag
    libc.src.fenv.fesetround
    libc.src.fenv.feraiseexcept
    libc.src.fenv.fetestexcept
    libc.src.fenv.fetestexceptflag
    libc.src.fenv.feupdateenv

    # math.h entrypoints
    libc.src.math.acos
    libc.src.math.acosf
    libc.src.math.acoshf
    libc.src.math.asin
    libc.src.math.asinf
    libc.src.math.asinhf
    libc.src.math.atan2
    libc.src.math.atan2f
    libc.src.math.atan
    libc.src.math.atanf
    libc.src.math.atanhf
    libc.src.math.cbrt
    libc.src.math.cbrtf
    libc.src.math.copysign
    libc.src.math.copysignf
    libc.src.math.copysignl
    libc.src.math.ceil
    libc.src.math.ceilf
    libc.src.math.ceill
    libc.src.math.cos
    libc.src.math.cosf
    libc.src.math.coshf
    libc.src.math.daddl
    libc.src.math.ddivl
    libc.src.math.dfmal
    libc.src.math.dsubl
    libc.src.math.erff
    libc.src.math.exp
    libc.src.math.expf
    libc.src.math.exp10
    libc.src.math.exp10f
    libc.src.math.exp2
    libc.src.math.exp2f
    libc.src.math.expm1
    libc.src.math.expm1f
    libc.src.math.fabs
    libc.src.math.fabsf
    libc.src.math.fabsl
    libc.src.math.fadd
    libc.src.math.faddl
    libc.src.math.fdim
    libc.src.math.fdimf
    libc.src.math.fdiml
    libc.src.math.fdiv
    libc.src.math.fdivl
    libc.src.math.ffma
    libc.src.math.ffmal
    libc.src.math.floor
    libc.src.math.floorf
    libc.src.math.floorl
    libc.src.math.fma
    libc.src.math.fmaf
    libc.src.math.fmin
    libc.src.math.fminf
    libc.src.math.fminl
    libc.src.math.fmax
    libc.src.math.fmaxf
    libc.src.math.fmaxl
    libc.src.math.fmaximum
    libc.src.math.fmaximumf
    libc.src.math.fmaximuml
    libc.src.math.fmaximum_num
    libc.src.math.fmaximum_numf
    libc.src.math.fmaximum_numl
    libc.src.math.fmaximum_mag
    libc.src.math.fmaximum_magf
    libc.src.math.fmaximum_magl
    libc.src.math.fmaximum_mag_num
    libc.src.math.fmaximum_mag_numf
    libc.src.math.fmaximum_mag_numl
    libc.src.math.fminimum
    libc.src.math.fminimumf
    libc.src.math.fminimuml
    libc.src.math.fminimum_num
    libc.src.math.fminimum_numf
    libc.src.math.fminimum_numl
    libc.src.math.fminimum_mag
    libc.src.math.fminimum_magf
    libc.src.math.fminimum_magl
    libc.src.math.fminimum_mag_num
    libc.src.math.fminimum_mag_numf
    libc.src.math.fminimum_mag_numl
    libc.src.math.fmul
    libc.src.math.fmod
    libc.src.math.fmodf
    libc.src.math.fmodl
    libc.src.math.frexp
    libc.src.math.frexpf
    libc.src.math.frexpl
    libc.src.math.fsub
    libc.src.math.fsubl
    libc.src.math.hypot
    libc.src.math.hypotf
    libc.src.math.ilogb
    libc.src.math.ilogbf
    libc.src.math.ilogbl
    libc.src.math.ldexp
    libc.src.math.ldexpf
    libc.src.math.ldexpl
    libc.src.math.llrint
    libc.src.math.llrintf
    libc.src.math.llrintl
    libc.src.math.llround
    libc.src.math.llroundf
    libc.src.math.llroundl
    libc.src.math.log10
    libc.src.math.log10f
    libc.src.math.log1p
    libc.src.math.log1pf
    libc.src.math.log2
    libc.src.math.log2f
    libc.src.math.log
    libc.src.math.logf
    libc.src.math.logb
    libc.src.math.logbf
    libc.src.math.logbl
    libc.src.math.lrint
    libc.src.math.lrintf
    libc.src.math.lrintl
    libc.src.math.lround
    libc.src.math.lroundf
    libc.src.math.lroundl
    libc.src.math.modf
    libc.src.math.modff
    libc.src.math.modfl
    libc.src.math.nan
    libc.src.math.nanf
    libc.src.math.nanl
    libc.src.math.nearbyint
    libc.src.math.nearbyintf
    libc.src.math.nearbyintl
    libc.src.math.nextafter
    libc.src.math.nextafterf
    libc.src.math.nextafterl
    libc.src.math.nexttoward
    libc.src.math.nexttowardf
    libc.src.math.nexttowardl
    libc.src.math.pow
    libc.src.math.powf
    libc.src.math.remainderf
    libc.src.math.remainder
    libc.src.math.remainderl
    libc.src.math.remquof
    libc.src.math.remquo
    libc.src.math.remquol
    libc.src.math.rint
    libc.src.math.rintf
    libc.src.math.rintl
    libc.src.math.round
    libc.src.math.roundf
    libc.src.math.roundl
    libc.src.math.scalbln
    libc.src.math.scalblnf
    libc.src.math.scalblnl
    libc.src.math.scalbn
    libc.src.math.scalbnf
    libc.src.math.scalbnl
    libc.src.math.sin
    libc.src.math.sincosf
    libc.src.math.sincosf
    libc.src.math.sinf
    libc.src.math.sinhf
    libc.src.math.sqrt
    libc.src.math.sqrtf
    libc.src.math.sqrtl
    libc.src.math.tan
    libc.src.math.tanf
    libc.src.math.tanhf
    libc.src.math.tanpif
    libc.src.math.trunc
    libc.src.math.truncf
    libc.src.math.truncl
)

list(APPEND TARGET_LIBM_ENTRYPOINTS
  # bfloat16 entrypoints
  libc.src.math.fabsbf16
)

set(TARGET_LLVMLIBC_ENTRYPOINTS
  ${TARGET_LIBC_ENTRYPOINTS}
  ${TARGET_LIBM_ENTRYPOINTS}
)