[OptTable] Fix typo VALUE => VALUES (NFCI) (#121523)
[llvm-project.git] / libc / config / linux / x86_64 / entrypoints.txt
blob7e549607716c022153f4ba9463a806392a54a0b0
1 set(TARGET_LIBC_ENTRYPOINTS
2     # ctype.h entrypoints
3     libc.src.ctype.isalnum
4     libc.src.ctype.isalpha
5     libc.src.ctype.isascii
6     libc.src.ctype.isblank
7     libc.src.ctype.iscntrl
8     libc.src.ctype.isdigit
9     libc.src.ctype.isgraph
10     libc.src.ctype.islower
11     libc.src.ctype.isprint
12     libc.src.ctype.ispunct
13     libc.src.ctype.isspace
14     libc.src.ctype.isupper
15     libc.src.ctype.isxdigit
16     libc.src.ctype.toascii
17     libc.src.ctype.tolower
18     libc.src.ctype.toupper
20     # dlfcn.h entrypoints
21     libc.src.dlfcn.dlclose
22     libc.src.dlfcn.dlerror
23     libc.src.dlfcn.dlopen
24     libc.src.dlfcn.dlsym
26     # errno.h entrypoints
27     libc.src.errno.errno
29     # fcntl.h entrypoints
30     libc.src.fcntl.creat
31     libc.src.fcntl.fcntl
32     libc.src.fcntl.open
33     libc.src.fcntl.openat
35     # sched.h entrypoints
36     libc.src.sched.sched_get_priority_max
37     libc.src.sched.sched_get_priority_min
38     libc.src.sched.sched_getaffinity
39     libc.src.sched.sched_getparam
40     libc.src.sched.sched_getscheduler
41     libc.src.sched.sched_rr_get_interval
42     libc.src.sched.sched_setaffinity
43     libc.src.sched.sched_setparam
44     libc.src.sched.sched_setscheduler
45     libc.src.sched.sched_yield
47     # string.h entrypoints
48     libc.src.string.memccpy
49     libc.src.string.memchr
50     libc.src.string.memcmp
51     libc.src.string.memcpy
52     libc.src.string.memmem
53     libc.src.string.memmove
54     libc.src.string.mempcpy
55     libc.src.string.memrchr
56     libc.src.string.memset
57     libc.src.string.memset_explicit
58     libc.src.string.stpcpy
59     libc.src.string.stpncpy
60     libc.src.string.strcasestr
61     libc.src.string.strcat
62     libc.src.string.strchr
63     libc.src.string.strchrnul
64     libc.src.string.strcmp
65     libc.src.string.strcoll
66     libc.src.string.strcpy
67     libc.src.string.strcspn
68     libc.src.string.strdup
69     libc.src.string.strerror
70     libc.src.string.strerror_r
71     libc.src.string.strlcat
72     libc.src.string.strlcpy
73     libc.src.string.strlen
74     libc.src.string.strncat
75     libc.src.string.strncmp
76     libc.src.string.strncpy
77     libc.src.string.strndup
78     libc.src.string.strnlen
79     libc.src.string.strpbrk
80     libc.src.string.strrchr
81     libc.src.string.strsep
82     libc.src.string.strsignal
83     libc.src.string.strspn
84     libc.src.string.strstr
85     libc.src.string.strtok
86     libc.src.string.strtok_r
87     libc.src.string.strxfrm
89     # strings.h entrypoints
90     libc.src.strings.bcmp
91     libc.src.strings.bcopy
92     libc.src.strings.bzero
93     libc.src.strings.index
94     libc.src.strings.rindex
95     libc.src.strings.strcasecmp
96     libc.src.strings.strncasecmp
98     # inttypes.h entrypoints
99     libc.src.inttypes.imaxabs
100     libc.src.inttypes.imaxdiv
101     libc.src.inttypes.strtoimax
102     libc.src.inttypes.strtoumax
104     # stdbit.h entrypoints
105     libc.src.stdbit.stdc_bit_ceil_uc
106     libc.src.stdbit.stdc_bit_ceil_ui
107     libc.src.stdbit.stdc_bit_ceil_ul
108     libc.src.stdbit.stdc_bit_ceil_ull
109     libc.src.stdbit.stdc_bit_ceil_us
110     libc.src.stdbit.stdc_bit_floor_uc
111     libc.src.stdbit.stdc_bit_floor_ui
112     libc.src.stdbit.stdc_bit_floor_ul
113     libc.src.stdbit.stdc_bit_floor_ull
114     libc.src.stdbit.stdc_bit_floor_us
115     libc.src.stdbit.stdc_bit_width_uc
116     libc.src.stdbit.stdc_bit_width_ui
117     libc.src.stdbit.stdc_bit_width_ul
118     libc.src.stdbit.stdc_bit_width_ull
119     libc.src.stdbit.stdc_bit_width_us
120     libc.src.stdbit.stdc_count_ones_uc
121     libc.src.stdbit.stdc_count_ones_ui
122     libc.src.stdbit.stdc_count_ones_ul
123     libc.src.stdbit.stdc_count_ones_ull
124     libc.src.stdbit.stdc_count_ones_us
125     libc.src.stdbit.stdc_count_zeros_uc
126     libc.src.stdbit.stdc_count_zeros_ui
127     libc.src.stdbit.stdc_count_zeros_ul
128     libc.src.stdbit.stdc_count_zeros_ull
129     libc.src.stdbit.stdc_count_zeros_us
130     libc.src.stdbit.stdc_first_leading_one_uc
131     libc.src.stdbit.stdc_first_leading_one_ui
132     libc.src.stdbit.stdc_first_leading_one_ul
133     libc.src.stdbit.stdc_first_leading_one_ull
134     libc.src.stdbit.stdc_first_leading_one_us
135     libc.src.stdbit.stdc_first_leading_zero_uc
136     libc.src.stdbit.stdc_first_leading_zero_ui
137     libc.src.stdbit.stdc_first_leading_zero_ul
138     libc.src.stdbit.stdc_first_leading_zero_ull
139     libc.src.stdbit.stdc_first_leading_zero_us
140     libc.src.stdbit.stdc_first_trailing_one_uc
141     libc.src.stdbit.stdc_first_trailing_one_ui
142     libc.src.stdbit.stdc_first_trailing_one_ul
143     libc.src.stdbit.stdc_first_trailing_one_ull
144     libc.src.stdbit.stdc_first_trailing_one_us
145     libc.src.stdbit.stdc_first_trailing_zero_uc
146     libc.src.stdbit.stdc_first_trailing_zero_ui
147     libc.src.stdbit.stdc_first_trailing_zero_ul
148     libc.src.stdbit.stdc_first_trailing_zero_ull
149     libc.src.stdbit.stdc_first_trailing_zero_us
150     libc.src.stdbit.stdc_has_single_bit_uc
151     libc.src.stdbit.stdc_has_single_bit_ui
152     libc.src.stdbit.stdc_has_single_bit_ul
153     libc.src.stdbit.stdc_has_single_bit_ull
154     libc.src.stdbit.stdc_has_single_bit_us
155     libc.src.stdbit.stdc_leading_ones_uc
156     libc.src.stdbit.stdc_leading_ones_ui
157     libc.src.stdbit.stdc_leading_ones_ul
158     libc.src.stdbit.stdc_leading_ones_ull
159     libc.src.stdbit.stdc_leading_ones_us
160     libc.src.stdbit.stdc_leading_zeros_uc
161     libc.src.stdbit.stdc_leading_zeros_ui
162     libc.src.stdbit.stdc_leading_zeros_ul
163     libc.src.stdbit.stdc_leading_zeros_ull
164     libc.src.stdbit.stdc_leading_zeros_us
165     libc.src.stdbit.stdc_trailing_ones_uc
166     libc.src.stdbit.stdc_trailing_ones_ui
167     libc.src.stdbit.stdc_trailing_ones_ul
168     libc.src.stdbit.stdc_trailing_ones_ull
169     libc.src.stdbit.stdc_trailing_ones_us
170     libc.src.stdbit.stdc_trailing_zeros_uc
171     libc.src.stdbit.stdc_trailing_zeros_ui
172     libc.src.stdbit.stdc_trailing_zeros_ul
173     libc.src.stdbit.stdc_trailing_zeros_ull
174     libc.src.stdbit.stdc_trailing_zeros_us
176     # stdlib.h entrypoints
177     libc.src.stdlib.abs
178     libc.src.stdlib.atof
179     libc.src.stdlib.atoi
180     libc.src.stdlib.atol
181     libc.src.stdlib.atoll
182     libc.src.stdlib.bsearch
183     libc.src.stdlib.div
184     libc.src.stdlib.labs
185     libc.src.stdlib.ldiv
186     libc.src.stdlib.llabs
187     libc.src.stdlib.lldiv
188     libc.src.stdlib.qsort
189     libc.src.stdlib.qsort_r
190     libc.src.stdlib.rand
191     libc.src.stdlib.srand
192     libc.src.stdlib.strfromd
193     libc.src.stdlib.strfromf
194     libc.src.stdlib.strfroml
195     libc.src.stdlib.strtod
196     libc.src.stdlib.strtof
197     libc.src.stdlib.strtol
198     libc.src.stdlib.strtold
199     libc.src.stdlib.strtoll
200     libc.src.stdlib.strtoul
201     libc.src.stdlib.strtoull
203     # stdlib.h external entrypoints
204     libc.src.stdlib.aligned_alloc
205     libc.src.stdlib.calloc
206     libc.src.stdlib.free
207     libc.src.stdlib.malloc
208     libc.src.stdlib.realloc
210     # stdio.h entrypoints
211     libc.src.stdio.fdopen
212     libc.src.stdio.fileno
213     libc.src.stdio.fprintf
214     libc.src.stdio.fscanf
215     libc.src.stdio.vfscanf
216     libc.src.stdio.printf
217     libc.src.stdio.remove
218     libc.src.stdio.rename
219     libc.src.stdio.scanf
220     libc.src.stdio.vscanf
221     libc.src.stdio.snprintf
222     libc.src.stdio.sprintf
223     libc.src.stdio.asprintf
224     libc.src.stdio.sscanf
225     libc.src.stdio.vsscanf
226     libc.src.stdio.vfprintf
227     libc.src.stdio.vprintf
228     libc.src.stdio.vsnprintf
229     libc.src.stdio.vsprintf
230     libc.src.stdio.vasprintf
232     # sys/epoll.h entrypoints
233     libc.src.sys.epoll.epoll_create
234     libc.src.sys.epoll.epoll_create1
235     libc.src.sys.epoll.epoll_ctl
236     libc.src.sys.epoll.epoll_pwait
237     libc.src.sys.epoll.epoll_wait
238     # TODO: Need to check if pwait2 is available before providing.
239     # https://github.com/llvm/llvm-project/issues/80060
240     # libc.src.sys.epoll.epoll_pwait2
242     # sys/mman.h entrypoints
243     libc.src.sys.mman.madvise
244     libc.src.sys.mman.mincore
245     libc.src.sys.mman.mlock
246     libc.src.sys.mman.mlock2
247     libc.src.sys.mman.mlockall
248     libc.src.sys.mman.mmap
249     libc.src.sys.mman.mremap
250     libc.src.sys.mman.mprotect
251     libc.src.sys.mman.msync
252     libc.src.sys.mman.munlock
253     libc.src.sys.mman.munlockall
254     libc.src.sys.mman.munmap
255     libc.src.sys.mman.remap_file_pages
256     libc.src.sys.mman.posix_madvise
257     libc.src.sys.mman.shm_open
258     libc.src.sys.mman.shm_unlink
260     # sys/random.h entrypoints
261     libc.src.sys.random.getrandom
263     # sys/resource.h entrypoints
264     libc.src.sys.resource.getrlimit
265     libc.src.sys.resource.setrlimit
267     # sys/sendfile entrypoints
268     libc.src.sys.sendfile.sendfile
270     # sys/stat.h entrypoints
271     libc.src.sys.stat.chmod
272     libc.src.sys.stat.fchmod
273     libc.src.sys.stat.fchmodat
274     libc.src.sys.stat.fstat
275     libc.src.sys.stat.lstat
276     libc.src.sys.stat.mkdir
277     libc.src.sys.stat.mkdirat
278     libc.src.sys.stat.stat
280     # sys/statvfs.h
281     libc.src.sys.statvfs.fstatvfs
282     libc.src.sys.statvfs.statvfs
284     # sys/utsname.h entrypoints
285     libc.src.sys.utsname.uname
287     # sys/wait.h entrypoints
288     libc.src.sys.wait.wait
289     libc.src.sys.wait.wait4
290     libc.src.sys.wait.waitpid
292     # sys/prctl.h entrypoints
293     libc.src.sys.prctl.prctl
295     # sys/auxv.h entrypoints
296     libc.src.sys.auxv.getauxval
298     # termios.h entrypoints
299     libc.src.termios.cfgetispeed
300     libc.src.termios.cfgetospeed
301     libc.src.termios.cfsetispeed
302     libc.src.termios.cfsetospeed
303     libc.src.termios.tcdrain
304     libc.src.termios.tcflow
305     libc.src.termios.tcflush
306     libc.src.termios.tcgetattr
307     libc.src.termios.tcgetsid
308     libc.src.termios.tcsendbreak
309     libc.src.termios.tcsetattr
311     # unistd.h entrypoints
312     libc.src.unistd.access
313     libc.src.unistd.chdir
314     libc.src.unistd.close
315     libc.src.unistd.dup
316     libc.src.unistd.dup2
317     libc.src.unistd.dup3
318     libc.src.unistd.execve
319     libc.src.unistd.fchdir
320     libc.src.unistd.fpathconf
321     libc.src.unistd.fsync
322     libc.src.unistd.ftruncate
323     libc.src.unistd.getcwd
324     libc.src.unistd.geteuid
325     libc.src.unistd.getpid
326     libc.src.unistd.getppid
327     libc.src.unistd.gettid
328     libc.src.unistd.getuid
329     libc.src.unistd.isatty
330     libc.src.unistd.link
331     libc.src.unistd.linkat
332     libc.src.unistd.lseek
333     libc.src.unistd.pathconf
334     libc.src.unistd.pipe
335     libc.src.unistd.pipe2
336     libc.src.unistd.pread
337     libc.src.unistd.pwrite
338     libc.src.unistd.read
339     libc.src.unistd.readlink
340     libc.src.unistd.readlinkat
341     libc.src.unistd.rmdir
342     libc.src.unistd.symlink
343     libc.src.unistd.symlinkat
344     libc.src.unistd.sysconf
345     libc.src.unistd.truncate
346     libc.src.unistd.unlink
347     libc.src.unistd.unlinkat
348     libc.src.unistd.write
350     # wchar.h entrypoints
351     libc.src.wchar.wctob
352     libc.src.wchar.btowc
355 if(LLVM_LIBC_INCLUDE_SCUDO)
356   list(APPEND TARGET_LIBC_ENTRYPOINTS
357     # malloc.h external entrypoints
358     libc.src.stdlib.mallopt
359   )
360 endif()
362 set(TARGET_LIBM_ENTRYPOINTS
363     # complex.h entrypoints
364     libc.src.complex.creal
365     libc.src.complex.crealf
366     libc.src.complex.creall
367     libc.src.complex.cimag
368     libc.src.complex.cimagf
369     libc.src.complex.cimagl
370     libc.src.complex.conj
371     libc.src.complex.conjf
372     libc.src.complex.conjl
373     libc.src.complex.cproj
374     libc.src.complex.cprojf
375     libc.src.complex.cprojl
376     
377     # fenv.h entrypoints
378     libc.src.fenv.feclearexcept
379     libc.src.fenv.fedisableexcept
380     libc.src.fenv.feenableexcept
381     libc.src.fenv.fegetenv
382     libc.src.fenv.fegetexcept
383     libc.src.fenv.fegetexceptflag
384     libc.src.fenv.fegetround
385     libc.src.fenv.feholdexcept
386     libc.src.fenv.feraiseexcept
387     libc.src.fenv.fesetenv
388     libc.src.fenv.fesetexcept
389     libc.src.fenv.fesetexceptflag
390     libc.src.fenv.fesetround
391     libc.src.fenv.fetestexcept
392     libc.src.fenv.fetestexceptflag
393     libc.src.fenv.feupdateenv
395     # math.h entrypoints
396     libc.src.math.acosf
397     libc.src.math.acoshf
398     libc.src.math.asinf
399     libc.src.math.asinhf
400     libc.src.math.atan2
401     libc.src.math.atan2f
402     libc.src.math.atanf
403     libc.src.math.atanhf
404     libc.src.math.canonicalize
405     libc.src.math.canonicalizef
406     libc.src.math.canonicalizel
407     libc.src.math.cbrt
408     libc.src.math.cbrtf
409     libc.src.math.ceil
410     libc.src.math.ceilf
411     libc.src.math.ceill
412     libc.src.math.copysign
413     libc.src.math.copysignf
414     libc.src.math.copysignl
415     libc.src.math.cos
416     libc.src.math.cosf
417     libc.src.math.coshf
418     libc.src.math.cospif
419     libc.src.math.dfmal
420     libc.src.math.dmull
421     libc.src.math.dsqrtl
422     libc.src.math.daddl
423     libc.src.math.ddivl
424     libc.src.math.dsubl
425     libc.src.math.erff
426     libc.src.math.exp
427     libc.src.math.exp10
428     libc.src.math.exp10f
429     libc.src.math.exp10m1f
430     libc.src.math.exp2
431     libc.src.math.exp2f
432     libc.src.math.exp2m1f
433     libc.src.math.expf
434     libc.src.math.expm1
435     libc.src.math.expm1f
436     libc.src.math.fabs
437     libc.src.math.fabsf
438     libc.src.math.fabsl
439     libc.src.math.fadd 
440     libc.src.math.faddl
441     libc.src.math.fadd
442     libc.src.math.fdim
443     libc.src.math.fdimf
444     libc.src.math.fdiml
445     libc.src.math.fdiv
446     libc.src.math.fdivl
447     libc.src.math.ffma
448     libc.src.math.ffmal
449     libc.src.math.floor
450     libc.src.math.floorf
451     libc.src.math.floorl
452     libc.src.math.fma
453     libc.src.math.fmaf
454     libc.src.math.fmax
455     libc.src.math.fmaxf
456     libc.src.math.fmaximum
457     libc.src.math.fmaximum_mag
458     libc.src.math.fmaximum_mag_num
459     libc.src.math.fmaximum_mag_numf
460     libc.src.math.fmaximum_mag_numl
461     libc.src.math.fmaximum_magf
462     libc.src.math.fmaximum_magl
463     libc.src.math.fmaximum_num
464     libc.src.math.fmaximum_numf
465     libc.src.math.fmaximum_numl
466     libc.src.math.fmaximumf
467     libc.src.math.fmaximuml
468     libc.src.math.fmaxl
469     libc.src.math.fmin
470     libc.src.math.fminf
471     libc.src.math.fminimum
472     libc.src.math.fminimum_mag
473     libc.src.math.fminimum_mag_num
474     libc.src.math.fminimum_mag_numf
475     libc.src.math.fminimum_mag_numl
476     libc.src.math.fminimum_magf
477     libc.src.math.fminimum_magl
478     libc.src.math.fminimum_num
479     libc.src.math.fminimum_numf
480     libc.src.math.fminimum_numl
481     libc.src.math.fminimumf
482     libc.src.math.fminimuml
483     libc.src.math.fminl
484     libc.src.math.fmod
485     libc.src.math.fmodf
486     libc.src.math.fmodl
487     libc.src.math.fmul
488     libc.src.math.fmull
489     libc.src.math.frexp
490     libc.src.math.frexpf
491     libc.src.math.frexpl
492     libc.src.math.fromfp
493     libc.src.math.fromfpf
494     libc.src.math.fromfpl
495     libc.src.math.fromfpx
496     libc.src.math.fromfpxf
497     libc.src.math.fromfpxl
498     libc.src.math.fsqrt
499     libc.src.math.fsqrtl
500     libc.src.math.fsub
501     libc.src.math.fsubl
502     libc.src.math.getpayload
503     libc.src.math.getpayloadf
504     libc.src.math.getpayloadl
505     libc.src.math.hypot
506     libc.src.math.hypotf
507     libc.src.math.ilogb
508     libc.src.math.ilogbf
509     libc.src.math.ilogbl
510     libc.src.math.iscanonical
511     libc.src.math.iscanonicalf
512     libc.src.math.iscanonicall
513     libc.src.math.isnan
514     libc.src.math.isnanf
515     libc.src.math.isnanl
516     libc.src.math.issignaling
517     libc.src.math.issignalingf
518     libc.src.math.issignalingl
519     libc.src.math.ldexp
520     libc.src.math.ldexpf
521     libc.src.math.ldexpl
522     libc.src.math.llogb
523     libc.src.math.llogbf
524     libc.src.math.llogbl
525     libc.src.math.llrint
526     libc.src.math.llrintf
527     libc.src.math.llrintl
528     libc.src.math.llround
529     libc.src.math.llroundf
530     libc.src.math.llroundl
531     libc.src.math.log
532     libc.src.math.log10
533     libc.src.math.log10f
534     libc.src.math.log1p
535     libc.src.math.log1pf
536     libc.src.math.log2
537     libc.src.math.log2f
538     libc.src.math.logb
539     libc.src.math.logbf
540     libc.src.math.logbl
541     libc.src.math.logf
542     libc.src.math.lrint
543     libc.src.math.lrintf
544     libc.src.math.lrintl
545     libc.src.math.lround
546     libc.src.math.lroundf
547     libc.src.math.lroundl
548     libc.src.math.modf
549     libc.src.math.modff
550     libc.src.math.modfl
551     libc.src.math.nan
552     libc.src.math.nanf
553     libc.src.math.nanl
554     libc.src.math.nearbyint
555     libc.src.math.nearbyintf
556     libc.src.math.nearbyintl
557     libc.src.math.nextafter
558     libc.src.math.nextafterf
559     libc.src.math.nextafterl
560     libc.src.math.nextdown
561     libc.src.math.nextdownf
562     libc.src.math.nextdownl
563     libc.src.math.nexttoward
564     libc.src.math.nexttowardf
565     libc.src.math.nexttowardl
566     libc.src.math.nextup
567     libc.src.math.nextupf
568     libc.src.math.nextupl
569     libc.src.math.pow
570     libc.src.math.powf
571     libc.src.math.remainder
572     libc.src.math.remainderf
573     libc.src.math.remainderl
574     libc.src.math.remquo
575     libc.src.math.remquof
576     libc.src.math.remquol
577     libc.src.math.rint
578     libc.src.math.rintf
579     libc.src.math.rintl
580     libc.src.math.round
581     libc.src.math.roundeven
582     libc.src.math.roundevenf
583     libc.src.math.roundevenl
584     libc.src.math.roundf
585     libc.src.math.roundl
586     libc.src.math.scalbln
587     libc.src.math.scalblnf
588     libc.src.math.scalblnl
589     libc.src.math.scalbn
590     libc.src.math.scalbnf
591     libc.src.math.scalbnl
592     libc.src.math.setpayload
593     libc.src.math.setpayloadf
594     libc.src.math.setpayloadl
595     libc.src.math.setpayloadsig
596     libc.src.math.setpayloadsigf
597     libc.src.math.setpayloadsigl
598     libc.src.math.sin
599     libc.src.math.sincos
600     libc.src.math.sincosf
601     libc.src.math.sinf
602     libc.src.math.sinhf
603     libc.src.math.sinpif
604     libc.src.math.sqrt
605     libc.src.math.sqrtf
606     libc.src.math.sqrtl
607     libc.src.math.tan
608     libc.src.math.tanf
609     libc.src.math.tanhf
610     libc.src.math.totalorder
611     libc.src.math.totalorderf
612     libc.src.math.totalorderl
613     libc.src.math.totalordermag
614     libc.src.math.totalordermagf
615     libc.src.math.totalordermagl
616     libc.src.math.trunc
617     libc.src.math.truncf
618     libc.src.math.truncl
619     libc.src.math.ufromfp
620     libc.src.math.ufromfpf
621     libc.src.math.ufromfpl
622     libc.src.math.ufromfpx
623     libc.src.math.ufromfpxf
624     libc.src.math.ufromfpxl
627 if(LIBC_TYPES_HAS_CFLOAT16)
628   list(APPEND TARGET_LIBM_ENTRYPOINTS
629     # complex.h C23 _Complex _Float16 entrypoints
630     libc.src.complex.crealf16
631     libc.src.complex.cimagf16
632     libc.src.complex.conjf16
633     libc.src.complex.cprojf16
634   )
635 endif()
637 if(LIBC_TYPES_HAS_FLOAT16)
638   list(APPEND TARGET_LIBM_ENTRYPOINTS
639     # math.h C23 _Float16 entrypoints
640     libc.src.math.canonicalizef16
641     libc.src.math.ceilf16
642     libc.src.math.copysignf16
643     libc.src.math.cosf16
644     libc.src.math.coshf16
645     libc.src.math.cospif16
646     libc.src.math.exp10f16
647     libc.src.math.exp10m1f16
648     libc.src.math.exp2f16
649     libc.src.math.exp2m1f16
650     libc.src.math.expf16
651     libc.src.math.expm1f16
652     libc.src.math.f16add
653     libc.src.math.f16addf
654     libc.src.math.f16addl
655     libc.src.math.f16div
656     libc.src.math.f16divf
657     libc.src.math.f16divl
658     libc.src.math.f16fma
659     libc.src.math.f16fmaf
660     libc.src.math.f16fmal
661     libc.src.math.f16mul
662     libc.src.math.f16mulf
663     libc.src.math.f16mull
664     libc.src.math.f16sqrt
665     libc.src.math.f16sqrtf
666     libc.src.math.f16sqrtl
667     libc.src.math.f16sub
668     libc.src.math.f16subf
669     libc.src.math.f16subl
670     libc.src.math.fabsf16
671     libc.src.math.fdimf16
672     libc.src.math.floorf16
673     libc.src.math.fmaxf16
674     libc.src.math.fmaximum_mag_numf16
675     libc.src.math.fmaximum_magf16
676     libc.src.math.fmaximum_numf16
677     libc.src.math.fmaximumf16
678     libc.src.math.fminf16
679     libc.src.math.fminimum_mag_numf16
680     libc.src.math.fminimum_magf16
681     libc.src.math.fminimum_numf16
682     libc.src.math.fminimumf16
683     libc.src.math.fmodf16
684     libc.src.math.frexpf16
685     libc.src.math.fromfpf16
686     libc.src.math.fromfpxf16
687     libc.src.math.getpayloadf16
688     libc.src.math.ilogbf16
689     libc.src.math.iscanonicalf16
690     libc.src.math.issignalingf16
691     libc.src.math.ldexpf16
692     libc.src.math.llogbf16
693     libc.src.math.llrintf16
694     libc.src.math.llroundf16
695     libc.src.math.log10f16
696     libc.src.math.log2f16
697     libc.src.math.logbf16
698     libc.src.math.logf16
699     libc.src.math.lrintf16
700     libc.src.math.lroundf16
701     libc.src.math.modff16
702     libc.src.math.nanf16
703     libc.src.math.nearbyintf16
704     libc.src.math.nextafterf16
705     libc.src.math.nextdownf16
706     libc.src.math.nexttowardf16
707     libc.src.math.nextupf16
708     libc.src.math.remainderf16
709     libc.src.math.remquof16
710     libc.src.math.rintf16
711     libc.src.math.roundevenf16
712     libc.src.math.roundf16
713     libc.src.math.scalblnf16
714     libc.src.math.scalbnf16
715     libc.src.math.setpayloadf16
716     libc.src.math.setpayloadsigf16
717     libc.src.math.sinf16
718     libc.src.math.sinhf16
719     libc.src.math.sinpif16
720     libc.src.math.sqrtf16
721     libc.src.math.tanhf16
722     libc.src.math.tanpif16
723     libc.src.math.totalorderf16
724     libc.src.math.totalordermagf16
725     libc.src.math.truncf16
726     libc.src.math.ufromfpf16
727     libc.src.math.ufromfpxf16
728   )
730   if(LIBC_TYPES_HAS_FLOAT128)
731     list(APPEND TARGET_LIBM_ENTRYPOINTS
732       # math.h C23 mixed _Float16 and _Float128 entrypoints
733       libc.src.math.f16addf128
734       libc.src.math.f16divf128
735       libc.src.math.f16fmaf128
736       libc.src.math.f16mulf128
737       libc.src.math.f16sqrtf128
738       libc.src.math.f16subf128
739     )
740   endif()
741 endif()
743 if(LIBC_TYPES_HAS_CFLOAT128)
744   list(APPEND TARGET_LIBM_ENTRYPOINTS
745     # complex.h C23 _Complex _Float128 entrypoints
746     libc.src.complex.crealf128
747     libc.src.complex.cimagf128
748     libc.src.complex.conjf128
749     libc.src.complex.cprojf128
750   )
751 endif()
753 if(LIBC_TYPES_HAS_FLOAT128)
754   list(APPEND TARGET_LIBM_ENTRYPOINTS    
755     # math.h C23 _Float128 entrypoints
756     libc.src.math.canonicalizef128
757     libc.src.math.ceilf128
758     libc.src.math.copysignf128
759     libc.src.math.daddf128
760     libc.src.math.ddivf128
761     libc.src.math.dfmaf128
762     libc.src.math.dmulf128
763     libc.src.math.dsqrtf128
764     libc.src.math.dsubf128
765     libc.src.math.fabsf128
766     libc.src.math.faddf128
767     libc.src.math.fdimf128
768     libc.src.math.fdivf128
769     libc.src.math.ffmaf128
770     libc.src.math.floorf128
771     libc.src.math.fmaxf128
772     libc.src.math.fmaximum_mag_numf128
773     libc.src.math.fmaximum_magf128
774     libc.src.math.fmaximum_numf128
775     libc.src.math.fmaximumf128
776     libc.src.math.fminf128
777     libc.src.math.fminimum_mag_numf128
778     libc.src.math.fminimum_magf128
779     libc.src.math.fminimum_numf128
780     libc.src.math.fminimumf128
781     libc.src.math.fmodf128
782     libc.src.math.fmulf128
783     libc.src.math.frexpf128
784     libc.src.math.fromfpf128
785     libc.src.math.fromfpxf128
786     libc.src.math.fsqrtf128
787     libc.src.math.fsubf128
788     libc.src.math.getpayloadf128
789     libc.src.math.ilogbf128
790     libc.src.math.iscanonicalf128
791     libc.src.math.issignalingf128
792     libc.src.math.ldexpf128
793     libc.src.math.llogbf128
794     libc.src.math.llrintf128
795     libc.src.math.llroundf128
796     libc.src.math.logbf128
797     libc.src.math.lrintf128
798     libc.src.math.lroundf128
799     libc.src.math.modff128
800     libc.src.math.nanf128
801     libc.src.math.nearbyintf128
802     libc.src.math.nextafterf128
803     libc.src.math.nextdownf128
804     libc.src.math.nextupf128
805     libc.src.math.remainderf128
806     libc.src.math.remquof128
807     libc.src.math.rintf128
808     libc.src.math.roundevenf128
809     libc.src.math.roundf128
810     libc.src.math.scalblnf128
811     libc.src.math.scalbnf128
812     libc.src.math.setpayloadf128
813     libc.src.math.setpayloadsigf128
814     libc.src.math.sqrtf128
815     libc.src.math.totalorderf128
816     libc.src.math.totalordermagf128
817     libc.src.math.truncf128
818     libc.src.math.ufromfpf128
819     libc.src.math.ufromfpxf128
820   )
821 endif()
823 if(LIBC_COMPILER_HAS_FIXED_POINT)
824   list(APPEND TARGET_LIBM_ENTRYPOINTS
825     # stdfix.h _Fract and _Accum entrypoints
826     libc.src.stdfix.abshk
827     libc.src.stdfix.abshr
828     libc.src.stdfix.absk
829     libc.src.stdfix.abslk
830     libc.src.stdfix.abslr
831     libc.src.stdfix.absr
832     libc.src.stdfix.exphk
833     libc.src.stdfix.expk
834     libc.src.stdfix.roundhk
835     libc.src.stdfix.roundhr
836     libc.src.stdfix.roundk
837     libc.src.stdfix.roundlk
838     libc.src.stdfix.roundlr
839     libc.src.stdfix.roundr
840     libc.src.stdfix.rounduhk
841     libc.src.stdfix.rounduhr
842     libc.src.stdfix.rounduk
843     libc.src.stdfix.roundulk
844     libc.src.stdfix.roundulr
845     libc.src.stdfix.roundur
846     libc.src.stdfix.sqrtuhk
847     libc.src.stdfix.sqrtuhr
848     libc.src.stdfix.sqrtuk
849     libc.src.stdfix.sqrtur
850     # libc.src.stdfix.sqrtulk
851     libc.src.stdfix.sqrtulr
852     libc.src.stdfix.uhksqrtus
853     libc.src.stdfix.uksqrtui
854     libc.src.stdfix.hrbits
855     libc.src.stdfix.uhrbits
856     libc.src.stdfix.rbits
857     libc.src.stdfix.urbits
858     libc.src.stdfix.lrbits
859     libc.src.stdfix.ulrbits
860     libc.src.stdfix.hkbits
861     libc.src.stdfix.uhkbits
862     libc.src.stdfix.kbits
863     libc.src.stdfix.ukbits
864     libc.src.stdfix.lkbits
865     libc.src.stdfix.ulkbits
866   )
867 endif()
869 if(LLVM_LIBC_FULL_BUILD)
870   list(APPEND TARGET_LIBC_ENTRYPOINTS
871     # ctype.h entrypoints
872     libc.src.ctype.isalnum_l
873     libc.src.ctype.isalpha_l
874     libc.src.ctype.isblank_l
875     libc.src.ctype.iscntrl_l
876     libc.src.ctype.isdigit_l
877     libc.src.ctype.isgraph_l
878     libc.src.ctype.islower_l
879     libc.src.ctype.isprint_l
880     libc.src.ctype.ispunct_l
881     libc.src.ctype.isspace_l
882     libc.src.ctype.isupper_l
883     libc.src.ctype.isxdigit_l
884     libc.src.ctype.tolower_l
885     libc.src.ctype.toupper_l
887     # stdlib.h entrypoints
888     libc.src.stdlib.strtod_l
889     libc.src.stdlib.strtof_l
890     libc.src.stdlib.strtol_l
891     libc.src.stdlib.strtold_l
892     libc.src.stdlib.strtoll_l
893     libc.src.stdlib.strtoul_l
894     libc.src.stdlib.strtoull_l
896     # string.h entrypoints
897     libc.src.string.strcoll_l
898     libc.src.string.strxfrm_l
900     # assert.h entrypoints
901     libc.src.assert.__assert_fail
903     # compiler entrypoints (no corresponding header)
904     libc.src.compiler.__stack_chk_fail
906     # dirent.h entrypoints
907     libc.src.dirent.closedir
908     libc.src.dirent.dirfd
909     libc.src.dirent.opendir
910     libc.src.dirent.readdir
912     # arpa/inet.h entrypoints
913     libc.src.arpa.inet.htonl
914     libc.src.arpa.inet.htons
915     libc.src.arpa.inet.ntohl
916     libc.src.arpa.inet.ntohs
918     # pthread.h entrypoints
919     libc.src.pthread.pthread_atfork
920     libc.src.pthread.pthread_attr_destroy
921     libc.src.pthread.pthread_attr_getdetachstate
922     libc.src.pthread.pthread_attr_getguardsize
923     libc.src.pthread.pthread_attr_getstack
924     libc.src.pthread.pthread_attr_getstacksize
925     libc.src.pthread.pthread_attr_init
926     libc.src.pthread.pthread_attr_setdetachstate
927     libc.src.pthread.pthread_attr_setguardsize
928     libc.src.pthread.pthread_attr_setstack
929     libc.src.pthread.pthread_attr_setstacksize
930     libc.src.pthread.pthread_condattr_destroy
931     libc.src.pthread.pthread_condattr_getclock
932     libc.src.pthread.pthread_condattr_getpshared
933     libc.src.pthread.pthread_condattr_init
934     libc.src.pthread.pthread_condattr_setclock
935     libc.src.pthread.pthread_condattr_setpshared
936     libc.src.pthread.pthread_create
937     libc.src.pthread.pthread_detach
938     libc.src.pthread.pthread_equal
939     libc.src.pthread.pthread_exit
940     libc.src.pthread.pthread_getname_np
941     libc.src.pthread.pthread_getspecific
942     libc.src.pthread.pthread_join
943     libc.src.pthread.pthread_key_create
944     libc.src.pthread.pthread_key_delete
945     libc.src.pthread.pthread_mutex_destroy
946     libc.src.pthread.pthread_mutex_init
947     libc.src.pthread.pthread_mutex_lock
948     libc.src.pthread.pthread_mutex_unlock
949     libc.src.pthread.pthread_mutexattr_destroy
950     libc.src.pthread.pthread_mutexattr_getpshared
951     libc.src.pthread.pthread_mutexattr_getrobust
952     libc.src.pthread.pthread_mutexattr_gettype
953     libc.src.pthread.pthread_mutexattr_init
954     libc.src.pthread.pthread_mutexattr_setpshared
955     libc.src.pthread.pthread_mutexattr_setrobust
956     libc.src.pthread.pthread_mutexattr_settype
957     libc.src.pthread.pthread_once
958     libc.src.pthread.pthread_rwlock_clockrdlock
959     libc.src.pthread.pthread_rwlock_clockwrlock
960     libc.src.pthread.pthread_rwlock_destroy
961     libc.src.pthread.pthread_rwlock_init
962     libc.src.pthread.pthread_rwlock_rdlock
963     libc.src.pthread.pthread_rwlock_timedrdlock
964     libc.src.pthread.pthread_rwlock_timedwrlock
965     libc.src.pthread.pthread_rwlock_tryrdlock
966     libc.src.pthread.pthread_rwlock_trywrlock
967     libc.src.pthread.pthread_rwlock_unlock
968     libc.src.pthread.pthread_rwlock_wrlock
969     libc.src.pthread.pthread_rwlockattr_destroy
970     libc.src.pthread.pthread_rwlockattr_getkind_np
971     libc.src.pthread.pthread_rwlockattr_getpshared
972     libc.src.pthread.pthread_rwlockattr_init
973     libc.src.pthread.pthread_rwlockattr_setkind_np
974     libc.src.pthread.pthread_rwlockattr_setpshared
975     libc.src.pthread.pthread_spin_destroy
976     libc.src.pthread.pthread_spin_init
977     libc.src.pthread.pthread_spin_lock
978     libc.src.pthread.pthread_spin_trylock
979     libc.src.pthread.pthread_spin_unlock
980     libc.src.pthread.pthread_self
981     libc.src.pthread.pthread_setname_np
982     libc.src.pthread.pthread_setspecific
984     # sched.h entrypoints
985     libc.src.sched.__sched_getcpucount
987     # setjmp.h entrypoints
988     libc.src.setjmp.longjmp
989     libc.src.setjmp.setjmp
991     # stdio.h entrypoints
992     libc.src.stdio.clearerr
993     libc.src.stdio.clearerr_unlocked
994     libc.src.stdio.fclose
995     libc.src.stdio.feof
996     libc.src.stdio.feof_unlocked
997     libc.src.stdio.ferror
998     libc.src.stdio.ferror_unlocked
999     libc.src.stdio.fflush
1000     libc.src.stdio.fgetc
1001     libc.src.stdio.fgetc_unlocked
1002     libc.src.stdio.fgets
1003     libc.src.stdio.flockfile
1004     libc.src.stdio.fopen
1005     libc.src.stdio.fopencookie
1006     libc.src.stdio.fputc
1007     libc.src.stdio.fputs
1008     libc.src.stdio.fread
1009     libc.src.stdio.fread_unlocked
1010     libc.src.stdio.fseek
1011     libc.src.stdio.fseeko
1012     libc.src.stdio.ftell
1013     libc.src.stdio.ftello
1014     libc.src.stdio.funlockfile
1015     libc.src.stdio.fwrite
1016     libc.src.stdio.fwrite_unlocked
1017     libc.src.stdio.getc
1018     libc.src.stdio.getc_unlocked
1019     libc.src.stdio.getchar
1020     libc.src.stdio.getchar_unlocked
1021     libc.src.stdio.putc
1022     libc.src.stdio.putchar
1023     libc.src.stdio.puts
1024     libc.src.stdio.setbuf
1025     libc.src.stdio.setvbuf
1026     libc.src.stdio.stderr
1027     libc.src.stdio.stdin
1028     libc.src.stdio.stdout
1029     libc.src.stdio.ungetc
1031     # stdlib.h entrypoints
1032     libc.src.stdlib._Exit
1033     libc.src.stdlib.abort
1034     libc.src.stdlib.at_quick_exit
1035     libc.src.stdlib.atexit
1036     libc.src.stdlib.exit
1037     libc.src.stdlib.getenv
1038     libc.src.stdlib.quick_exit
1040     # signal.h entrypoints
1041     libc.src.signal.kill
1042     libc.src.signal.raise
1043     libc.src.signal.sigaction
1044     libc.src.signal.sigaddset
1045     libc.src.signal.sigaltstack
1046     libc.src.signal.sigdelset
1047     libc.src.signal.sigemptyset
1048     libc.src.signal.sigfillset
1049     libc.src.signal.signal
1050     libc.src.signal.sigprocmask
1052     # spawn.h entrypoints
1053     libc.src.spawn.posix_spawn
1054     libc.src.spawn.posix_spawn_file_actions_addclose
1055     libc.src.spawn.posix_spawn_file_actions_adddup2
1056     libc.src.spawn.posix_spawn_file_actions_addopen
1057     libc.src.spawn.posix_spawn_file_actions_destroy
1058     libc.src.spawn.posix_spawn_file_actions_init
1060     # search.h entrypoints
1061     libc.src.search.hcreate
1062     libc.src.search.hcreate_r
1063     libc.src.search.hdestroy
1064     libc.src.search.hdestroy_r
1065     libc.src.search.hsearch
1066     libc.src.search.hsearch_r
1067     libc.src.search.insque
1068     libc.src.search.lfind
1069     libc.src.search.remque
1071     # threads.h entrypoints
1072     libc.src.threads.call_once
1073     libc.src.threads.cnd_broadcast
1074     libc.src.threads.cnd_destroy
1075     libc.src.threads.cnd_init
1076     libc.src.threads.cnd_signal
1077     libc.src.threads.cnd_wait
1078     libc.src.threads.mtx_destroy
1079     libc.src.threads.mtx_init
1080     libc.src.threads.mtx_lock
1081     libc.src.threads.mtx_unlock
1082     libc.src.threads.thrd_create
1083     libc.src.threads.thrd_current
1084     libc.src.threads.thrd_detach
1085     libc.src.threads.thrd_equal
1086     libc.src.threads.thrd_exit
1087     libc.src.threads.thrd_join
1088     libc.src.threads.tss_create
1089     libc.src.threads.tss_delete
1090     libc.src.threads.tss_get
1091     libc.src.threads.tss_set
1093     # time.h entrypoints
1094     libc.src.time.asctime
1095     libc.src.time.asctime_r
1096     libc.src.time.ctime
1097     libc.src.time.ctime_r
1098     libc.src.time.clock
1099     libc.src.time.clock_gettime
1100     libc.src.time.difftime
1101     libc.src.time.gettimeofday
1102     libc.src.time.gmtime
1103     libc.src.time.gmtime_r
1104     libc.src.time.mktime
1105     libc.src.time.nanosleep
1106     libc.src.time.time
1107     libc.src.time.timespec_get
1109     # locale.h entrypoints
1110     libc.src.locale.localeconv
1111     libc.src.locale.duplocale
1112     libc.src.locale.freelocale
1113     libc.src.locale.localeconv
1114     libc.src.locale.newlocale
1115     libc.src.locale.setlocale
1116     libc.src.locale.uselocale
1118     # unistd.h entrypoints
1119     libc.src.unistd.__llvm_libc_syscall
1120     libc.src.unistd._exit
1121     libc.src.unistd.environ
1122     libc.src.unistd.execv
1123     libc.src.unistd.fork
1124     libc.src.unistd.getopt
1125     libc.src.unistd.optarg
1126     libc.src.unistd.opterr
1127     libc.src.unistd.optind
1128     libc.src.unistd.optopt
1129     libc.src.unistd.swab
1131     # sys/select.h entrypoints
1132     libc.src.sys.select.select
1134     # sys/socket.h entrypoints
1135     libc.src.sys.socket.socket
1136     libc.src.sys.socket.bind
1137     libc.src.sys.socket.socketpair
1138     libc.src.sys.socket.send
1139     libc.src.sys.socket.sendto
1140     libc.src.sys.socket.sendmsg
1141     libc.src.sys.socket.recv
1142     libc.src.sys.socket.recvfrom
1143     libc.src.sys.socket.recvmsg
1144   )
1145 endif()
1147 set(TARGET_LLVMLIBC_ENTRYPOINTS
1148   ${TARGET_LIBC_ENTRYPOINTS}
1149   ${TARGET_LIBM_ENTRYPOINTS}