1 set(TARGET_LIBC_ENTRYPOINTS
3 libc.src.assert.__assert_fail
7 libc.src.ctype.isalnum_l
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
37 # string.h entrypoints
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
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
157 # stdlib.h entrypoints
158 libc.src.stdlib._Exit
159 libc.src.stdlib.abort
161 libc.src.stdlib.atexit
165 libc.src.stdlib.atoll
166 libc.src.stdlib.bsearch
171 libc.src.stdlib.llabs
172 libc.src.stdlib.lldiv
173 libc.src.stdlib.qsort
174 libc.src.stdlib.qsort_r
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
196 # TODO: Implement these correctly
197 libc.src.stdlib.aligned_alloc
198 libc.src.stdlib.calloc
200 libc.src.stdlib.malloc
201 libc.src.stdlib.realloc
203 # errno.h entrypoints
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
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
226 libc.src.stdio.ferror
227 libc.src.stdio.fflush
236 libc.src.stdio.fwrite
238 libc.src.stdio.getchar
240 libc.src.stdio.putchar
242 libc.src.stdio.remove
243 libc.src.stdio.rename
244 libc.src.stdio.stderr
246 libc.src.stdio.stdout
247 libc.src.stdio.ungetc
249 # inttypes.h entrypoints
250 libc.src.inttypes.imaxabs
251 libc.src.inttypes.imaxdiv
252 libc.src.inttypes.strtoimax
253 libc.src.inttypes.strtoumax
257 libc.src.time.clock_gettime
258 libc.src.time.nanosleep
260 # wchar.h entrypoints
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
272 # gpu/rpc.h entrypoints
273 libc.src.gpu.rpc_host_call
276 set(TARGET_LIBM_ENTRYPOINTS
293 libc.src.math.canonicalize
294 libc.src.math.canonicalizef
295 libc.src.math.canonicalizel
301 libc.src.math.copysign
302 libc.src.math.copysignf
303 libc.src.math.copysignl
320 libc.src.math.exp2m1f
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
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
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
390 libc.src.math.getpayload
391 libc.src.math.getpayloadf
392 libc.src.math.getpayloadl
405 libc.src.math.lgamma_r
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
430 libc.src.math.lroundf
431 libc.src.math.lroundl
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
451 libc.src.math.nextupf
452 libc.src.math.nextupl
457 libc.src.math.remainder
458 libc.src.math.remainderf
459 libc.src.math.remainderl
461 libc.src.math.remquof
462 libc.src.math.remquol
466 libc.src.math.roundeven
467 libc.src.math.roundevenf
468 libc.src.math.roundevenl
472 libc.src.math.scalbln
473 libc.src.math.scalblnf
474 libc.src.math.scalblnl
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
486 libc.src.math.sincosf
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
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
518 if(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
530 libc.src.math.f16addf
531 libc.src.math.f16addl
533 libc.src.math.f16divf
534 libc.src.math.f16divl
536 libc.src.math.f16fmaf
537 libc.src.math.f16fmal
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
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
574 libc.src.math.lrintf16
575 libc.src.math.lroundf16
576 libc.src.math.modff16
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
603 set(TARGET_LLVMLIBC_ENTRYPOINTS
604 ${TARGET_LIBC_ENTRYPOINTS}
605 ${TARGET_LIBM_ENTRYPOINTS}