• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1set(TARGET_LIBC_ENTRYPOINTS
2    # assert.h entrypoints
3    libc.src.assert.__assert_fail
4
5    # ctype.h entrypoints
6    libc.src.ctype.isalnum
7    libc.src.ctype.isalnum_l
8    libc.src.ctype.isalpha
9    libc.src.ctype.isalpha_l
10    libc.src.ctype.isascii
11    libc.src.ctype.isblank
12    libc.src.ctype.isblank_l
13    libc.src.ctype.iscntrl
14    libc.src.ctype.iscntrl_l
15    libc.src.ctype.isdigit
16    libc.src.ctype.isdigit_l
17    libc.src.ctype.isgraph
18    libc.src.ctype.isgraph_l
19    libc.src.ctype.islower
20    libc.src.ctype.islower_l
21    libc.src.ctype.isprint
22    libc.src.ctype.isprint_l
23    libc.src.ctype.ispunct
24    libc.src.ctype.ispunct_l
25    libc.src.ctype.isspace
26    libc.src.ctype.isspace_l
27    libc.src.ctype.isupper
28    libc.src.ctype.isupper_l
29    libc.src.ctype.isxdigit
30    libc.src.ctype.isxdigit_l
31    libc.src.ctype.toascii
32    libc.src.ctype.tolower
33    libc.src.ctype.tolower_l
34    libc.src.ctype.toupper
35    libc.src.ctype.toupper_l
36
37    # string.h entrypoints
38    libc.src.string.bcmp
39    libc.src.string.bcopy
40    libc.src.string.bzero
41    libc.src.string.index
42    libc.src.string.memccpy
43    libc.src.string.memchr
44    libc.src.string.memcmp
45    libc.src.string.memcpy
46    libc.src.string.memmem
47    libc.src.string.memmove
48    libc.src.string.mempcpy
49    libc.src.string.memrchr
50    libc.src.string.memset
51    libc.src.string.rindex
52    libc.src.string.stpcpy
53    libc.src.string.stpncpy
54    libc.src.string.strcasecmp
55    libc.src.string.strcasestr
56    libc.src.string.strcat
57    libc.src.string.strchr
58    libc.src.string.strchrnul
59    libc.src.string.strcmp
60    libc.src.string.strcoll
61    libc.src.string.strcoll_l
62    libc.src.string.strcpy
63    libc.src.string.strcspn
64    libc.src.string.strdup
65    libc.src.string.strerror
66    libc.src.string.strlcat
67    libc.src.string.strlcpy
68    libc.src.string.strlen
69    libc.src.string.strncasecmp
70    libc.src.string.strncat
71    libc.src.string.strncmp
72    libc.src.string.strncpy
73    libc.src.string.strndup
74    libc.src.string.strnlen
75    libc.src.string.strpbrk
76    libc.src.string.strrchr
77    libc.src.string.strsep
78    libc.src.string.strspn
79    libc.src.string.strstr
80    libc.src.string.strtok
81    libc.src.string.strtok_r
82    libc.src.string.strxfrm
83    libc.src.string.strxfrm_l
84
85    # stdbit.h entrypoints
86    libc.src.stdbit.stdc_bit_ceil_uc
87    libc.src.stdbit.stdc_bit_ceil_ui
88    libc.src.stdbit.stdc_bit_ceil_ul
89    libc.src.stdbit.stdc_bit_ceil_ull
90    libc.src.stdbit.stdc_bit_ceil_us
91    libc.src.stdbit.stdc_bit_floor_uc
92    libc.src.stdbit.stdc_bit_floor_ui
93    libc.src.stdbit.stdc_bit_floor_ul
94    libc.src.stdbit.stdc_bit_floor_ull
95    libc.src.stdbit.stdc_bit_floor_us
96    libc.src.stdbit.stdc_bit_width_uc
97    libc.src.stdbit.stdc_bit_width_ui
98    libc.src.stdbit.stdc_bit_width_ul
99    libc.src.stdbit.stdc_bit_width_ull
100    libc.src.stdbit.stdc_bit_width_us
101    libc.src.stdbit.stdc_count_ones_uc
102    libc.src.stdbit.stdc_count_ones_ui
103    libc.src.stdbit.stdc_count_ones_ul
104    libc.src.stdbit.stdc_count_ones_ull
105    libc.src.stdbit.stdc_count_ones_us
106    libc.src.stdbit.stdc_count_zeros_uc
107    libc.src.stdbit.stdc_count_zeros_ui
108    libc.src.stdbit.stdc_count_zeros_ul
109    libc.src.stdbit.stdc_count_zeros_ull
110    libc.src.stdbit.stdc_count_zeros_us
111    libc.src.stdbit.stdc_first_leading_one_uc
112    libc.src.stdbit.stdc_first_leading_one_ui
113    libc.src.stdbit.stdc_first_leading_one_ul
114    libc.src.stdbit.stdc_first_leading_one_ull
115    libc.src.stdbit.stdc_first_leading_one_us
116    libc.src.stdbit.stdc_first_leading_zero_uc
117    libc.src.stdbit.stdc_first_leading_zero_ui
118    libc.src.stdbit.stdc_first_leading_zero_ul
119    libc.src.stdbit.stdc_first_leading_zero_ull
120    libc.src.stdbit.stdc_first_leading_zero_us
121    libc.src.stdbit.stdc_first_trailing_one_uc
122    libc.src.stdbit.stdc_first_trailing_one_ui
123    libc.src.stdbit.stdc_first_trailing_one_ul
124    libc.src.stdbit.stdc_first_trailing_one_ull
125    libc.src.stdbit.stdc_first_trailing_one_us
126    libc.src.stdbit.stdc_first_trailing_zero_uc
127    libc.src.stdbit.stdc_first_trailing_zero_ui
128    libc.src.stdbit.stdc_first_trailing_zero_ul
129    libc.src.stdbit.stdc_first_trailing_zero_ull
130    libc.src.stdbit.stdc_first_trailing_zero_us
131    libc.src.stdbit.stdc_has_single_bit_uc
132    libc.src.stdbit.stdc_has_single_bit_ui
133    libc.src.stdbit.stdc_has_single_bit_ul
134    libc.src.stdbit.stdc_has_single_bit_ull
135    libc.src.stdbit.stdc_has_single_bit_us
136    libc.src.stdbit.stdc_leading_ones_uc
137    libc.src.stdbit.stdc_leading_ones_ui
138    libc.src.stdbit.stdc_leading_ones_ul
139    libc.src.stdbit.stdc_leading_ones_ull
140    libc.src.stdbit.stdc_leading_ones_us
141    libc.src.stdbit.stdc_leading_zeros_uc
142    libc.src.stdbit.stdc_leading_zeros_ui
143    libc.src.stdbit.stdc_leading_zeros_ul
144    libc.src.stdbit.stdc_leading_zeros_ull
145    libc.src.stdbit.stdc_leading_zeros_us
146    libc.src.stdbit.stdc_trailing_ones_uc
147    libc.src.stdbit.stdc_trailing_ones_ui
148    libc.src.stdbit.stdc_trailing_ones_ul
149    libc.src.stdbit.stdc_trailing_ones_ull
150    libc.src.stdbit.stdc_trailing_ones_us
151    libc.src.stdbit.stdc_trailing_zeros_uc
152    libc.src.stdbit.stdc_trailing_zeros_ui
153    libc.src.stdbit.stdc_trailing_zeros_ul
154    libc.src.stdbit.stdc_trailing_zeros_ull
155    libc.src.stdbit.stdc_trailing_zeros_us
156
157    # stdlib.h entrypoints
158    libc.src.stdlib._Exit
159    libc.src.stdlib.abort
160    libc.src.stdlib.abs
161    libc.src.stdlib.atexit
162    libc.src.stdlib.atof
163    libc.src.stdlib.atoi
164    libc.src.stdlib.atol
165    libc.src.stdlib.atoll
166    libc.src.stdlib.bsearch
167    libc.src.stdlib.div
168    libc.src.stdlib.exit
169    libc.src.stdlib.labs
170    libc.src.stdlib.ldiv
171    libc.src.stdlib.llabs
172    libc.src.stdlib.lldiv
173    libc.src.stdlib.qsort
174    libc.src.stdlib.qsort_r
175    libc.src.stdlib.rand
176    libc.src.stdlib.srand
177    libc.src.stdlib.strtod
178    libc.src.stdlib.strtod_l
179    libc.src.stdlib.strtof
180    libc.src.stdlib.strtof_l
181    libc.src.stdlib.strtol
182    libc.src.stdlib.strtol_l
183    libc.src.stdlib.strtold
184    libc.src.stdlib.strtold_l
185    libc.src.stdlib.strtoll
186    libc.src.stdlib.strtoll_l
187    libc.src.stdlib.strtoul
188    libc.src.stdlib.strtoul_l
189    libc.src.stdlib.strtoull
190    libc.src.stdlib.strtoull_l
191    libc.src.stdlib.at_quick_exit
192    libc.src.stdlib.quick_exit
193    libc.src.stdlib.getenv
194    libc.src.stdlib.system
195
196    # TODO: Implement these correctly
197    libc.src.stdlib.aligned_alloc
198    libc.src.stdlib.calloc
199    libc.src.stdlib.free
200    libc.src.stdlib.malloc
201    libc.src.stdlib.realloc
202
203    # errno.h entrypoints
204    libc.src.errno.errno
205
206    # stdio.h entrypoints
207    libc.src.stdio.clearerr
208    libc.src.stdio.fclose
209    libc.src.stdio.printf
210    libc.src.stdio.vprintf
211    libc.src.stdio.fprintf
212    libc.src.stdio.vfprintf
213    libc.src.stdio.snprintf
214    libc.src.stdio.sprintf
215    libc.src.stdio.vsnprintf
216    libc.src.stdio.vsprintf
217    libc.src.stdio.asprintf
218    libc.src.stdio.vasprintf
219    libc.src.stdio.scanf
220    libc.src.stdio.vscanf
221    libc.src.stdio.fscanf
222    libc.src.stdio.vfscanf
223    libc.src.stdio.sscanf
224    libc.src.stdio.vsscanf
225    libc.src.stdio.feof
226    libc.src.stdio.ferror
227    libc.src.stdio.fflush
228    libc.src.stdio.fgetc
229    libc.src.stdio.fgets
230    libc.src.stdio.fopen
231    libc.src.stdio.fputc
232    libc.src.stdio.fputs
233    libc.src.stdio.fread
234    libc.src.stdio.fseek
235    libc.src.stdio.ftell
236    libc.src.stdio.fwrite
237    libc.src.stdio.getc
238    libc.src.stdio.getchar
239    libc.src.stdio.putc
240    libc.src.stdio.putchar
241    libc.src.stdio.puts
242    libc.src.stdio.remove
243    libc.src.stdio.rename
244    libc.src.stdio.stderr
245    libc.src.stdio.stdin
246    libc.src.stdio.stdout
247    libc.src.stdio.ungetc
248
249    # inttypes.h entrypoints
250    libc.src.inttypes.imaxabs
251    libc.src.inttypes.imaxdiv
252    libc.src.inttypes.strtoimax
253    libc.src.inttypes.strtoumax
254
255    # time.h entrypoints
256    libc.src.time.clock
257    libc.src.time.clock_gettime
258    libc.src.time.nanosleep
259
260    # wchar.h entrypoints
261    libc.src.wchar.wctob
262
263    # locale.h entrypoints
264    libc.src.locale.localeconv
265    libc.src.locale.duplocale
266    libc.src.locale.freelocale
267    libc.src.locale.localeconv
268    libc.src.locale.newlocale
269    libc.src.locale.setlocale
270    libc.src.locale.uselocale
271
272    # gpu/rpc.h entrypoints
273    libc.src.gpu.rpc_host_call
274)
275
276set(TARGET_LIBM_ENTRYPOINTS
277    # math.h entrypoints
278    libc.src.math.acos
279    libc.src.math.acosf
280    libc.src.math.acosh
281    libc.src.math.acoshf
282    libc.src.math.asin
283    libc.src.math.asinf
284    libc.src.math.asinh
285    libc.src.math.asinhf
286    libc.src.math.atan
287    libc.src.math.atan2
288    libc.src.math.atan2f
289    libc.src.math.atan2l
290    libc.src.math.atanf
291    libc.src.math.atanh
292    libc.src.math.atanhf
293    libc.src.math.canonicalize
294    libc.src.math.canonicalizef
295    libc.src.math.canonicalizel
296    libc.src.math.cbrt
297    libc.src.math.cbrtf
298    libc.src.math.ceil
299    libc.src.math.ceilf
300    libc.src.math.ceill
301    libc.src.math.copysign
302    libc.src.math.copysignf
303    libc.src.math.copysignl
304    libc.src.math.cos
305    libc.src.math.cosf
306    libc.src.math.cosh
307    libc.src.math.coshf
308    libc.src.math.cospif
309    libc.src.math.ddivl
310    libc.src.math.dfmal
311    libc.src.math.dmull
312    libc.src.math.dsqrtl
313    libc.src.math.erf
314    libc.src.math.erff
315    libc.src.math.exp
316    libc.src.math.exp10
317    libc.src.math.exp10f
318    libc.src.math.exp2
319    libc.src.math.exp2f
320    libc.src.math.exp2m1f
321    libc.src.math.expf
322    libc.src.math.expm1
323    libc.src.math.expm1f
324    libc.src.math.fabs
325    libc.src.math.fabsf
326    libc.src.math.fabsl
327    libc.src.math.fadd
328    libc.src.math.faddl
329    libc.src.math.fdim
330    libc.src.math.fdimf
331    libc.src.math.fdiml
332    libc.src.math.fdiv
333    libc.src.math.fdivl
334    libc.src.math.ffma
335    libc.src.math.ffmal
336    libc.src.math.floor
337    libc.src.math.floorf
338    libc.src.math.floorl
339    libc.src.math.fma
340    libc.src.math.fmaf
341    libc.src.math.fmax
342    libc.src.math.fmaxf
343    libc.src.math.fmaximum
344    libc.src.math.fmaximumf
345    libc.src.math.fmaximuml
346    libc.src.math.fmaximum_mag
347    libc.src.math.fmaximum_magf
348    libc.src.math.fmaximum_magl
349    libc.src.math.fmaximum_mag_num
350    libc.src.math.fmaximum_mag_numf
351    libc.src.math.fmaximum_mag_numl
352    libc.src.math.fmaximum_num
353    libc.src.math.fmaximum_numf
354    libc.src.math.fmaximum_numl
355    libc.src.math.fmaxl
356    libc.src.math.fmin
357    libc.src.math.fminf
358    libc.src.math.fminimum
359    libc.src.math.fminimumf
360    libc.src.math.fminimuml
361    libc.src.math.fminimum_mag
362    libc.src.math.fminimum_magf
363    libc.src.math.fminimum_magl
364    libc.src.math.fminimum_mag_num
365    libc.src.math.fminimum_mag_numf
366    libc.src.math.fminimum_mag_numl
367    libc.src.math.fminimum_num
368    libc.src.math.fminimum_numf
369    libc.src.math.fminimum_numl
370    libc.src.math.fminl
371    libc.src.math.fmod
372    libc.src.math.fmodf
373    libc.src.math.fmodl
374    libc.src.math.fmul
375    libc.src.math.fmull
376    libc.src.math.frexp
377    libc.src.math.frexpf
378    libc.src.math.frexpl
379    # FIXME: Broken on NVPTX.
380    # libc.src.math.fromfp
381    # libc.src.math.fromfpf
382    # libc.src.math.fromfpl
383    # libc.src.math.fromfpx
384    # libc.src.math.fromfpxf
385    # libc.src.math.fromfpxl
386    libc.src.math.fsqrt
387    libc.src.math.fsqrtl
388    libc.src.math.fsub
389    libc.src.math.fsubl
390    libc.src.math.getpayload
391    libc.src.math.getpayloadf
392    libc.src.math.getpayloadl
393    libc.src.math.hypot
394    libc.src.math.hypotf
395    libc.src.math.ilogb
396    libc.src.math.ilogbf
397    libc.src.math.ilogbl
398    libc.src.math.isnan
399    libc.src.math.isnanf
400    libc.src.math.isnanl
401    libc.src.math.ldexp
402    libc.src.math.ldexpf
403    libc.src.math.ldexpl
404    libc.src.math.lgamma
405    libc.src.math.lgamma_r
406    libc.src.math.llogb
407    libc.src.math.llogbf
408    libc.src.math.llogbl
409    libc.src.math.llrint
410    libc.src.math.llrintf
411    libc.src.math.llrintl
412    libc.src.math.llround
413    libc.src.math.llroundf
414    libc.src.math.llroundl
415    libc.src.math.log
416    libc.src.math.log10
417    libc.src.math.log10f
418    libc.src.math.log1p
419    libc.src.math.log1pf
420    libc.src.math.log2
421    libc.src.math.log2f
422    libc.src.math.logb
423    libc.src.math.logbf
424    libc.src.math.logbl
425    libc.src.math.logf
426    libc.src.math.lrint
427    libc.src.math.lrintf
428    libc.src.math.lrintl
429    libc.src.math.lround
430    libc.src.math.lroundf
431    libc.src.math.lroundl
432    libc.src.math.modf
433    libc.src.math.modff
434    libc.src.math.modfl
435    libc.src.math.nan
436    libc.src.math.nanf
437    libc.src.math.nanl
438    libc.src.math.nearbyint
439    libc.src.math.nearbyintf
440    libc.src.math.nearbyintl
441    libc.src.math.nextafter
442    libc.src.math.nextafterf
443    libc.src.math.nextafterl
444    libc.src.math.nextdown
445    libc.src.math.nextdownf
446    libc.src.math.nextdownl
447    libc.src.math.nexttoward
448    libc.src.math.nexttowardf
449    libc.src.math.nexttowardl
450    libc.src.math.nextup
451    libc.src.math.nextupf
452    libc.src.math.nextupl
453    libc.src.math.pow
454    libc.src.math.powf
455    libc.src.math.powi
456    libc.src.math.powif
457    libc.src.math.remainder
458    libc.src.math.remainderf
459    libc.src.math.remainderl
460    libc.src.math.remquo
461    libc.src.math.remquof
462    libc.src.math.remquol
463    libc.src.math.rint
464    libc.src.math.rintf
465    libc.src.math.rintl
466    libc.src.math.roundeven
467    libc.src.math.roundevenf
468    libc.src.math.roundevenl
469    libc.src.math.round
470    libc.src.math.roundf
471    libc.src.math.roundl
472    libc.src.math.scalbln
473    libc.src.math.scalblnf
474    libc.src.math.scalblnl
475    libc.src.math.scalbn
476    libc.src.math.scalbnf
477    libc.src.math.scalbnl
478    libc.src.math.setpayload
479    libc.src.math.setpayloadf
480    libc.src.math.setpayloadl
481    libc.src.math.setpayloadsig
482    libc.src.math.setpayloadsigf
483    libc.src.math.setpayloadsigl
484    libc.src.math.sin
485    libc.src.math.sincos
486    libc.src.math.sincosf
487    libc.src.math.sinf
488    libc.src.math.sinh
489    libc.src.math.sinhf
490    libc.src.math.sinpif
491    libc.src.math.sqrt
492    libc.src.math.sqrtf
493    libc.src.math.sqrtl
494    libc.src.math.tan
495    libc.src.math.tanf
496    libc.src.math.tanh
497    libc.src.math.tanhf
498    libc.src.math.tgamma
499    libc.src.math.tgammaf
500    libc.src.math.totalorder
501    libc.src.math.totalorderf
502    libc.src.math.totalorderl
503    libc.src.math.totalordermag
504    libc.src.math.totalordermagf
505    libc.src.math.totalordermagl
506    libc.src.math.trunc
507    libc.src.math.truncf
508    libc.src.math.truncl
509    # FIXME: Broken on NVPTX.
510    # libc.src.math.ufromfp
511    # libc.src.math.ufromfpf
512    # libc.src.math.ufromfpl
513    # libc.src.math.ufromfpx
514    # libc.src.math.ufromfpxf
515    # libc.src.math.ufromfpxl
516)
517
518if(LIBC_TYPES_HAS_FLOAT16)
519  list(APPEND TARGET_LIBM_ENTRYPOINTS
520    # math.h C23 _Float16 entrypoints
521    libc.src.math.canonicalizef16
522    libc.src.math.ceilf16
523    libc.src.math.copysignf16
524    libc.src.math.coshf16
525    libc.src.math.exp10f16
526    libc.src.math.exp10m1f16
527    libc.src.math.exp2f16
528    libc.src.math.expf16
529    libc.src.math.f16add
530    libc.src.math.f16addf
531    libc.src.math.f16addl
532    libc.src.math.f16div
533    libc.src.math.f16divf
534    libc.src.math.f16divl
535    libc.src.math.f16fma
536    libc.src.math.f16fmaf
537    libc.src.math.f16fmal
538    libc.src.math.f16mul
539    libc.src.math.f16mulf
540    libc.src.math.f16mull
541    libc.src.math.f16sqrt
542    libc.src.math.f16sqrtf
543    libc.src.math.f16sqrtl
544    libc.src.math.f16sub
545    libc.src.math.f16subf
546    libc.src.math.f16subl
547    libc.src.math.fabsf16
548    libc.src.math.fdimf16
549    libc.src.math.floorf16
550    libc.src.math.fmaxf16
551    libc.src.math.fmaximum_mag_numf16
552    libc.src.math.fmaximum_magf16
553    libc.src.math.fmaximum_numf16
554    libc.src.math.fmaximumf16
555    libc.src.math.fminf16
556    libc.src.math.fminimum_mag_numf16
557    libc.src.math.fminimum_magf16
558    libc.src.math.fminimum_numf16
559    libc.src.math.fminimumf16
560    libc.src.math.fmodf16
561    libc.src.math.frexpf16
562    libc.src.math.fromfpf16
563    libc.src.math.fromfpxf16
564    libc.src.math.getpayloadf16
565    libc.src.math.ilogbf16
566    libc.src.math.ldexpf16
567    libc.src.math.llogbf16
568    libc.src.math.llrintf16
569    libc.src.math.llroundf16
570    libc.src.math.log10f16
571    libc.src.math.log2f16
572    libc.src.math.logbf16
573    libc.src.math.logf16
574    libc.src.math.lrintf16
575    libc.src.math.lroundf16
576    libc.src.math.modff16
577    libc.src.math.nanf16
578    libc.src.math.nearbyintf16
579    libc.src.math.nextafterf16
580    libc.src.math.nextdownf16
581    libc.src.math.nexttowardf16
582    libc.src.math.nextupf16
583    libc.src.math.remainderf16
584    libc.src.math.remquof16
585    libc.src.math.rintf16
586    libc.src.math.roundevenf16
587    libc.src.math.roundf16
588    libc.src.math.scalblnf16
589    libc.src.math.scalbnf16
590    libc.src.math.setpayloadf16
591    libc.src.math.setpayloadsigf16
592    libc.src.math.sinhf16
593    libc.src.math.sqrtf16
594    libc.src.math.tanhf16
595    libc.src.math.totalorderf16
596    libc.src.math.totalordermagf16
597    libc.src.math.truncf16
598    libc.src.math.ufromfpf16
599    libc.src.math.ufromfpxf16
600  )
601endif()
602
603set(TARGET_LLVMLIBC_ENTRYPOINTS
604  ${TARGET_LIBC_ENTRYPOINTS}
605  ${TARGET_LIBM_ENTRYPOINTS}
606)
607