[ELF] Change some upper-case utohexstr to lower-case to improve consistency
[llvm-project.git] / libc / config / linux / aarch64 / entrypoints.txt
blob08b5072499da69f1400b5d8275f4deb5686e6df7
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.bcmp
49     libc.src.string.bcopy
50     libc.src.string.bzero
51     libc.src.string.index
52     libc.src.string.memccpy
53     libc.src.string.memchr
54     libc.src.string.memcmp
55     libc.src.string.memcpy
56     libc.src.string.memmem
57     libc.src.string.memmove
58     libc.src.string.mempcpy
59     libc.src.string.memrchr
60     libc.src.string.memset
61     libc.src.string.memset_explicit
62     libc.src.string.rindex
63     libc.src.string.stpcpy
64     libc.src.string.stpncpy
65     libc.src.string.strcasecmp
66     libc.src.string.strcasestr
67     libc.src.string.strcat
68     libc.src.string.strchr
69     libc.src.string.strchrnul
70     libc.src.string.strcmp
71     libc.src.string.strcoll
72     libc.src.string.strcpy
73     libc.src.string.strcspn
74     libc.src.string.strdup
75     libc.src.string.strerror
76     libc.src.string.strerror_r
77     libc.src.string.strlcat
78     libc.src.string.strlcpy
79     libc.src.string.strlen
80     libc.src.string.strncasecmp
81     libc.src.string.strncat
82     libc.src.string.strncmp
83     libc.src.string.strncpy
84     libc.src.string.strndup
85     libc.src.string.strnlen
86     libc.src.string.strpbrk
87     libc.src.string.strrchr
88     libc.src.string.strsep
89     libc.src.string.strsignal
90     libc.src.string.strspn
91     libc.src.string.strstr
92     libc.src.string.strtok
93     libc.src.string.strtok_r
94     libc.src.string.strxfrm
96     # inttypes.h entrypoints
97     libc.src.inttypes.imaxabs
98     libc.src.inttypes.imaxdiv
99     libc.src.inttypes.strtoimax
100     libc.src.inttypes.strtoumax
102     # stdbit.h entrypoints
103     libc.src.stdbit.stdc_bit_ceil_uc
104     libc.src.stdbit.stdc_bit_ceil_ui
105     libc.src.stdbit.stdc_bit_ceil_ul
106     libc.src.stdbit.stdc_bit_ceil_ull
107     libc.src.stdbit.stdc_bit_ceil_us
108     libc.src.stdbit.stdc_bit_floor_uc
109     libc.src.stdbit.stdc_bit_floor_ui
110     libc.src.stdbit.stdc_bit_floor_ul
111     libc.src.stdbit.stdc_bit_floor_ull
112     libc.src.stdbit.stdc_bit_floor_us
113     libc.src.stdbit.stdc_bit_width_uc
114     libc.src.stdbit.stdc_bit_width_ui
115     libc.src.stdbit.stdc_bit_width_ul
116     libc.src.stdbit.stdc_bit_width_ull
117     libc.src.stdbit.stdc_bit_width_us
118     libc.src.stdbit.stdc_count_ones_uc
119     libc.src.stdbit.stdc_count_ones_ui
120     libc.src.stdbit.stdc_count_ones_ul
121     libc.src.stdbit.stdc_count_ones_ull
122     libc.src.stdbit.stdc_count_ones_us
123     libc.src.stdbit.stdc_count_zeros_uc
124     libc.src.stdbit.stdc_count_zeros_ui
125     libc.src.stdbit.stdc_count_zeros_ul
126     libc.src.stdbit.stdc_count_zeros_ull
127     libc.src.stdbit.stdc_count_zeros_us
128     libc.src.stdbit.stdc_first_leading_one_uc
129     libc.src.stdbit.stdc_first_leading_one_ui
130     libc.src.stdbit.stdc_first_leading_one_ul
131     libc.src.stdbit.stdc_first_leading_one_ull
132     libc.src.stdbit.stdc_first_leading_one_us
133     libc.src.stdbit.stdc_first_leading_zero_uc
134     libc.src.stdbit.stdc_first_leading_zero_ui
135     libc.src.stdbit.stdc_first_leading_zero_ul
136     libc.src.stdbit.stdc_first_leading_zero_ull
137     libc.src.stdbit.stdc_first_leading_zero_us
138     libc.src.stdbit.stdc_first_trailing_one_uc
139     libc.src.stdbit.stdc_first_trailing_one_ui
140     libc.src.stdbit.stdc_first_trailing_one_ul
141     libc.src.stdbit.stdc_first_trailing_one_ull
142     libc.src.stdbit.stdc_first_trailing_one_us
143     libc.src.stdbit.stdc_first_trailing_zero_uc
144     libc.src.stdbit.stdc_first_trailing_zero_ui
145     libc.src.stdbit.stdc_first_trailing_zero_ul
146     libc.src.stdbit.stdc_first_trailing_zero_ull
147     libc.src.stdbit.stdc_first_trailing_zero_us
148     libc.src.stdbit.stdc_has_single_bit_uc
149     libc.src.stdbit.stdc_has_single_bit_ui
150     libc.src.stdbit.stdc_has_single_bit_ul
151     libc.src.stdbit.stdc_has_single_bit_ull
152     libc.src.stdbit.stdc_has_single_bit_us
153     libc.src.stdbit.stdc_leading_ones_uc
154     libc.src.stdbit.stdc_leading_ones_ui
155     libc.src.stdbit.stdc_leading_ones_ul
156     libc.src.stdbit.stdc_leading_ones_ull
157     libc.src.stdbit.stdc_leading_ones_us
158     libc.src.stdbit.stdc_leading_zeros_uc
159     libc.src.stdbit.stdc_leading_zeros_ui
160     libc.src.stdbit.stdc_leading_zeros_ul
161     libc.src.stdbit.stdc_leading_zeros_ull
162     libc.src.stdbit.stdc_leading_zeros_us
163     libc.src.stdbit.stdc_trailing_ones_uc
164     libc.src.stdbit.stdc_trailing_ones_ui
165     libc.src.stdbit.stdc_trailing_ones_ul
166     libc.src.stdbit.stdc_trailing_ones_ull
167     libc.src.stdbit.stdc_trailing_ones_us
168     libc.src.stdbit.stdc_trailing_zeros_uc
169     libc.src.stdbit.stdc_trailing_zeros_ui
170     libc.src.stdbit.stdc_trailing_zeros_ul
171     libc.src.stdbit.stdc_trailing_zeros_ull
172     libc.src.stdbit.stdc_trailing_zeros_us
174     # stdlib.h entrypoints
175     libc.src.stdlib.abs
176     libc.src.stdlib.atof
177     libc.src.stdlib.atoi
178     libc.src.stdlib.atol
179     libc.src.stdlib.atoll
180     libc.src.stdlib.bsearch
181     libc.src.stdlib.div
182     libc.src.stdlib.labs
183     libc.src.stdlib.ldiv
184     libc.src.stdlib.llabs
185     libc.src.stdlib.lldiv
186     libc.src.stdlib.qsort
187     libc.src.stdlib.qsort_r
188     libc.src.stdlib.rand
189     libc.src.stdlib.srand
190     libc.src.stdlib.strfromd
191     libc.src.stdlib.strfromf
192     # TODO: long double support is buggy with clang-11. Re-enable when buildbots are upgraded.
193     # libc.src.stdlib.strfroml
194     libc.src.stdlib.strtod
195     libc.src.stdlib.strtof
196     libc.src.stdlib.strtol
197     libc.src.stdlib.strtold
198     libc.src.stdlib.strtoll
199     libc.src.stdlib.strtoul
200     libc.src.stdlib.strtoull
202     # stdlib.h external entrypoints
203     libc.src.stdlib.aligned_alloc
204     libc.src.stdlib.calloc
205     libc.src.stdlib.free
206     libc.src.stdlib.malloc
207     libc.src.stdlib.realloc
209     # stdio.h entrypoints
210     libc.src.stdio.fdopen
211     libc.src.stdio.fileno
212     libc.src.stdio.fprintf
213     libc.src.stdio.fscanf
214     libc.src.stdio.vfscanf
215     libc.src.stdio.printf
216     libc.src.stdio.remove
217     libc.src.stdio.rename
218     libc.src.stdio.scanf
219     libc.src.stdio.vscanf
220     libc.src.stdio.snprintf
221     libc.src.stdio.sprintf
222     libc.src.stdio.asprintf
223     libc.src.stdio.sscanf
224     libc.src.stdio.vsscanf
225     libc.src.stdio.vfprintf
226     libc.src.stdio.vprintf
227     libc.src.stdio.vsnprintf
228     libc.src.stdio.vsprintf
229     libc.src.stdio.vasprintf
231     # sys/epoll.h entrypoints
232     libc.src.sys.epoll.epoll_create
233     libc.src.sys.epoll.epoll_create1
234     libc.src.sys.epoll.epoll_ctl
235     libc.src.sys.epoll.epoll_pwait
236     libc.src.sys.epoll.epoll_wait
237     # TODO: Need to check if pwait2 is available before providing.
238     # https://github.com/llvm/llvm-project/issues/80060
239     # libc.src.sys.epoll.epoll_pwait2
241     # sys/mman.h entrypoints
242     libc.src.sys.mman.madvise
243     libc.src.sys.mman.mincore
244     libc.src.sys.mman.mlock
245     libc.src.sys.mman.mlock2
246     libc.src.sys.mman.mlockall
247     libc.src.sys.mman.mmap
248     libc.src.sys.mman.mremap
249     libc.src.sys.mman.mprotect
250     libc.src.sys.mman.msync
251     libc.src.sys.mman.munlock
252     libc.src.sys.mman.munlockall
253     libc.src.sys.mman.munmap
254     libc.src.sys.mman.remap_file_pages
255     libc.src.sys.mman.process_mrelease
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
354 if(LLVM_LIBC_INCLUDE_SCUDO)
355   list(APPEND TARGET_LIBC_ENTRYPOINTS
356     # malloc.h external entrypoints
357     libc.src.stdlib.mallopt
358   )
359 endif()
361 set(TARGET_LIBM_ENTRYPOINTS
362     # complex.h entrypoints
363     libc.src.complex.creal
364     libc.src.complex.crealf
365     libc.src.complex.creall
366     libc.src.complex.cimag
367     libc.src.complex.cimagf
368     libc.src.complex.cimagl
370     # fenv.h entrypoints
371     libc.src.fenv.feclearexcept
372     libc.src.fenv.fedisableexcept
373     libc.src.fenv.feenableexcept
374     libc.src.fenv.fegetenv
375     libc.src.fenv.fegetexcept
376     libc.src.fenv.fegetexceptflag
377     libc.src.fenv.fegetround
378     libc.src.fenv.feholdexcept
379     libc.src.fenv.feraiseexcept
380     libc.src.fenv.fesetenv
381     libc.src.fenv.fesetexcept
382     libc.src.fenv.fesetexceptflag
383     libc.src.fenv.fesetround
384     libc.src.fenv.fetestexcept
385     libc.src.fenv.fetestexceptflag
386     libc.src.fenv.feupdateenv
388     # math.h entrypoints
389     libc.src.math.acosf
390     libc.src.math.acoshf
391     libc.src.math.asinf
392     libc.src.math.asinhf
393     libc.src.math.atan2
394     libc.src.math.atan2f
395     libc.src.math.atanf
396     libc.src.math.atanhf
397     libc.src.math.canonicalize
398     libc.src.math.canonicalizef
399     libc.src.math.canonicalizel
400     libc.src.math.cbrt
401     libc.src.math.cbrtf
402     libc.src.math.ceil
403     libc.src.math.ceilf
404     libc.src.math.ceill
405     libc.src.math.copysign
406     libc.src.math.copysignf
407     libc.src.math.copysignl
408     libc.src.math.cos
409     libc.src.math.cosf
410     libc.src.math.coshf
411     libc.src.math.cospif
412     libc.src.math.daddl
413     libc.src.math.ddivl
414     libc.src.math.dfmal
415     libc.src.math.dmull
416     libc.src.math.dsqrtl
417     libc.src.math.dsubl
418     libc.src.math.erff
419     libc.src.math.exp
420     libc.src.math.exp10
421     libc.src.math.exp10f
422     libc.src.math.exp2
423     libc.src.math.exp2f
424     libc.src.math.exp2m1f
425     libc.src.math.expf
426     libc.src.math.expm1
427     libc.src.math.expm1f
428     libc.src.math.fabs
429     libc.src.math.fabsf
430     libc.src.math.fabsl
431     libc.src.math.fadd 
432     libc.src.math.faddl
433     libc.src.math.fadd
434     libc.src.math.fdim
435     libc.src.math.fdimf
436     libc.src.math.fdiml
437     libc.src.math.floor
438     libc.src.math.floorf
439     libc.src.math.floorl
440     libc.src.math.fma
441     libc.src.math.fmaf
442     libc.src.math.fmax
443     libc.src.math.fmaxf
444     libc.src.math.fmaximum
445     libc.src.math.fmaximum_mag
446     libc.src.math.fmaximum_mag_num
447     libc.src.math.fmaximum_mag_numf
448     libc.src.math.fmaximum_mag_numl
449     libc.src.math.fmaximum_magf
450     libc.src.math.fmaximum_magl
451     libc.src.math.fmaximum_num
452     libc.src.math.fmaximum_numf
453     libc.src.math.fmaximum_numl
454     libc.src.math.fmaximumf
455     libc.src.math.fmaximuml
456     libc.src.math.fmaxl
457     libc.src.math.fmin
458     libc.src.math.fminf
459     libc.src.math.fminimum
460     libc.src.math.fminimum_mag
461     libc.src.math.fminimum_mag_num
462     libc.src.math.fminimum_mag_numf
463     libc.src.math.fminimum_mag_numl
464     libc.src.math.fminimum_magf
465     libc.src.math.fminimum_magl
466     libc.src.math.fminimum_num
467     libc.src.math.fminimum_numf
468     libc.src.math.fminimum_numl
469     libc.src.math.fminimumf
470     libc.src.math.fminimuml
471     libc.src.math.fminl
472     libc.src.math.fmod
473     libc.src.math.fmodf
474     libc.src.math.fmodl
475     libc.src.math.fmul
476     libc.src.math.fmull
477     libc.src.math.frexp
478     libc.src.math.frexpf
479     libc.src.math.frexpl
480     libc.src.math.fromfp
481     libc.src.math.fromfpf
482     libc.src.math.fromfpl
483     libc.src.math.fromfpx
484     libc.src.math.fromfpxf
485     libc.src.math.fromfpxl
486     libc.src.math.fsqrt
487     libc.src.math.fsqrtl
488     libc.src.math.fsub
489     libc.src.math.fsubl
490     libc.src.math.getpayload
491     libc.src.math.getpayloadf
492     libc.src.math.getpayloadl
493     libc.src.math.hypot
494     libc.src.math.hypotf
495     libc.src.math.ilogb
496     libc.src.math.ilogbf
497     libc.src.math.ilogbl
498     libc.src.math.iscanonical
499     libc.src.math.iscanonicalf
500     libc.src.math.iscanonicall
501     libc.src.math.isnan
502     libc.src.math.isnanf
503     libc.src.math.isnanl
504     libc.src.math.issignaling
505     libc.src.math.issignalingf
506     libc.src.math.issignalingl
507     libc.src.math.ldexp
508     libc.src.math.ldexpf
509     libc.src.math.ldexpl
510     libc.src.math.llogb
511     libc.src.math.llogbf
512     libc.src.math.llogbl
513     libc.src.math.llrint
514     libc.src.math.llrintf
515     libc.src.math.llrintl
516     libc.src.math.llround
517     libc.src.math.llroundf
518     libc.src.math.llroundl
519     libc.src.math.log
520     libc.src.math.log10
521     libc.src.math.log10f
522     libc.src.math.log1p
523     libc.src.math.log1pf
524     libc.src.math.log2
525     libc.src.math.log2f
526     libc.src.math.logb
527     libc.src.math.logbf
528     libc.src.math.logbl
529     libc.src.math.logf
530     libc.src.math.lrint
531     libc.src.math.lrintf
532     libc.src.math.lrintl
533     libc.src.math.lround
534     libc.src.math.lroundf
535     libc.src.math.lroundl
536     libc.src.math.modf
537     libc.src.math.modff
538     libc.src.math.modfl
539     libc.src.math.nan
540     libc.src.math.nanf
541     libc.src.math.nanl
542     libc.src.math.nearbyint
543     libc.src.math.nearbyintf
544     libc.src.math.nearbyintl
545     libc.src.math.nextafter
546     libc.src.math.nextafterf
547     libc.src.math.nextafterl
548     libc.src.math.nextdown
549     libc.src.math.nextdownf
550     libc.src.math.nextdownl
551     libc.src.math.nexttoward
552     libc.src.math.nexttowardf
553     libc.src.math.nexttowardl
554     libc.src.math.nextup
555     libc.src.math.nextupf
556     libc.src.math.nextupl
557     libc.src.math.pow
558     libc.src.math.powf
559     libc.src.math.remainder
560     libc.src.math.remainderf
561     libc.src.math.remainderl
562     libc.src.math.remquo
563     libc.src.math.remquof
564     libc.src.math.remquol
565     libc.src.math.rint
566     libc.src.math.rintf
567     libc.src.math.rintl
568     libc.src.math.round
569     libc.src.math.roundeven
570     libc.src.math.roundevenf
571     libc.src.math.roundevenl
572     libc.src.math.roundf
573     libc.src.math.roundl
574     libc.src.math.scalbln
575     libc.src.math.scalblnf
576     libc.src.math.scalblnl
577     libc.src.math.scalbn
578     libc.src.math.scalbnf
579     libc.src.math.scalbnl
580     libc.src.math.setpayload
581     libc.src.math.setpayloadf
582     libc.src.math.setpayloadl
583     libc.src.math.setpayloadsig
584     libc.src.math.setpayloadsigf
585     libc.src.math.setpayloadsigl
586     libc.src.math.sin
587     libc.src.math.sincos
588     libc.src.math.sincosf
589     libc.src.math.sinf
590     libc.src.math.sinhf
591     libc.src.math.sinpif
592     libc.src.math.sqrt
593     libc.src.math.sqrtf
594     libc.src.math.sqrtl
595     libc.src.math.tan
596     libc.src.math.tanf
597     libc.src.math.tanhf
598     libc.src.math.totalorder
599     libc.src.math.totalorderf
600     libc.src.math.totalorderl
601     libc.src.math.totalordermag
602     libc.src.math.totalordermagf
603     libc.src.math.totalordermagl
604     libc.src.math.trunc
605     libc.src.math.truncf
606     libc.src.math.truncl
607     libc.src.math.ufromfp
608     libc.src.math.ufromfpf
609     libc.src.math.ufromfpl
610     libc.src.math.ufromfpx
611     libc.src.math.ufromfpxf
612     libc.src.math.ufromfpxl
615 if(LIBC_TYPES_HAS_FLOAT16)
616   list(APPEND TARGET_LIBM_ENTRYPOINTS
617     # complex.h C23 _Complex _Float16 entrypoints
618     # libc.src.complex.crealf16
619     # libc.src.complex.cimagf16
620     
621     # math.h C23 _Float16 entrypoints
622     libc.src.math.canonicalizef16
623     libc.src.math.ceilf16
624     libc.src.math.copysignf16
625     libc.src.math.cospif16
626     # TODO: aarch64 bug
627     # Please see https://github.com/llvm/llvm-project/pull/100632#issuecomment-2258772681
628     # libc.src.math.expf16
629     libc.src.math.f16add
630     libc.src.math.f16addf
631     # libc.src.math.f16addl
632     libc.src.math.f16div
633     libc.src.math.f16divf
634     # libc.src.math.f16divl
635     libc.src.math.f16fma
636     libc.src.math.f16fmaf
637     # libc.src.math.f16fmal
638     libc.src.math.f16mul
639     libc.src.math.f16mulf
640     # libc.src.math.f16mull
641     libc.src.math.f16sqrt
642     libc.src.math.f16sqrtf
643     # libc.src.math.f16sqrtl
644     libc.src.math.f16sub
645     libc.src.math.f16subf
646     # libc.src.math.f16subl
647     libc.src.math.fabsf16
648     libc.src.math.fdimf16
649     libc.src.math.fdiv
650     libc.src.math.fdivl
651     libc.src.math.ffma
652     libc.src.math.ffmal
653     libc.src.math.floorf16
654     libc.src.math.fmaxf16
655     libc.src.math.fmaximum_mag_numf16
656     libc.src.math.fmaximum_magf16
657     libc.src.math.fmaximum_numf16
658     libc.src.math.fmaximumf16
659     libc.src.math.fminf16
660     libc.src.math.fminimum_mag_numf16
661     libc.src.math.fminimum_magf16
662     libc.src.math.fminimum_numf16
663     libc.src.math.fminimumf16
664     # libc.src.math.fmodf16
665     libc.src.math.frexpf16
666     libc.src.math.fromfpf16
667     libc.src.math.fromfpxf16
668     libc.src.math.getpayloadf16
669     libc.src.math.ilogbf16
670     libc.src.math.iscanonicalf16
671     libc.src.math.issignalingf16
672     libc.src.math.ldexpf16
673     libc.src.math.llogbf16
674     libc.src.math.llrintf16
675     libc.src.math.llroundf16
676     libc.src.math.logbf16
677     libc.src.math.lrintf16
678     libc.src.math.lroundf16
679     # libc.src.math.modff16
680     libc.src.math.nanf16
681     libc.src.math.nearbyintf16
682     libc.src.math.nextafterf16
683     libc.src.math.nextdownf16
684     # Temporarily disable nexttowardf16 on aarch64 because the conversion
685     # between _Float16 and long double will crash clang-11.  This is fixed in
686     # clang-12 and after: https://godbolt.org/z/8ceT9454c
687     # libc.src.math.nexttowardf16
688     libc.src.math.nextupf16
689     libc.src.math.remainderf16
690     libc.src.math.remquof16
691     libc.src.math.rintf16
692     libc.src.math.roundevenf16
693     libc.src.math.roundf16
694     libc.src.math.scalblnf16
695     libc.src.math.scalbnf16
696     libc.src.math.setpayloadf16
697     libc.src.math.setpayloadsigf16
698     libc.src.math.sinpif16
699     libc.src.math.sqrtf16
700     libc.src.math.totalorderf16
701     libc.src.math.totalordermagf16
702     libc.src.math.truncf16
703     libc.src.math.ufromfpf16
704     libc.src.math.ufromfpxf16
705   )
707   # if(LIBC_TYPES_HAS_FLOAT128)
708   #   list(APPEND TARGET_LIBM_ENTRYPOINTS
709   #     # math.h C23 mixed _Float16 and _Float128 entrypoints
710   #     libc.src.math.f16addf128
711   #     libc.src.math.f16divf128
712   #     libc.src.math.f16fmaf128
713   #     libc.src.math.f16mulf128
714   #     libc.src.math.f16sqrtf128
715   #     libc.src.math.f16subf128
716   #   )
717   # endif()
718 endif()
720 if(LIBC_TYPES_HAS_FLOAT128)
721   list(APPEND TARGET_LIBM_ENTRYPOINTS
722     # complex.h C23 _Complex _Float128 entrypoints
723     libc.src.complex.crealf128
724     libc.src.complex.cimagf128
726     # math.h C23 _Float128 entrypoints
727     libc.src.math.canonicalizef128
728     libc.src.math.ceilf128
729     libc.src.math.copysignf128
730     libc.src.math.daddf128
731     libc.src.math.ddivf128
732     libc.src.math.dfmaf128
733     libc.src.math.dmulf128
734     libc.src.math.dsqrtf128
735     libc.src.math.dsubf128
736     libc.src.math.fabsf128
737     libc.src.math.faddf128
738     libc.src.math.fdimf128
739     libc.src.math.fdivf128
740     libc.src.math.ffmaf128
741     libc.src.math.floorf128
742     libc.src.math.fmaxf128
743     libc.src.math.fmaximum_mag_numf128
744     libc.src.math.fmaximum_magf128
745     libc.src.math.fmaximum_numf128
746     libc.src.math.fmaximumf128
747     libc.src.math.fminf128
748     libc.src.math.fminimum_mag_numf128
749     libc.src.math.fminimum_magf128
750     libc.src.math.fminimum_numf128
751     libc.src.math.fminimumf128
752     libc.src.math.fmodf128
753     libc.src.math.fmulf128
754     libc.src.math.frexpf128
755     libc.src.math.fromfpf128
756     libc.src.math.fromfpxf128
757     libc.src.math.fsqrtf128
758     libc.src.math.fsubf128
759     libc.src.math.getpayloadf128
760     libc.src.math.ilogbf128
761     libc.src.math.iscanonicalf128
762     libc.src.math.issignalingf128
763     libc.src.math.ldexpf128
764     libc.src.math.llogbf128
765     libc.src.math.llrintf128
766     libc.src.math.llroundf128
767     libc.src.math.logbf128
768     libc.src.math.lrintf128
769     libc.src.math.lroundf128
770     libc.src.math.modff128
771     libc.src.math.nanf128
772     libc.src.math.nearbyintf128
773     libc.src.math.nextafterf128
774     libc.src.math.nextdownf128
775     libc.src.math.nextupf128
776     libc.src.math.remainderf128
777     libc.src.math.remquof128
778     libc.src.math.rintf128
779     libc.src.math.roundevenf128
780     libc.src.math.roundf128
781     libc.src.math.scalblnf128
782     libc.src.math.scalbnf128
783     libc.src.math.setpayloadf128
784     libc.src.math.setpayloadsigf128
785     libc.src.math.sqrtf128
786     libc.src.math.totalorderf128
787     libc.src.math.totalordermagf128
788     libc.src.math.truncf128
789     libc.src.math.ufromfpf128
790     libc.src.math.ufromfpxf128
791   )
792 endif()
794 if(LLVM_LIBC_FULL_BUILD)
795   list(APPEND TARGET_LIBC_ENTRYPOINTS
796     # assert.h entrypoints
797     libc.src.assert.__assert_fail
799     # compiler entrypoints (no corresponding header)
800     libc.src.compiler.__stack_chk_fail
802     # dirent.h entrypoints
803     libc.src.dirent.closedir
804     libc.src.dirent.dirfd
805     libc.src.dirent.opendir
806     libc.src.dirent.readdir
808     # network.h entrypoints
809     libc.src.network.htonl
810     libc.src.network.htons
811     libc.src.network.ntohl
812     libc.src.network.ntohs
814     # pthread.h entrypoints
815     libc.src.pthread.pthread_atfork
816     libc.src.pthread.pthread_attr_destroy
817     libc.src.pthread.pthread_attr_getdetachstate
818     libc.src.pthread.pthread_attr_getguardsize
819     libc.src.pthread.pthread_attr_getstack
820     libc.src.pthread.pthread_attr_getstacksize
821     libc.src.pthread.pthread_attr_init
822     libc.src.pthread.pthread_attr_setdetachstate
823     libc.src.pthread.pthread_attr_setguardsize
824     libc.src.pthread.pthread_attr_setstack
825     libc.src.pthread.pthread_attr_setstacksize
826     libc.src.pthread.pthread_condattr_destroy
827     libc.src.pthread.pthread_condattr_getclock
828     libc.src.pthread.pthread_condattr_getpshared
829     libc.src.pthread.pthread_condattr_init
830     libc.src.pthread.pthread_condattr_setclock
831     libc.src.pthread.pthread_condattr_setpshared
832     libc.src.pthread.pthread_create
833     libc.src.pthread.pthread_detach
834     libc.src.pthread.pthread_equal
835     libc.src.pthread.pthread_exit
836     libc.src.pthread.pthread_getname_np
837     libc.src.pthread.pthread_getspecific
838     libc.src.pthread.pthread_join
839     libc.src.pthread.pthread_key_create
840     libc.src.pthread.pthread_key_delete
841     libc.src.pthread.pthread_mutex_destroy
842     libc.src.pthread.pthread_mutex_init
843     libc.src.pthread.pthread_mutex_lock
844     libc.src.pthread.pthread_mutex_unlock
845     libc.src.pthread.pthread_mutexattr_destroy
846     libc.src.pthread.pthread_mutexattr_getpshared
847     libc.src.pthread.pthread_mutexattr_getrobust
848     libc.src.pthread.pthread_mutexattr_gettype
849     libc.src.pthread.pthread_mutexattr_init
850     libc.src.pthread.pthread_mutexattr_setpshared
851     libc.src.pthread.pthread_mutexattr_setrobust
852     libc.src.pthread.pthread_mutexattr_settype
853     libc.src.pthread.pthread_once
854     libc.src.pthread.pthread_rwlock_clockrdlock
855     libc.src.pthread.pthread_rwlock_clockwrlock
856     libc.src.pthread.pthread_rwlock_destroy
857     libc.src.pthread.pthread_rwlock_init
858     libc.src.pthread.pthread_rwlock_rdlock
859     libc.src.pthread.pthread_rwlock_timedrdlock
860     libc.src.pthread.pthread_rwlock_timedwrlock
861     libc.src.pthread.pthread_rwlock_tryrdlock
862     libc.src.pthread.pthread_rwlock_trywrlock
863     libc.src.pthread.pthread_rwlock_unlock
864     libc.src.pthread.pthread_rwlock_wrlock
865     libc.src.pthread.pthread_rwlockattr_destroy
866     libc.src.pthread.pthread_rwlockattr_getkind_np
867     libc.src.pthread.pthread_rwlockattr_getpshared
868     libc.src.pthread.pthread_rwlockattr_init
869     libc.src.pthread.pthread_rwlockattr_setkind_np
870     libc.src.pthread.pthread_rwlockattr_setpshared
871     libc.src.pthread.pthread_spin_destroy
872     libc.src.pthread.pthread_spin_init
873     libc.src.pthread.pthread_spin_lock
874     libc.src.pthread.pthread_spin_trylock
875     libc.src.pthread.pthread_spin_unlock
876     libc.src.pthread.pthread_self
877     libc.src.pthread.pthread_setname_np
878     libc.src.pthread.pthread_setspecific
880     # sched.h entrypoints
881     libc.src.sched.__sched_getcpucount
883     # setjmp.h entrypoints
884     libc.src.setjmp.longjmp
885     libc.src.setjmp.setjmp
887     # stdio.h entrypoints
888     libc.src.stdio.clearerr
889     libc.src.stdio.clearerr_unlocked
890     libc.src.stdio.fclose
891     libc.src.stdio.feof
892     libc.src.stdio.feof_unlocked
893     libc.src.stdio.ferror
894     libc.src.stdio.ferror_unlocked
895     libc.src.stdio.fflush
896     libc.src.stdio.fgetc
897     libc.src.stdio.fgetc_unlocked
898     libc.src.stdio.fgets
899     libc.src.stdio.flockfile
900     libc.src.stdio.fopen
901     libc.src.stdio.fopencookie
902     libc.src.stdio.fputc
903     libc.src.stdio.fputs
904     libc.src.stdio.fread
905     libc.src.stdio.fread_unlocked
906     libc.src.stdio.fseek
907     libc.src.stdio.fseeko
908     libc.src.stdio.ftell
909     libc.src.stdio.ftello
910     libc.src.stdio.funlockfile
911     libc.src.stdio.fwrite
912     libc.src.stdio.fwrite_unlocked
913     libc.src.stdio.getc
914     libc.src.stdio.getc_unlocked
915     libc.src.stdio.getchar
916     libc.src.stdio.getchar_unlocked
917     libc.src.stdio.putc
918     libc.src.stdio.putchar
919     libc.src.stdio.puts
920     libc.src.stdio.setbuf
921     libc.src.stdio.setvbuf
922     libc.src.stdio.stderr
923     libc.src.stdio.stdin
924     libc.src.stdio.stdout
925     libc.src.stdio.ungetc
927     # stdlib.h entrypoints
928     libc.src.stdlib._Exit
929     libc.src.stdlib.abort
930     libc.src.stdlib.at_quick_exit
931     libc.src.stdlib.atexit
932     libc.src.stdlib.exit
933     libc.src.stdlib.getenv
934     libc.src.stdlib.quick_exit
936     # signal.h entrypoints
937     libc.src.signal.kill
938     libc.src.signal.raise
939     libc.src.signal.sigaction
940     libc.src.signal.sigaddset
941     libc.src.signal.sigaltstack
942     libc.src.signal.sigdelset
943     libc.src.signal.sigemptyset
944     libc.src.signal.sigfillset
945     libc.src.signal.signal
946     libc.src.signal.sigprocmask
948     # spawn.h entrypoints
949     libc.src.spawn.posix_spawn
950     libc.src.spawn.posix_spawn_file_actions_addclose
951     libc.src.spawn.posix_spawn_file_actions_adddup2
952     libc.src.spawn.posix_spawn_file_actions_addopen
953     libc.src.spawn.posix_spawn_file_actions_destroy
954     libc.src.spawn.posix_spawn_file_actions_init
956     # search.h entrypoints
957     libc.src.search.hcreate
958     libc.src.search.hcreate_r
959     libc.src.search.hdestroy
960     libc.src.search.hdestroy_r
961     libc.src.search.hsearch
962     libc.src.search.hsearch_r
963     libc.src.search.insque
964     libc.src.search.lfind
965     libc.src.search.remque
967     # threads.h entrypoints
968     libc.src.threads.call_once
969     libc.src.threads.cnd_broadcast
970     libc.src.threads.cnd_destroy
971     libc.src.threads.cnd_init
972     libc.src.threads.cnd_signal
973     libc.src.threads.cnd_wait
974     libc.src.threads.mtx_destroy
975     libc.src.threads.mtx_init
976     libc.src.threads.mtx_lock
977     libc.src.threads.mtx_unlock
978     libc.src.threads.thrd_create
979     libc.src.threads.thrd_current
980     libc.src.threads.thrd_detach
981     libc.src.threads.thrd_equal
982     libc.src.threads.thrd_exit
983     libc.src.threads.thrd_join
984     libc.src.threads.tss_create
985     libc.src.threads.tss_delete
986     libc.src.threads.tss_get
987     libc.src.threads.tss_set
989     # time.h entrypoints
990     libc.src.time.asctime
991     libc.src.time.asctime_r
992     libc.src.time.ctime
993     libc.src.time.ctime_r
994     libc.src.time.clock
995     libc.src.time.clock_gettime
996     libc.src.time.difftime
997     libc.src.time.gettimeofday
998     libc.src.time.gmtime
999     libc.src.time.gmtime_r
1000     libc.src.time.mktime
1001     libc.src.time.nanosleep
1002     libc.src.time.time
1004     # unistd.h entrypoints
1005     libc.src.unistd.__llvm_libc_syscall
1006     libc.src.unistd._exit
1007     libc.src.unistd.environ
1008     libc.src.unistd.execv
1009     libc.src.unistd.fork
1010     libc.src.unistd.getopt
1011     libc.src.unistd.optarg
1012     libc.src.unistd.opterr
1013     libc.src.unistd.optind
1014     libc.src.unistd.optopt
1015     libc.src.unistd.swab
1017     # sys/select.h entrypoints
1018     libc.src.sys.select.select
1020     # sys/socket.h entrypoints
1021     libc.src.sys.socket.bind
1022     libc.src.sys.socket.socket
1023   )
1024 endif()
1026 set(TARGET_LLVMLIBC_ENTRYPOINTS
1027   ${TARGET_LIBC_ENTRYPOINTS}
1028   ${TARGET_LIBM_ENTRYPOINTS}