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
38 libc.src.string.memccpy
39 libc.src.string.memchr
40 libc.src.string.memcmp
41 libc.src.string.memcpy
42 libc.src.string.memmem
43 libc.src.string.memmove
44 libc.src.string.mempcpy
45 libc.src.string.memrchr
46 libc.src.string.memset
47 libc.src.string.stpcpy
48 libc.src.string.stpncpy
49 libc.src.string.strcasestr
50 libc.src.string.strcat
51 libc.src.string.strchr
52 libc.src.string.strchrnul
53 libc.src.string.strcmp
54 libc.src.string.strcoll
55 libc.src.string.strcoll_l
56 libc.src.string.strcpy
57 libc.src.string.strcspn
58 libc.src.string.strdup
59 libc.src.string.strerror
60 libc.src.string.strlcat
61 libc.src.string.strlcpy
62 libc.src.string.strlen
63 libc.src.string.strncat
64 libc.src.string.strncmp
65 libc.src.string.strncpy
66 libc.src.string.strndup
67 libc.src.string.strnlen
68 libc.src.string.strpbrk
69 libc.src.string.strrchr
70 libc.src.string.strsep
71 libc.src.string.strspn
72 libc.src.string.strstr
73 libc.src.string.strtok
74 libc.src.string.strtok_r
75 libc.src.string.strxfrm
76 libc.src.string.strxfrm_l
78 # strings.h entrypoints
80 libc.src.strings.bcopy
81 libc.src.strings.bzero
82 libc.src.strings.index
83 libc.src.strings.rindex
84 libc.src.strings.strcasecmp
85 libc.src.strings.strncasecmp
87 # stdbit.h entrypoints
88 libc.src.stdbit.stdc_bit_ceil_uc
89 libc.src.stdbit.stdc_bit_ceil_ui
90 libc.src.stdbit.stdc_bit_ceil_ul
91 libc.src.stdbit.stdc_bit_ceil_ull
92 libc.src.stdbit.stdc_bit_ceil_us
93 libc.src.stdbit.stdc_bit_floor_uc
94 libc.src.stdbit.stdc_bit_floor_ui
95 libc.src.stdbit.stdc_bit_floor_ul
96 libc.src.stdbit.stdc_bit_floor_ull
97 libc.src.stdbit.stdc_bit_floor_us
98 libc.src.stdbit.stdc_bit_width_uc
99 libc.src.stdbit.stdc_bit_width_ui
100 libc.src.stdbit.stdc_bit_width_ul
101 libc.src.stdbit.stdc_bit_width_ull
102 libc.src.stdbit.stdc_bit_width_us
103 libc.src.stdbit.stdc_count_ones_uc
104 libc.src.stdbit.stdc_count_ones_ui
105 libc.src.stdbit.stdc_count_ones_ul
106 libc.src.stdbit.stdc_count_ones_ull
107 libc.src.stdbit.stdc_count_ones_us
108 libc.src.stdbit.stdc_count_zeros_uc
109 libc.src.stdbit.stdc_count_zeros_ui
110 libc.src.stdbit.stdc_count_zeros_ul
111 libc.src.stdbit.stdc_count_zeros_ull
112 libc.src.stdbit.stdc_count_zeros_us
113 libc.src.stdbit.stdc_first_leading_one_uc
114 libc.src.stdbit.stdc_first_leading_one_ui
115 libc.src.stdbit.stdc_first_leading_one_ul
116 libc.src.stdbit.stdc_first_leading_one_ull
117 libc.src.stdbit.stdc_first_leading_one_us
118 libc.src.stdbit.stdc_first_leading_zero_uc
119 libc.src.stdbit.stdc_first_leading_zero_ui
120 libc.src.stdbit.stdc_first_leading_zero_ul
121 libc.src.stdbit.stdc_first_leading_zero_ull
122 libc.src.stdbit.stdc_first_leading_zero_us
123 libc.src.stdbit.stdc_first_trailing_one_uc
124 libc.src.stdbit.stdc_first_trailing_one_ui
125 libc.src.stdbit.stdc_first_trailing_one_ul
126 libc.src.stdbit.stdc_first_trailing_one_ull
127 libc.src.stdbit.stdc_first_trailing_one_us
128 libc.src.stdbit.stdc_first_trailing_zero_uc
129 libc.src.stdbit.stdc_first_trailing_zero_ui
130 libc.src.stdbit.stdc_first_trailing_zero_ul
131 libc.src.stdbit.stdc_first_trailing_zero_ull
132 libc.src.stdbit.stdc_first_trailing_zero_us
133 libc.src.stdbit.stdc_has_single_bit_uc
134 libc.src.stdbit.stdc_has_single_bit_ui
135 libc.src.stdbit.stdc_has_single_bit_ul
136 libc.src.stdbit.stdc_has_single_bit_ull
137 libc.src.stdbit.stdc_has_single_bit_us
138 libc.src.stdbit.stdc_leading_ones_uc
139 libc.src.stdbit.stdc_leading_ones_ui
140 libc.src.stdbit.stdc_leading_ones_ul
141 libc.src.stdbit.stdc_leading_ones_ull
142 libc.src.stdbit.stdc_leading_ones_us
143 libc.src.stdbit.stdc_leading_zeros_uc
144 libc.src.stdbit.stdc_leading_zeros_ui
145 libc.src.stdbit.stdc_leading_zeros_ul
146 libc.src.stdbit.stdc_leading_zeros_ull
147 libc.src.stdbit.stdc_leading_zeros_us
148 libc.src.stdbit.stdc_trailing_ones_uc
149 libc.src.stdbit.stdc_trailing_ones_ui
150 libc.src.stdbit.stdc_trailing_ones_ul
151 libc.src.stdbit.stdc_trailing_ones_ull
152 libc.src.stdbit.stdc_trailing_ones_us
153 libc.src.stdbit.stdc_trailing_zeros_uc
154 libc.src.stdbit.stdc_trailing_zeros_ui
155 libc.src.stdbit.stdc_trailing_zeros_ul
156 libc.src.stdbit.stdc_trailing_zeros_ull
157 libc.src.stdbit.stdc_trailing_zeros_us
159 # stdlib.h entrypoints
160 libc.src.stdlib._Exit
161 libc.src.stdlib.abort
163 libc.src.stdlib.atexit
167 libc.src.stdlib.atoll
168 libc.src.stdlib.bsearch
173 libc.src.stdlib.llabs
174 libc.src.stdlib.lldiv
175 libc.src.stdlib.qsort
176 libc.src.stdlib.qsort_r
178 libc.src.stdlib.srand
179 libc.src.stdlib.strtod
180 libc.src.stdlib.strtod_l
181 libc.src.stdlib.strtof
182 libc.src.stdlib.strtof_l
183 libc.src.stdlib.strtol
184 libc.src.stdlib.strtol_l
185 libc.src.stdlib.strtold
186 libc.src.stdlib.strtold_l
187 libc.src.stdlib.strtoll
188 libc.src.stdlib.strtoll_l
189 libc.src.stdlib.strtoul
190 libc.src.stdlib.strtoul_l
191 libc.src.stdlib.strtoull
192 libc.src.stdlib.strtoull_l
193 libc.src.stdlib.at_quick_exit
194 libc.src.stdlib.quick_exit
195 libc.src.stdlib.getenv
196 libc.src.stdlib.system
198 # TODO: Implement these correctly
199 libc.src.stdlib.aligned_alloc
200 libc.src.stdlib.calloc
202 libc.src.stdlib.malloc
203 libc.src.stdlib.realloc
205 # errno.h entrypoints
208 # stdio.h entrypoints
209 libc.src.stdio.clearerr
210 libc.src.stdio.fclose
211 libc.src.stdio.printf
212 libc.src.stdio.vprintf
213 libc.src.stdio.fprintf
214 libc.src.stdio.vfprintf
215 libc.src.stdio.snprintf
216 libc.src.stdio.sprintf
217 libc.src.stdio.vsnprintf
218 libc.src.stdio.vsprintf
219 libc.src.stdio.asprintf
220 libc.src.stdio.vasprintf
222 libc.src.stdio.vscanf
223 libc.src.stdio.fscanf
224 libc.src.stdio.vfscanf
225 libc.src.stdio.sscanf
226 libc.src.stdio.vsscanf
228 libc.src.stdio.ferror
229 libc.src.stdio.fflush
238 libc.src.stdio.fwrite
240 libc.src.stdio.getchar
242 libc.src.stdio.putchar
244 libc.src.stdio.remove
245 libc.src.stdio.rename
246 libc.src.stdio.stderr
248 libc.src.stdio.stdout
249 libc.src.stdio.ungetc
251 # inttypes.h entrypoints
252 libc.src.inttypes.imaxabs
253 libc.src.inttypes.imaxdiv
254 libc.src.inttypes.strtoimax
255 libc.src.inttypes.strtoumax
259 libc.src.time.clock_gettime
260 libc.src.time.timespec_get
261 libc.src.time.nanosleep
263 # wchar.h entrypoints
264 libc.src.wchar.wcslen
267 # locale.h entrypoints
268 libc.src.locale.localeconv
269 libc.src.locale.duplocale
270 libc.src.locale.freelocale
271 libc.src.locale.localeconv
272 libc.src.locale.newlocale
273 libc.src.locale.setlocale
274 libc.src.locale.uselocale
277 set(TARGET_LIBM_ENTRYPOINTS
294 libc.src.math.canonicalize
295 libc.src.math.canonicalizef
296 libc.src.math.canonicalizel
302 libc.src.math.copysign
303 libc.src.math.copysignf
304 libc.src.math.copysignl
321 libc.src.math.exp2m1f
344 libc.src.math.fmaximum
345 libc.src.math.fmaximumf
346 libc.src.math.fmaximuml
347 libc.src.math.fmaximum_mag
348 libc.src.math.fmaximum_magf
349 libc.src.math.fmaximum_magl
350 libc.src.math.fmaximum_mag_num
351 libc.src.math.fmaximum_mag_numf
352 libc.src.math.fmaximum_mag_numl
353 libc.src.math.fmaximum_num
354 libc.src.math.fmaximum_numf
355 libc.src.math.fmaximum_numl
359 libc.src.math.fminimum
360 libc.src.math.fminimumf
361 libc.src.math.fminimuml
362 libc.src.math.fminimum_mag
363 libc.src.math.fminimum_magf
364 libc.src.math.fminimum_magl
365 libc.src.math.fminimum_mag_num
366 libc.src.math.fminimum_mag_numf
367 libc.src.math.fminimum_mag_numl
368 libc.src.math.fminimum_num
369 libc.src.math.fminimum_numf
370 libc.src.math.fminimum_numl
381 # libc.src.math.fromfp
382 # libc.src.math.fromfpf
383 # libc.src.math.fromfpl
384 # libc.src.math.fromfpx
385 # libc.src.math.fromfpxf
386 # libc.src.math.fromfpxl
391 libc.src.math.getpayload
392 libc.src.math.getpayloadf
393 libc.src.math.getpayloadl
406 libc.src.math.lgamma_r
411 libc.src.math.llrintf
412 libc.src.math.llrintl
413 libc.src.math.llround
414 libc.src.math.llroundf
415 libc.src.math.llroundl
431 libc.src.math.lroundf
432 libc.src.math.lroundl
439 libc.src.math.nearbyint
440 libc.src.math.nearbyintf
441 libc.src.math.nearbyintl
442 libc.src.math.nextafter
443 libc.src.math.nextafterf
444 libc.src.math.nextafterl
445 libc.src.math.nextdown
446 libc.src.math.nextdownf
447 libc.src.math.nextdownl
448 libc.src.math.nexttoward
449 libc.src.math.nexttowardf
450 libc.src.math.nexttowardl
452 libc.src.math.nextupf
453 libc.src.math.nextupl
458 libc.src.math.remainder
459 libc.src.math.remainderf
460 libc.src.math.remainderl
462 libc.src.math.remquof
463 libc.src.math.remquol
467 libc.src.math.roundeven
468 libc.src.math.roundevenf
469 libc.src.math.roundevenl
473 libc.src.math.scalbln
474 libc.src.math.scalblnf
475 libc.src.math.scalblnl
477 libc.src.math.scalbnf
478 libc.src.math.scalbnl
479 libc.src.math.setpayload
480 libc.src.math.setpayloadf
481 libc.src.math.setpayloadl
482 libc.src.math.setpayloadsig
483 libc.src.math.setpayloadsigf
484 libc.src.math.setpayloadsigl
487 libc.src.math.sincosf
500 libc.src.math.tgammaf
501 libc.src.math.totalorder
502 libc.src.math.totalorderf
503 libc.src.math.totalorderl
504 libc.src.math.totalordermag
505 libc.src.math.totalordermagf
506 libc.src.math.totalordermagl
511 # libc.src.math.ufromfp
512 # libc.src.math.ufromfpf
513 # libc.src.math.ufromfpl
514 # libc.src.math.ufromfpx
515 # libc.src.math.ufromfpxf
516 # libc.src.math.ufromfpxl
519 if(LIBC_TYPES_HAS_FLOAT16)
520 list(APPEND TARGET_LIBM_ENTRYPOINTS
521 # math.h C23 _Float16 entrypoints
522 libc.src.math.canonicalizef16
523 libc.src.math.ceilf16
524 libc.src.math.copysignf16
525 libc.src.math.coshf16
526 libc.src.math.exp10f16
527 libc.src.math.exp10m1f16
528 libc.src.math.exp2f16
531 libc.src.math.f16addf
532 libc.src.math.f16addl
534 libc.src.math.f16divf
535 libc.src.math.f16divl
537 libc.src.math.f16fmaf
538 libc.src.math.f16fmal
540 libc.src.math.f16mulf
541 libc.src.math.f16mull
542 libc.src.math.f16sqrt
543 libc.src.math.f16sqrtf
544 libc.src.math.f16sqrtl
546 libc.src.math.f16subf
547 libc.src.math.f16subl
548 libc.src.math.fabsf16
549 libc.src.math.fdimf16
550 libc.src.math.floorf16
551 libc.src.math.fmaxf16
552 libc.src.math.fmaximum_mag_numf16
553 libc.src.math.fmaximum_magf16
554 libc.src.math.fmaximum_numf16
555 libc.src.math.fmaximumf16
556 libc.src.math.fminf16
557 libc.src.math.fminimum_mag_numf16
558 libc.src.math.fminimum_magf16
559 libc.src.math.fminimum_numf16
560 libc.src.math.fminimumf16
561 libc.src.math.fmodf16
562 libc.src.math.frexpf16
563 libc.src.math.fromfpf16
564 libc.src.math.fromfpxf16
565 libc.src.math.getpayloadf16
566 libc.src.math.ilogbf16
567 libc.src.math.ldexpf16
568 libc.src.math.llogbf16
569 libc.src.math.llrintf16
570 libc.src.math.llroundf16
571 libc.src.math.log10f16
572 libc.src.math.log2f16
573 libc.src.math.logbf16
575 libc.src.math.lrintf16
576 libc.src.math.lroundf16
577 libc.src.math.modff16
579 libc.src.math.nearbyintf16
580 libc.src.math.nextafterf16
581 libc.src.math.nextdownf16
582 libc.src.math.nexttowardf16
583 libc.src.math.nextupf16
584 libc.src.math.remainderf16
585 libc.src.math.remquof16
586 libc.src.math.rintf16
587 libc.src.math.roundevenf16
588 libc.src.math.roundf16
589 libc.src.math.scalblnf16
590 libc.src.math.scalbnf16
591 libc.src.math.setpayloadf16
592 libc.src.math.setpayloadsigf16
593 libc.src.math.sinhf16
594 libc.src.math.sqrtf16
595 libc.src.math.tanhf16
596 libc.src.math.totalorderf16
597 libc.src.math.totalordermagf16
598 libc.src.math.truncf16
599 libc.src.math.ufromfpf16
600 libc.src.math.ufromfpxf16
604 set(TARGET_LLVMLIBC_ENTRYPOINTS
605 ${TARGET_LIBC_ENTRYPOINTS}
606 ${TARGET_LIBM_ENTRYPOINTS}