1 set(TARGET_LIBC_ENTRYPOINTS
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
29 libc.src.sched.sched_get_priority_max
30 libc.src.sched.sched_get_priority_min
31 libc.src.sched.sched_getaffinity
32 libc.src.sched.sched_getparam
33 libc.src.sched.sched_getscheduler
34 libc.src.sched.sched_rr_get_interval
35 libc.src.sched.sched_setaffinity
36 libc.src.sched.sched_setparam
37 libc.src.sched.sched_setscheduler
38 libc.src.sched.sched_yield
40 # string.h entrypoints
45 libc.src.string.memccpy
46 libc.src.string.memchr
47 libc.src.string.memcmp
48 libc.src.string.memcpy
49 libc.src.string.memmem
50 libc.src.string.memmove
51 libc.src.string.mempcpy
52 libc.src.string.memrchr
53 libc.src.string.memset
54 libc.src.string.rindex
55 libc.src.string.stpcpy
56 libc.src.string.stpncpy
57 libc.src.string.strcasecmp
58 libc.src.string.strcasestr
59 libc.src.string.strcat
60 libc.src.string.strchr
61 libc.src.string.strchrnul
62 libc.src.string.strcmp
63 libc.src.string.strcpy
64 libc.src.string.strcspn
65 libc.src.string.strdup
66 libc.src.string.strerror
67 libc.src.string.strerror_r
68 libc.src.string.strlcat
69 libc.src.string.strlcpy
70 libc.src.string.strlen
71 libc.src.string.strncasecmp
72 libc.src.string.strncat
73 libc.src.string.strncmp
74 libc.src.string.strncpy
75 libc.src.string.strndup
76 libc.src.string.strnlen
77 libc.src.string.strpbrk
78 libc.src.string.strrchr
79 libc.src.string.strsep
80 libc.src.string.strsignal
81 libc.src.string.strspn
82 libc.src.string.strstr
83 libc.src.string.strtok
84 libc.src.string.strtok_r
86 # inttypes.h entrypoints
87 libc.src.inttypes.imaxabs
88 libc.src.inttypes.imaxdiv
89 libc.src.inttypes.strtoimax
90 libc.src.inttypes.strtoumax
92 # stdlib.h entrypoints
98 libc.src.stdlib.bsearch
102 libc.src.stdlib.llabs
103 libc.src.stdlib.lldiv
104 libc.src.stdlib.qsort
105 libc.src.stdlib.qsort_r
107 libc.src.stdlib.srand
108 libc.src.stdlib.strtod
109 libc.src.stdlib.strtof
110 libc.src.stdlib.strtol
111 libc.src.stdlib.strtold
112 libc.src.stdlib.strtoll
113 libc.src.stdlib.strtoul
114 libc.src.stdlib.strtoull
116 # stdlib.h external entrypoints
117 libc.src.stdlib.malloc
118 libc.src.stdlib.calloc
119 libc.src.stdlib.realloc
120 libc.src.stdlib.aligned_alloc
123 # stdio.h entrypoints
124 libc.src.stdio.remove
125 libc.src.stdio.sprintf
126 libc.src.stdio.snprintf
127 libc.src.stdio.vsprintf
128 libc.src.stdio.vsnprintf
129 #libc.src.stdio.sscanf
130 #libc.src.stdio.scanf
131 #libc.src.stdio.fscanf
133 # sys/mman.h entrypoints
134 libc.src.sys.mman.madvise
135 libc.src.sys.mman.mmap
136 libc.src.sys.mman.mprotect
137 libc.src.sys.mman.munmap
138 libc.src.sys.mman.posix_madvise
140 # sys/random.h entrypoints
141 libc.src.sys.random.getrandom
143 # sys/resource.h entrypoints
144 libc.src.sys.resource.getrlimit
145 libc.src.sys.resource.setrlimit
147 # sys/sendfile entrypoints
148 libc.src.sys.sendfile.sendfile
150 # sys/stat.h entrypoints
151 libc.src.sys.stat.chmod
152 libc.src.sys.stat.fchmod
153 libc.src.sys.stat.fchmodat
154 libc.src.sys.stat.fstat
155 libc.src.sys.stat.lstat
156 libc.src.sys.stat.mkdir
157 libc.src.sys.stat.mkdirat
158 libc.src.sys.stat.stat
160 # sys/utsname.h entrypoints
161 libc.src.sys.utsname.uname
163 # sys/wait.h entrypoints
164 libc.src.sys.wait.wait
165 libc.src.sys.wait.wait4
166 libc.src.sys.wait.waitpid
168 # sys/prctl.h entrypoints
169 libc.src.sys.prctl.prctl
171 # termios.h entrypoints
172 libc.src.termios.cfgetispeed
173 libc.src.termios.cfgetospeed
174 libc.src.termios.cfsetispeed
175 libc.src.termios.cfsetospeed
176 libc.src.termios.tcgetattr
177 libc.src.termios.tcgetsid
178 libc.src.termios.tcdrain
179 libc.src.termios.tcflow
180 libc.src.termios.tcflush
181 libc.src.termios.tcsendbreak
182 libc.src.termios.tcsetattr
184 # unistd.h entrypoints
185 libc.src.unistd.access
186 libc.src.unistd.chdir
187 libc.src.unistd.close
191 libc.src.unistd.execve
192 libc.src.unistd.fchdir
193 libc.src.unistd.fsync
194 libc.src.unistd.ftruncate
195 libc.src.unistd.getcwd
196 libc.src.unistd.geteuid
197 libc.src.unistd.getpid
198 libc.src.unistd.getppid
199 libc.src.unistd.getuid
200 libc.src.unistd.isatty
202 libc.src.unistd.linkat
203 libc.src.unistd.lseek
204 libc.src.unistd.pread
205 libc.src.unistd.pwrite
207 libc.src.unistd.readlink
208 libc.src.unistd.readlinkat
209 libc.src.unistd.rmdir
210 libc.src.unistd.symlink
211 libc.src.unistd.symlinkat
212 libc.src.unistd.sysconf
213 libc.src.unistd.truncate
214 libc.src.unistd.unlink
215 libc.src.unistd.unlinkat
216 libc.src.unistd.write
219 set(TARGET_LIBM_ENTRYPOINTS
221 libc.src.fenv.feclearexcept
222 libc.src.fenv.fedisableexcept
223 libc.src.fenv.feenableexcept
224 libc.src.fenv.fegetenv
225 libc.src.fenv.fegetexcept
226 libc.src.fenv.fegetexceptflag
227 libc.src.fenv.fegetround
228 libc.src.fenv.feholdexcept
229 libc.src.fenv.fesetenv
230 libc.src.fenv.fesetexceptflag
231 libc.src.fenv.fesetround
232 libc.src.fenv.feraiseexcept
233 libc.src.fenv.fetestexcept
234 libc.src.fenv.feupdateenv
243 libc.src.math.copysign
244 libc.src.math.copysignf
245 libc.src.math.copysignl
288 libc.src.math.llrintf
289 libc.src.math.llrintl
290 libc.src.math.llround
291 libc.src.math.llroundf
292 libc.src.math.llroundl
297 libc.src.math.lroundf
298 libc.src.math.lroundl
319 libc.src.math.nearbyint
320 libc.src.math.nearbyintf
321 libc.src.math.nearbyintl
322 libc.src.math.nextafter
323 libc.src.math.nextafterf
324 libc.src.math.nextafterl
325 libc.src.math.nexttoward
326 libc.src.math.nexttowardf
327 libc.src.math.nexttowardl
329 libc.src.math.remainderf
330 libc.src.math.remainder
331 libc.src.math.remainderl
332 libc.src.math.remquof
334 libc.src.math.remquol
342 libc.src.math.scalbnf
343 libc.src.math.scalbnl
344 libc.src.math.sincosf
357 if(LIBC_COMPILER_HAS_FLOAT128)
358 list(APPEND TARGET_LIBM_ENTRYPOINTS
359 # math.h C23 _Float128 entrypoints
360 libc.src.math.fabsf128
364 if(LLVM_LIBC_FULL_BUILD)
365 list(APPEND TARGET_LIBC_ENTRYPOINTS
366 # compiler entrypoints (no corresponding header)
367 libc.src.compiler.__stack_chk_fail
369 # network.h entrypoints
370 libc.src.network.htonl
371 libc.src.network.htons
372 libc.src.network.ntohl
373 libc.src.network.ntohs
375 # pthread.h entrypoints
376 libc.src.pthread.pthread_atfork
377 libc.src.pthread.pthread_attr_destroy
378 libc.src.pthread.pthread_attr_init
379 libc.src.pthread.pthread_attr_getdetachstate
380 libc.src.pthread.pthread_attr_getguardsize
381 libc.src.pthread.pthread_attr_getstack
382 libc.src.pthread.pthread_attr_getstacksize
383 libc.src.pthread.pthread_attr_setdetachstate
384 libc.src.pthread.pthread_attr_setguardsize
385 libc.src.pthread.pthread_attr_setstack
386 libc.src.pthread.pthread_attr_setstacksize
387 libc.src.pthread.pthread_create
388 libc.src.pthread.pthread_detach
389 libc.src.pthread.pthread_equal
390 libc.src.pthread.pthread_exit
391 libc.src.pthread.pthread_getname_np
392 libc.src.pthread.pthread_getspecific
393 libc.src.pthread.pthread_join
394 libc.src.pthread.pthread_key_create
395 libc.src.pthread.pthread_key_delete
396 libc.src.pthread.pthread_self
397 libc.src.pthread.pthread_setname_np
398 libc.src.pthread.pthread_mutex_destroy
399 libc.src.pthread.pthread_mutex_init
400 libc.src.pthread.pthread_mutex_lock
401 libc.src.pthread.pthread_mutex_unlock
402 libc.src.pthread.pthread_mutexattr_destroy
403 libc.src.pthread.pthread_mutexattr_init
404 libc.src.pthread.pthread_mutexattr_getpshared
405 libc.src.pthread.pthread_mutexattr_getrobust
406 libc.src.pthread.pthread_mutexattr_gettype
407 libc.src.pthread.pthread_mutexattr_setpshared
408 libc.src.pthread.pthread_mutexattr_setrobust
409 libc.src.pthread.pthread_mutexattr_settype
410 libc.src.pthread.pthread_once
411 libc.src.pthread.pthread_setspecific
413 # sched.h entrypoints
414 libc.src.sched.__sched_getcpucount
416 # stdio.h entrypoints
417 libc.src.stdio.clearerr
418 libc.src.stdio.clearerr_unlocked
419 libc.src.stdio.fclose
420 libc.src.stdio.flockfile
422 libc.src.stdio.feof_unlocked
423 libc.src.stdio.ferror
424 libc.src.stdio.ferror_unlocked
426 libc.src.stdio.fflush
430 libc.src.stdio.fopencookie
432 libc.src.stdio.fread_unlocked
434 libc.src.stdio.funlockfile
435 libc.src.stdio.fwrite
436 libc.src.stdio.fwrite_unlocked
437 libc.src.stdio.getchar
438 libc.src.stdio.getchar_unlocked
439 #TODO: Look into if fprintf can be enabled for overlay on aarch64
440 libc.src.stdio.fprintf
441 libc.src.stdio.printf
442 libc.src.stdio.vfprintf
443 libc.src.stdio.vprintf
445 libc.src.stdio.putchar
447 libc.src.stdio.stderr
449 libc.src.stdio.stdout
451 # stdlib.h entrypoints
452 libc.src.stdlib._Exit
453 libc.src.stdlib.abort
454 libc.src.stdlib.atexit
456 libc.src.stdlib.getenv
458 # signal.h entrypoints
459 libc.src.signal.raise
461 libc.src.signal.sigaction
462 libc.src.signal.sigaltstack
463 libc.src.signal.sigdelset
464 libc.src.signal.sigaddset
465 libc.src.signal.sigemptyset
466 libc.src.signal.sigprocmask
467 libc.src.signal.sigfillset
468 libc.src.signal.signal
470 # search.h entrypoints
471 libc.src.search.hcreate
472 libc.src.search.hcreate_r
473 libc.src.search.hsearch
474 libc.src.search.hsearch_r
475 libc.src.search.hdestroy
476 libc.src.search.hdestroy_r
478 # threads.h entrypoints
479 libc.src.threads.call_once
480 libc.src.threads.cnd_broadcast
481 libc.src.threads.cnd_destroy
482 libc.src.threads.cnd_init
483 libc.src.threads.cnd_signal
484 libc.src.threads.cnd_wait
485 libc.src.threads.mtx_destroy
486 libc.src.threads.mtx_init
487 libc.src.threads.mtx_lock
488 libc.src.threads.mtx_unlock
489 libc.src.threads.thrd_create
490 libc.src.threads.thrd_current
491 libc.src.threads.thrd_detach
492 libc.src.threads.thrd_equal
493 libc.src.threads.thrd_exit
494 libc.src.threads.thrd_join
495 libc.src.threads.tss_create
496 libc.src.threads.tss_delete
497 libc.src.threads.tss_get
498 libc.src.threads.tss_set
501 libc.src.time.asctime
502 libc.src.time.asctime_r
503 libc.src.time.clock_gettime
505 libc.src.time.difftime
506 libc.src.time.gettimeofday
508 libc.src.time.gmtime_r
510 libc.src.time.nanosleep
513 # unistd.h entrypoints
514 libc.src.unistd.__llvm_libc_syscall
515 libc.src.unistd.environ
516 libc.src.unistd.execv
517 libc.src.unistd.getopt
518 libc.src.unistd.optarg
519 libc.src.unistd.optind
520 libc.src.unistd.optopt
521 libc.src.unistd.opterr
524 # sys/select.h entrypoints
525 libc.src.sys.select.select
529 set(TARGET_LLVMLIBC_ENTRYPOINTS
530 ${TARGET_LIBC_ENTRYPOINTS}
531 ${TARGET_LIBM_ENTRYPOINTS}