xref: /llvm-project/libc/config/linux/riscv/entrypoints.txt (revision 631a6e0004e57ca85569b99ea411418627925697)
1set(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
19
20    # dlfcn.h entrypoints
21    libc.src.dlfcn.dlclose
22    libc.src.dlfcn.dlerror
23    libc.src.dlfcn.dlopen
24    libc.src.dlfcn.dlsym
25
26    # errno.h entrypoints
27    libc.src.errno.errno
28
29    # fcntl.h entrypoints
30    libc.src.fcntl.creat
31    libc.src.fcntl.fcntl
32    libc.src.fcntl.open
33    libc.src.fcntl.openat
34
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
46
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
88
89    # strings.h entrypoints
90    libc.src.strings.index
91    libc.src.strings.rindex
92    libc.src.strings.bcmp
93    libc.src.strings.bcopy
94    libc.src.strings.bzero
95    libc.src.strings.strcasecmp
96
97    # inttypes.h entrypoints
98    libc.src.inttypes.imaxabs
99    libc.src.inttypes.imaxdiv
100    libc.src.inttypes.strtoimax
101    libc.src.inttypes.strtoumax
102
103    # stdbit.h entrypoints
104    libc.src.stdbit.stdc_bit_ceil_uc
105    libc.src.stdbit.stdc_bit_ceil_ui
106    libc.src.stdbit.stdc_bit_ceil_ul
107    libc.src.stdbit.stdc_bit_ceil_ull
108    libc.src.stdbit.stdc_bit_ceil_us
109    libc.src.stdbit.stdc_bit_floor_uc
110    libc.src.stdbit.stdc_bit_floor_ui
111    libc.src.stdbit.stdc_bit_floor_ul
112    libc.src.stdbit.stdc_bit_floor_ull
113    libc.src.stdbit.stdc_bit_floor_us
114    libc.src.stdbit.stdc_bit_width_uc
115    libc.src.stdbit.stdc_bit_width_ui
116    libc.src.stdbit.stdc_bit_width_ul
117    libc.src.stdbit.stdc_bit_width_ull
118    libc.src.stdbit.stdc_bit_width_us
119    libc.src.stdbit.stdc_count_ones_uc
120    libc.src.stdbit.stdc_count_ones_ui
121    libc.src.stdbit.stdc_count_ones_ul
122    libc.src.stdbit.stdc_count_ones_ull
123    libc.src.stdbit.stdc_count_ones_us
124    libc.src.stdbit.stdc_count_zeros_uc
125    libc.src.stdbit.stdc_count_zeros_ui
126    libc.src.stdbit.stdc_count_zeros_ul
127    libc.src.stdbit.stdc_count_zeros_ull
128    libc.src.stdbit.stdc_count_zeros_us
129    libc.src.stdbit.stdc_first_leading_one_uc
130    libc.src.stdbit.stdc_first_leading_one_ui
131    libc.src.stdbit.stdc_first_leading_one_ul
132    libc.src.stdbit.stdc_first_leading_one_ull
133    libc.src.stdbit.stdc_first_leading_one_us
134    libc.src.stdbit.stdc_first_leading_zero_uc
135    libc.src.stdbit.stdc_first_leading_zero_ui
136    libc.src.stdbit.stdc_first_leading_zero_ul
137    libc.src.stdbit.stdc_first_leading_zero_ull
138    libc.src.stdbit.stdc_first_leading_zero_us
139    libc.src.stdbit.stdc_first_trailing_one_uc
140    libc.src.stdbit.stdc_first_trailing_one_ui
141    libc.src.stdbit.stdc_first_trailing_one_ul
142    libc.src.stdbit.stdc_first_trailing_one_ull
143    libc.src.stdbit.stdc_first_trailing_one_us
144    libc.src.stdbit.stdc_first_trailing_zero_uc
145    libc.src.stdbit.stdc_first_trailing_zero_ui
146    libc.src.stdbit.stdc_first_trailing_zero_ul
147    libc.src.stdbit.stdc_first_trailing_zero_ull
148    libc.src.stdbit.stdc_first_trailing_zero_us
149    libc.src.stdbit.stdc_has_single_bit_uc
150    libc.src.stdbit.stdc_has_single_bit_ui
151    libc.src.stdbit.stdc_has_single_bit_ul
152    libc.src.stdbit.stdc_has_single_bit_ull
153    libc.src.stdbit.stdc_has_single_bit_us
154    libc.src.stdbit.stdc_leading_ones_uc
155    libc.src.stdbit.stdc_leading_ones_ui
156    libc.src.stdbit.stdc_leading_ones_ul
157    libc.src.stdbit.stdc_leading_ones_ull
158    libc.src.stdbit.stdc_leading_ones_us
159    libc.src.stdbit.stdc_leading_zeros_uc
160    libc.src.stdbit.stdc_leading_zeros_ui
161    libc.src.stdbit.stdc_leading_zeros_ul
162    libc.src.stdbit.stdc_leading_zeros_ull
163    libc.src.stdbit.stdc_leading_zeros_us
164    libc.src.stdbit.stdc_trailing_ones_uc
165    libc.src.stdbit.stdc_trailing_ones_ui
166    libc.src.stdbit.stdc_trailing_ones_ul
167    libc.src.stdbit.stdc_trailing_ones_ull
168    libc.src.stdbit.stdc_trailing_ones_us
169    libc.src.stdbit.stdc_trailing_zeros_uc
170    libc.src.stdbit.stdc_trailing_zeros_ui
171    libc.src.stdbit.stdc_trailing_zeros_ul
172    libc.src.stdbit.stdc_trailing_zeros_ull
173    libc.src.stdbit.stdc_trailing_zeros_us
174
175    # stdlib.h entrypoints
176    libc.src.stdlib.abs
177    libc.src.stdlib.atof
178    libc.src.stdlib.atoi
179    libc.src.stdlib.atol
180    libc.src.stdlib.atoll
181    libc.src.stdlib.bsearch
182    libc.src.stdlib.div
183    libc.src.stdlib.labs
184    libc.src.stdlib.ldiv
185    libc.src.stdlib.llabs
186    libc.src.stdlib.lldiv
187    libc.src.stdlib.qsort
188    libc.src.stdlib.qsort_r
189    libc.src.stdlib.rand
190    libc.src.stdlib.srand
191    libc.src.stdlib.strfromd
192    libc.src.stdlib.strfromf
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
201
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
208
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
230
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
240
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.mprotect
249    libc.src.sys.mman.msync
250    libc.src.sys.mman.munlock
251    libc.src.sys.mman.munlockall
252    libc.src.sys.mman.munmap
253    libc.src.sys.mman.remap_file_pages
254    libc.src.sys.mman.posix_madvise
255    libc.src.sys.mman.shm_open
256    libc.src.sys.mman.shm_unlink
257
258    # sys/random.h entrypoints
259    libc.src.sys.random.getrandom
260
261    # sys/resource.h entrypoints
262    libc.src.sys.resource.getrlimit
263    libc.src.sys.resource.setrlimit
264
265    # sys/sendfile entrypoints
266    libc.src.sys.sendfile.sendfile
267
268    # sys/stat.h entrypoints
269    libc.src.sys.stat.chmod
270    libc.src.sys.stat.fchmod
271    libc.src.sys.stat.fchmodat
272    libc.src.sys.stat.fstat
273    libc.src.sys.stat.lstat
274    libc.src.sys.stat.mkdir
275    libc.src.sys.stat.mkdirat
276    libc.src.sys.stat.stat
277
278    # sys/statvfs.h
279    libc.src.sys.statvfs.fstatvfs
280    libc.src.sys.statvfs.statvfs
281
282    # sys/utsname.h entrypoints
283    libc.src.sys.utsname.uname
284
285    # sys/wait.h entrypoints
286    libc.src.sys.wait.wait
287    libc.src.sys.wait.wait4
288    libc.src.sys.wait.waitpid
289
290    # sys/prctl.h entrypoints
291    libc.src.sys.prctl.prctl
292
293    # sys/auxv.h entrypoints
294    libc.src.sys.auxv.getauxval
295
296    # termios.h entrypoints
297    libc.src.termios.cfgetispeed
298    libc.src.termios.cfgetospeed
299    libc.src.termios.cfsetispeed
300    libc.src.termios.cfsetospeed
301    libc.src.termios.tcdrain
302    libc.src.termios.tcflow
303    libc.src.termios.tcflush
304    libc.src.termios.tcgetattr
305    libc.src.termios.tcgetsid
306    libc.src.termios.tcsendbreak
307    libc.src.termios.tcsetattr
308
309    # unistd.h entrypoints
310    libc.src.unistd.access
311    libc.src.unistd.chdir
312    libc.src.unistd.close
313    libc.src.unistd.dup
314    libc.src.unistd.dup2
315    libc.src.unistd.dup3
316    libc.src.unistd.execve
317    libc.src.unistd.fchdir
318    libc.src.unistd.fpathconf
319    libc.src.unistd.fsync
320    libc.src.unistd.ftruncate
321    libc.src.unistd.getcwd
322    libc.src.unistd.geteuid
323    libc.src.unistd.getpid
324    libc.src.unistd.getppid
325    libc.src.unistd.gettid
326    libc.src.unistd.getuid
327    libc.src.unistd.isatty
328    libc.src.unistd.link
329    libc.src.unistd.linkat
330    libc.src.unistd.lseek
331    libc.src.unistd.pathconf
332    libc.src.unistd.pipe
333    libc.src.unistd.pipe2
334    libc.src.unistd.pread
335    libc.src.unistd.pwrite
336    libc.src.unistd.read
337    libc.src.unistd.readlink
338    libc.src.unistd.readlinkat
339    libc.src.unistd.rmdir
340    libc.src.unistd.symlink
341    libc.src.unistd.symlinkat
342    libc.src.unistd.sysconf
343    libc.src.unistd.truncate
344    libc.src.unistd.unlink
345    libc.src.unistd.unlinkat
346    libc.src.unistd.write
347
348    # wchar.h entrypoints
349    libc.src.wchar.wcslen
350    libc.src.wchar.wctob
351)
352
353if(LLVM_LIBC_INCLUDE_SCUDO)
354  list(APPEND TARGET_LIBC_ENTRYPOINTS
355    # malloc.h external entrypoints
356    libc.src.stdlib.mallopt
357  )
358endif()
359
360set(TARGET_LIBM_ENTRYPOINTS
361    # complex.h entrypoints
362    libc.src.complex.creal
363    libc.src.complex.crealf
364    libc.src.complex.creall
365    libc.src.complex.cimag
366    libc.src.complex.cimagf
367    libc.src.complex.cimagl
368    libc.src.complex.conj
369    libc.src.complex.conjf
370    libc.src.complex.conjl
371    libc.src.complex.cproj
372    libc.src.complex.cprojf
373    libc.src.complex.cprojl
374
375    # fenv.h entrypoints
376    libc.src.fenv.feclearexcept
377    libc.src.fenv.fedisableexcept
378    libc.src.fenv.feenableexcept
379    libc.src.fenv.fegetenv
380    libc.src.fenv.fegetexcept
381    libc.src.fenv.fegetexceptflag
382    libc.src.fenv.fegetround
383    libc.src.fenv.feholdexcept
384    libc.src.fenv.feraiseexcept
385    libc.src.fenv.fesetenv
386    libc.src.fenv.fesetexcept
387    libc.src.fenv.fesetexceptflag
388    libc.src.fenv.fesetround
389    libc.src.fenv.fetestexcept
390    libc.src.fenv.fetestexceptflag
391    libc.src.fenv.feupdateenv
392
393    # math.h entrypoints
394    libc.src.math.acosf
395    libc.src.math.acoshf
396    libc.src.math.asinf
397    libc.src.math.asinhf
398    libc.src.math.atan2
399    libc.src.math.atan2f
400    libc.src.math.atanf
401    libc.src.math.atanhf
402    libc.src.math.canonicalize
403    libc.src.math.canonicalizef
404    libc.src.math.canonicalizel
405    libc.src.math.cbrt
406    libc.src.math.cbrtf
407    libc.src.math.ceil
408    libc.src.math.ceilf
409    libc.src.math.ceill
410    libc.src.math.copysign
411    libc.src.math.copysignf
412    libc.src.math.copysignl
413    libc.src.math.cos
414    libc.src.math.cosf
415    libc.src.math.coshf
416    libc.src.math.cospif
417    libc.src.math.daddl
418    libc.src.math.ddivl
419    libc.src.math.dfmal
420    libc.src.math.dmull
421    libc.src.math.dsqrtl
422    libc.src.math.dsubl
423    libc.src.math.erff
424    libc.src.math.exp
425    libc.src.math.exp10
426    libc.src.math.exp10f
427    libc.src.math.exp2
428    libc.src.math.exp2f
429    libc.src.math.exp2m1f
430    libc.src.math.expf
431    libc.src.math.expm1
432    libc.src.math.expm1f
433    libc.src.math.fabs
434    libc.src.math.fabsf
435    libc.src.math.fabsl
436    libc.src.math.fadd
437    libc.src.math.faddl
438    libc.src.math.fadd
439    libc.src.math.fdim
440    libc.src.math.fdimf
441    libc.src.math.fdiml
442    libc.src.math.fdiv
443    libc.src.math.fdivl
444    libc.src.math.ffma
445    libc.src.math.ffmal
446    libc.src.math.floor
447    libc.src.math.floorf
448    libc.src.math.floorl
449    libc.src.math.fma
450    libc.src.math.fmaf
451    libc.src.math.fmax
452    libc.src.math.fmaxf
453    libc.src.math.fmaximum
454    libc.src.math.fmaximum_mag
455    libc.src.math.fmaximum_mag_num
456    libc.src.math.fmaximum_mag_numf
457    libc.src.math.fmaximum_mag_numl
458    libc.src.math.fmaximum_magf
459    libc.src.math.fmaximum_magl
460    libc.src.math.fmaximum_num
461    libc.src.math.fmaximum_numf
462    libc.src.math.fmaximum_numl
463    libc.src.math.fmaximumf
464    libc.src.math.fmaximuml
465    libc.src.math.fmaxl
466    libc.src.math.fmin
467    libc.src.math.fminf
468    libc.src.math.fminimum
469    libc.src.math.fminimum_mag
470    libc.src.math.fminimum_mag_num
471    libc.src.math.fminimum_mag_numf
472    libc.src.math.fminimum_mag_numl
473    libc.src.math.fminimum_magf
474    libc.src.math.fminimum_magl
475    libc.src.math.fminimum_num
476    libc.src.math.fminimum_numf
477    libc.src.math.fminimum_numl
478    libc.src.math.fminimumf
479    libc.src.math.fminimuml
480    libc.src.math.fminl
481    libc.src.math.fmod
482    libc.src.math.fmodf
483    libc.src.math.fmodl
484    libc.src.math.fmul
485    libc.src.math.fmull
486    libc.src.math.frexp
487    libc.src.math.frexpf
488    libc.src.math.frexpl
489    libc.src.math.fromfp
490    libc.src.math.fromfpf
491    libc.src.math.fromfpl
492    libc.src.math.fromfpx
493    libc.src.math.fromfpxf
494    libc.src.math.fromfpxl
495    libc.src.math.fsqrt
496    libc.src.math.fsqrtl
497    libc.src.math.fsub
498    libc.src.math.fsubl
499    libc.src.math.getpayload
500    libc.src.math.getpayloadf
501    libc.src.math.getpayloadl
502    libc.src.math.hypot
503    libc.src.math.hypotf
504    libc.src.math.ilogb
505    libc.src.math.ilogbf
506    libc.src.math.ilogbl
507    libc.src.math.iscanonical
508    libc.src.math.iscanonicalf
509    libc.src.math.iscanonicall
510    libc.src.math.isnan
511    libc.src.math.isnanf
512    libc.src.math.isnanl
513    libc.src.math.issignaling
514    libc.src.math.issignalingf
515    libc.src.math.issignalingl
516    libc.src.math.ldexp
517    libc.src.math.ldexpf
518    libc.src.math.ldexpl
519    libc.src.math.llogb
520    libc.src.math.llogbf
521    libc.src.math.llogbl
522    libc.src.math.llrint
523    libc.src.math.llrintf
524    libc.src.math.llrintl
525    libc.src.math.llround
526    libc.src.math.llroundf
527    libc.src.math.llroundl
528    libc.src.math.log
529    libc.src.math.log10
530    libc.src.math.log10f
531    libc.src.math.log1p
532    libc.src.math.log1pf
533    libc.src.math.log2
534    libc.src.math.log2f
535    libc.src.math.logb
536    libc.src.math.logbf
537    libc.src.math.logbl
538    libc.src.math.logf
539    libc.src.math.lrint
540    libc.src.math.lrintf
541    libc.src.math.lrintl
542    libc.src.math.lround
543    libc.src.math.lroundf
544    libc.src.math.lroundl
545    libc.src.math.modf
546    libc.src.math.modff
547    libc.src.math.modfl
548    libc.src.math.nan
549    libc.src.math.nanf
550    libc.src.math.nanl
551    libc.src.math.nearbyint
552    libc.src.math.nearbyintf
553    libc.src.math.nearbyintl
554    libc.src.math.nextafter
555    libc.src.math.nextafterf
556    libc.src.math.nextafterl
557    libc.src.math.nextdown
558    libc.src.math.nextdownf
559    libc.src.math.nextdownl
560    libc.src.math.nexttoward
561    libc.src.math.nexttowardf
562    libc.src.math.nexttowardl
563    libc.src.math.nextup
564    libc.src.math.nextupf
565    libc.src.math.nextupl
566    libc.src.math.pow
567    libc.src.math.powf
568    libc.src.math.remainder
569    libc.src.math.remainderf
570    libc.src.math.remainderl
571    libc.src.math.remquo
572    libc.src.math.remquof
573    libc.src.math.remquol
574    libc.src.math.rint
575    libc.src.math.rintf
576    libc.src.math.rintl
577    libc.src.math.round
578    libc.src.math.roundeven
579    libc.src.math.roundevenf
580    libc.src.math.roundevenl
581    libc.src.math.roundf
582    libc.src.math.roundl
583    libc.src.math.scalbln
584    libc.src.math.scalblnf
585    libc.src.math.scalblnl
586    libc.src.math.scalbn
587    libc.src.math.scalbnf
588    libc.src.math.scalbnl
589    libc.src.math.setpayload
590    libc.src.math.setpayloadf
591    libc.src.math.setpayloadl
592    libc.src.math.setpayloadsig
593    libc.src.math.setpayloadsigf
594    libc.src.math.setpayloadsigl
595    libc.src.math.sin
596    libc.src.math.sincos
597    libc.src.math.sincosf
598    libc.src.math.sinf
599    libc.src.math.sinhf
600    libc.src.math.sinpif
601    libc.src.math.sqrt
602    libc.src.math.sqrtf
603    libc.src.math.sqrtl
604    libc.src.math.tan
605    libc.src.math.tanf
606    libc.src.math.tanhf
607    libc.src.math.totalorder
608    libc.src.math.totalorderf
609    libc.src.math.totalorderl
610    libc.src.math.totalordermag
611    libc.src.math.totalordermagf
612    libc.src.math.totalordermagl
613    libc.src.math.trunc
614    libc.src.math.truncf
615    libc.src.math.truncl
616    libc.src.math.ufromfp
617    libc.src.math.ufromfpf
618    libc.src.math.ufromfpl
619    libc.src.math.ufromfpx
620    libc.src.math.ufromfpxf
621    libc.src.math.ufromfpxl
622)
623
624if(LIBC_TYPES_HAS_CFLOAT128)
625  list(APPEND TARGET_LIBM_ENTRYPOINTS
626    # complex.h C23 _Complex _Float128 entrypoints
627    libc.src.complex.crealf128
628    libc.src.complex.cimagf128
629    libc.src.complex.conjf128
630    libc.src.complex.cprojf128
631  )
632endif()
633
634if(LIBC_TYPES_HAS_FLOAT128)
635  list(APPEND TARGET_LIBM_ENTRYPOINTS
636    # math.h C23 _Float128 entrypoints
637    libc.src.math.canonicalizef128
638    libc.src.math.ceilf128
639    libc.src.math.copysignf128
640    libc.src.math.daddf128
641    libc.src.math.ddivf128
642    libc.src.math.dfmaf128
643    libc.src.math.dmulf128
644    libc.src.math.dsqrtf128
645    libc.src.math.dsubf128
646    libc.src.math.fabsf128
647    libc.src.math.faddf128
648    libc.src.math.fdimf128
649    libc.src.math.fdivf128
650    libc.src.math.ffmaf128
651    libc.src.math.floorf128
652    libc.src.math.fmaxf128
653    libc.src.math.fmaximum_mag_numf128
654    libc.src.math.fmaximum_magf128
655    libc.src.math.fmaximum_numf128
656    libc.src.math.fmaximumf128
657    libc.src.math.fminf128
658    libc.src.math.fminimum_mag_numf128
659    libc.src.math.fminimum_magf128
660    libc.src.math.fminimum_numf128
661    libc.src.math.fminimumf128
662    libc.src.math.fmodf128
663    libc.src.math.fmulf128
664    libc.src.math.frexpf128
665    libc.src.math.fromfpf128
666    libc.src.math.fromfpxf128
667    libc.src.math.fsqrtf128
668    libc.src.math.fsubf128
669    libc.src.math.getpayloadf128
670    libc.src.math.ilogbf128
671    libc.src.math.iscanonicalf128
672    libc.src.math.issignalingf128
673    libc.src.math.ldexpf128
674    libc.src.math.llogbf128
675    libc.src.math.llrintf128
676    libc.src.math.llroundf128
677    libc.src.math.logbf128
678    libc.src.math.lrintf128
679    libc.src.math.lroundf128
680    libc.src.math.modff128
681    libc.src.math.nanf128
682    libc.src.math.nearbyintf128
683    libc.src.math.nextafterf128
684    libc.src.math.nextdownf128
685    libc.src.math.nextupf128
686    libc.src.math.remainderf128
687    libc.src.math.remquof128
688    libc.src.math.rintf128
689    libc.src.math.roundevenf128
690    libc.src.math.roundf128
691    libc.src.math.scalblnf128
692    libc.src.math.scalbnf128
693    libc.src.math.setpayloadf128
694    libc.src.math.setpayloadsigf128
695    libc.src.math.sqrtf128
696    libc.src.math.totalorderf128
697    libc.src.math.totalordermagf128
698    libc.src.math.truncf128
699    libc.src.math.ufromfpf128
700    libc.src.math.ufromfpxf128
701  )
702endif()
703
704if(LIBC_COMPILER_HAS_FIXED_POINT)
705  list(APPEND TARGET_LIBM_ENTRYPOINTS
706    # stdfix.h _Fract and _Accum entrypoints
707    libc.src.stdfix.abshk
708    libc.src.stdfix.abshr
709    libc.src.stdfix.absk
710    libc.src.stdfix.abslk
711    libc.src.stdfix.abslr
712    libc.src.stdfix.absr
713    libc.src.stdfix.exphk
714    libc.src.stdfix.expk
715    libc.src.stdfix.roundhk
716    libc.src.stdfix.roundhr
717    libc.src.stdfix.roundk
718    libc.src.stdfix.roundlk
719    libc.src.stdfix.roundlr
720    libc.src.stdfix.roundr
721    libc.src.stdfix.rounduhk
722    libc.src.stdfix.rounduhr
723    libc.src.stdfix.rounduk
724    libc.src.stdfix.roundulk
725    libc.src.stdfix.roundulr
726    libc.src.stdfix.roundur
727    libc.src.stdfix.sqrtuhk
728    libc.src.stdfix.sqrtuhr
729    libc.src.stdfix.sqrtuk
730    libc.src.stdfix.sqrtur
731    libc.src.stdfix.sqrtulr
732    libc.src.stdfix.uhksqrtus
733    libc.src.stdfix.uksqrtui
734    libc.src.stdfix.hrbits
735    libc.src.stdfix.uhrbits
736    libc.src.stdfix.rbits
737    libc.src.stdfix.urbits
738    libc.src.stdfix.lrbits
739    libc.src.stdfix.ulrbits
740    libc.src.stdfix.hkbits
741    libc.src.stdfix.uhkbits
742    libc.src.stdfix.kbits
743    libc.src.stdfix.ukbits
744    # TODO: https://github.com/llvm/llvm-project/issues/115778
745    libc.src.stdfix.lkbits
746    libc.src.stdfix.ulkbits
747  )
748endif()
749
750if(LLVM_LIBC_FULL_BUILD)
751  list(APPEND TARGET_LIBC_ENTRYPOINTS
752    # assert.h entrypoints
753    libc.src.assert.__assert_fail
754
755    # compiler entrypoints (no corresponding header)
756    libc.src.compiler.__stack_chk_fail
757
758    # dirent.h entrypoints
759    libc.src.dirent.closedir
760    libc.src.dirent.dirfd
761    libc.src.dirent.opendir
762    libc.src.dirent.readdir
763
764    # arpa/inet.h entrypoints
765    libc.src.arpa.inet.htonl
766    libc.src.arpa.inet.htons
767    libc.src.arpa.inet.ntohl
768    libc.src.arpa.inet.ntohs
769
770    # pthread.h entrypoints
771    libc.src.pthread.pthread_atfork
772    libc.src.pthread.pthread_attr_destroy
773    libc.src.pthread.pthread_attr_getdetachstate
774    libc.src.pthread.pthread_attr_getguardsize
775    libc.src.pthread.pthread_attr_getstack
776    libc.src.pthread.pthread_attr_getstacksize
777    libc.src.pthread.pthread_attr_init
778    libc.src.pthread.pthread_attr_setdetachstate
779    libc.src.pthread.pthread_attr_setguardsize
780    libc.src.pthread.pthread_attr_setstack
781    libc.src.pthread.pthread_attr_setstacksize
782    libc.src.pthread.pthread_condattr_destroy
783    libc.src.pthread.pthread_condattr_getclock
784    libc.src.pthread.pthread_condattr_getpshared
785    libc.src.pthread.pthread_condattr_init
786    libc.src.pthread.pthread_condattr_setclock
787    libc.src.pthread.pthread_condattr_setpshared
788    libc.src.pthread.pthread_create
789    libc.src.pthread.pthread_detach
790    libc.src.pthread.pthread_equal
791    libc.src.pthread.pthread_exit
792    libc.src.pthread.pthread_getname_np
793    libc.src.pthread.pthread_getspecific
794    libc.src.pthread.pthread_join
795    libc.src.pthread.pthread_key_create
796    libc.src.pthread.pthread_key_delete
797    libc.src.pthread.pthread_mutex_destroy
798    libc.src.pthread.pthread_mutex_init
799    libc.src.pthread.pthread_mutex_lock
800    libc.src.pthread.pthread_mutex_unlock
801    libc.src.pthread.pthread_mutexattr_destroy
802    libc.src.pthread.pthread_mutexattr_getpshared
803    libc.src.pthread.pthread_mutexattr_getrobust
804    libc.src.pthread.pthread_mutexattr_gettype
805    libc.src.pthread.pthread_mutexattr_init
806    libc.src.pthread.pthread_mutexattr_setpshared
807    libc.src.pthread.pthread_mutexattr_setrobust
808    libc.src.pthread.pthread_mutexattr_settype
809    libc.src.pthread.pthread_once
810    libc.src.pthread.pthread_rwlock_clockrdlock
811    libc.src.pthread.pthread_rwlock_clockwrlock
812    libc.src.pthread.pthread_rwlock_destroy
813    libc.src.pthread.pthread_rwlock_init
814    libc.src.pthread.pthread_rwlock_rdlock
815    libc.src.pthread.pthread_rwlock_timedrdlock
816    libc.src.pthread.pthread_rwlock_timedwrlock
817    libc.src.pthread.pthread_rwlock_tryrdlock
818    libc.src.pthread.pthread_rwlock_trywrlock
819    libc.src.pthread.pthread_rwlock_unlock
820    libc.src.pthread.pthread_rwlock_wrlock
821    libc.src.pthread.pthread_rwlockattr_destroy
822    libc.src.pthread.pthread_rwlockattr_getkind_np
823    libc.src.pthread.pthread_rwlockattr_getpshared
824    libc.src.pthread.pthread_rwlockattr_init
825    libc.src.pthread.pthread_rwlockattr_setkind_np
826    libc.src.pthread.pthread_rwlockattr_setpshared
827    libc.src.pthread.pthread_self
828    libc.src.pthread.pthread_setname_np
829    libc.src.pthread.pthread_setspecific
830
831    # sched.h entrypoints
832    libc.src.sched.__sched_getcpucount
833
834    # setjmp.h entrypoints
835    libc.src.setjmp.longjmp
836    libc.src.setjmp.setjmp
837
838    # stdio.h entrypoints
839    libc.src.stdio.clearerr
840    libc.src.stdio.clearerr_unlocked
841    libc.src.stdio.fclose
842    libc.src.stdio.feof
843    libc.src.stdio.feof_unlocked
844    libc.src.stdio.ferror
845    libc.src.stdio.ferror_unlocked
846    libc.src.stdio.fflush
847    libc.src.stdio.fgetc
848    libc.src.stdio.fgetc_unlocked
849    libc.src.stdio.fgets
850    libc.src.stdio.flockfile
851    libc.src.stdio.fopen
852    libc.src.stdio.fopencookie
853    libc.src.stdio.fputc
854    libc.src.stdio.fputs
855    libc.src.stdio.fread
856    libc.src.stdio.fread_unlocked
857    libc.src.stdio.fseek
858    libc.src.stdio.fseeko
859    libc.src.stdio.ftell
860    libc.src.stdio.ftello
861    libc.src.stdio.funlockfile
862    libc.src.stdio.fwrite
863    libc.src.stdio.fwrite_unlocked
864    libc.src.stdio.getc
865    libc.src.stdio.getc_unlocked
866    libc.src.stdio.getchar
867    libc.src.stdio.getchar_unlocked
868    libc.src.stdio.putc
869    libc.src.stdio.putchar
870    libc.src.stdio.puts
871    libc.src.stdio.setbuf
872    libc.src.stdio.setvbuf
873    libc.src.stdio.stderr
874    libc.src.stdio.stdin
875    libc.src.stdio.stdout
876    libc.src.stdio.ungetc
877
878    # stdlib.h entrypoints
879    libc.src.stdlib._Exit
880    libc.src.stdlib.abort
881    libc.src.stdlib.at_quick_exit
882    libc.src.stdlib.atexit
883    libc.src.stdlib.exit
884    libc.src.stdlib.getenv
885    libc.src.stdlib.quick_exit
886
887    # signal.h entrypoints
888    libc.src.signal.kill
889    libc.src.signal.raise
890    libc.src.signal.sigaction
891    libc.src.signal.sigaddset
892    libc.src.signal.sigaltstack
893    libc.src.signal.sigdelset
894    libc.src.signal.sigemptyset
895    libc.src.signal.sigfillset
896    libc.src.signal.signal
897    libc.src.signal.sigprocmask
898
899    # spawn.h entrypoints
900    libc.src.spawn.posix_spawn
901    libc.src.spawn.posix_spawn_file_actions_addclose
902    libc.src.spawn.posix_spawn_file_actions_adddup2
903    libc.src.spawn.posix_spawn_file_actions_addopen
904    libc.src.spawn.posix_spawn_file_actions_destroy
905    libc.src.spawn.posix_spawn_file_actions_init
906
907    # search.h entrypoints
908    libc.src.search.hcreate
909    libc.src.search.hcreate_r
910    libc.src.search.hdestroy
911    libc.src.search.hdestroy_r
912    libc.src.search.hsearch
913    libc.src.search.hsearch_r
914    libc.src.search.insque
915    libc.src.search.lfind
916    libc.src.search.remque
917
918    # threads.h entrypoints
919    libc.src.threads.call_once
920    libc.src.threads.cnd_broadcast
921    libc.src.threads.cnd_destroy
922    libc.src.threads.cnd_init
923    libc.src.threads.cnd_signal
924    libc.src.threads.cnd_wait
925    libc.src.threads.mtx_destroy
926    libc.src.threads.mtx_init
927    libc.src.threads.mtx_lock
928    libc.src.threads.mtx_unlock
929    libc.src.threads.thrd_create
930    libc.src.threads.thrd_current
931    libc.src.threads.thrd_detach
932    libc.src.threads.thrd_equal
933    libc.src.threads.thrd_exit
934    libc.src.threads.thrd_join
935    libc.src.threads.tss_create
936    libc.src.threads.tss_delete
937    libc.src.threads.tss_get
938    libc.src.threads.tss_set
939
940    # time.h entrypoints
941    libc.src.time.asctime
942    libc.src.time.asctime_r
943    libc.src.time.ctime
944    libc.src.time.ctime_r
945    libc.src.time.clock
946    libc.src.time.clock_gettime
947    libc.src.time.difftime
948    libc.src.time.gettimeofday
949    libc.src.time.gmtime
950    libc.src.time.gmtime_r
951    libc.src.time.mktime
952    libc.src.time.nanosleep
953    libc.src.time.time
954    libc.src.time.timespec_get
955
956    # unistd.h entrypoints
957    libc.src.unistd.__llvm_libc_syscall
958    libc.src.unistd._exit
959    libc.src.unistd.environ
960    libc.src.unistd.execv
961    libc.src.unistd.fork
962    libc.src.unistd.getopt
963    libc.src.unistd.optarg
964    libc.src.unistd.opterr
965    libc.src.unistd.optind
966    libc.src.unistd.optopt
967    libc.src.unistd.swab
968
969    # sys/select.h entrypoints
970    libc.src.sys.select.select
971
972    # sys/socket.h entrypoints
973    libc.src.sys.socket.bind
974    libc.src.sys.socket.socket
975  )
976endif()
977
978set(TARGET_LLVMLIBC_ENTRYPOINTS
979  ${TARGET_LIBC_ENTRYPOINTS}
980  ${TARGET_LIBM_ENTRYPOINTS}
981)
982