1184 lines · plain
1set(TARGET_LIBC_ENTRYPOINTS2 # ctype.h entrypoints3 libc.src.ctype.isalnum4 libc.src.ctype.isalpha5 libc.src.ctype.isascii6 libc.src.ctype.isblank7 libc.src.ctype.iscntrl8 libc.src.ctype.isdigit9 libc.src.ctype.isgraph10 libc.src.ctype.islower11 libc.src.ctype.isprint12 libc.src.ctype.ispunct13 libc.src.ctype.isspace14 libc.src.ctype.isupper15 libc.src.ctype.isxdigit16 libc.src.ctype.toascii17 libc.src.ctype.tolower18 libc.src.ctype.toupper19 20 # dlfcn.h entrypoints21 libc.src.dlfcn.dlclose22 libc.src.dlfcn.dlerror23 libc.src.dlfcn.dlopen24 libc.src.dlfcn.dlsym25 26 # errno.h entrypoints27 libc.src.errno.errno28 29 # fcntl.h entrypoints30 libc.src.fcntl.creat31 libc.src.fcntl.fcntl32 libc.src.fcntl.open33 libc.src.fcntl.openat34 35 # poll.h entrypoints36 libc.src.poll.poll37 38 # sched.h entrypoints39 libc.src.sched.sched_get_priority_max40 libc.src.sched.sched_get_priority_min41 libc.src.sched.sched_getaffinity42 libc.src.sched.sched_getparam43 libc.src.sched.sched_getscheduler44 libc.src.sched.sched_rr_get_interval45 libc.src.sched.sched_setaffinity46 libc.src.sched.sched_setparam47 libc.src.sched.sched_setscheduler48 libc.src.sched.sched_yield49 50 # string.h entrypoints51 libc.src.string.memccpy52 libc.src.string.memchr53 libc.src.string.memcmp54 libc.src.string.memcpy55 libc.src.string.memmem56 libc.src.string.memmove57 libc.src.string.mempcpy58 libc.src.string.memrchr59 libc.src.string.memset60 libc.src.string.memset_explicit61 libc.src.string.stpcpy62 libc.src.string.stpncpy63 libc.src.string.strcasestr64 libc.src.string.strcat65 libc.src.string.strchr66 libc.src.string.strchrnul67 libc.src.string.strcmp68 libc.src.string.strcoll69 libc.src.string.strcpy70 libc.src.string.strcspn71 libc.src.string.strdup72 libc.src.string.strerror73 libc.src.string.strerror_r74 libc.src.string.strlcat75 libc.src.string.strlcpy76 libc.src.string.strlen77 libc.src.string.strncat78 libc.src.string.strncmp79 libc.src.string.strncpy80 libc.src.string.strndup81 libc.src.string.strnlen82 libc.src.string.strpbrk83 libc.src.string.strrchr84 libc.src.string.strsep85 libc.src.string.strsignal86 libc.src.string.strspn87 libc.src.string.strstr88 libc.src.string.strtok89 libc.src.string.strtok_r90 libc.src.string.strxfrm91 92 # strings.h entrypoints93 libc.src.strings.bcmp94 libc.src.strings.bcopy95 libc.src.strings.bzero96 libc.src.strings.ffs97 libc.src.strings.ffsl98 libc.src.strings.ffsll99 libc.src.strings.index100 libc.src.strings.rindex101 libc.src.strings.strcasecmp102 libc.src.strings.strncasecmp103 104 # inttypes.h entrypoints105 libc.src.inttypes.imaxabs106 libc.src.inttypes.imaxdiv107 libc.src.inttypes.strtoimax108 libc.src.inttypes.strtoumax109 110 # stdbit.h entrypoints111 libc.src.stdbit.stdc_bit_ceil_uc112 libc.src.stdbit.stdc_bit_ceil_ui113 libc.src.stdbit.stdc_bit_ceil_ul114 libc.src.stdbit.stdc_bit_ceil_ull115 libc.src.stdbit.stdc_bit_ceil_us116 libc.src.stdbit.stdc_bit_floor_uc117 libc.src.stdbit.stdc_bit_floor_ui118 libc.src.stdbit.stdc_bit_floor_ul119 libc.src.stdbit.stdc_bit_floor_ull120 libc.src.stdbit.stdc_bit_floor_us121 libc.src.stdbit.stdc_bit_width_uc122 libc.src.stdbit.stdc_bit_width_ui123 libc.src.stdbit.stdc_bit_width_ul124 libc.src.stdbit.stdc_bit_width_ull125 libc.src.stdbit.stdc_bit_width_us126 libc.src.stdbit.stdc_count_ones_uc127 libc.src.stdbit.stdc_count_ones_ui128 libc.src.stdbit.stdc_count_ones_ul129 libc.src.stdbit.stdc_count_ones_ull130 libc.src.stdbit.stdc_count_ones_us131 libc.src.stdbit.stdc_count_zeros_uc132 libc.src.stdbit.stdc_count_zeros_ui133 libc.src.stdbit.stdc_count_zeros_ul134 libc.src.stdbit.stdc_count_zeros_ull135 libc.src.stdbit.stdc_count_zeros_us136 libc.src.stdbit.stdc_first_leading_one_uc137 libc.src.stdbit.stdc_first_leading_one_ui138 libc.src.stdbit.stdc_first_leading_one_ul139 libc.src.stdbit.stdc_first_leading_one_ull140 libc.src.stdbit.stdc_first_leading_one_us141 libc.src.stdbit.stdc_first_leading_zero_uc142 libc.src.stdbit.stdc_first_leading_zero_ui143 libc.src.stdbit.stdc_first_leading_zero_ul144 libc.src.stdbit.stdc_first_leading_zero_ull145 libc.src.stdbit.stdc_first_leading_zero_us146 libc.src.stdbit.stdc_first_trailing_one_uc147 libc.src.stdbit.stdc_first_trailing_one_ui148 libc.src.stdbit.stdc_first_trailing_one_ul149 libc.src.stdbit.stdc_first_trailing_one_ull150 libc.src.stdbit.stdc_first_trailing_one_us151 libc.src.stdbit.stdc_first_trailing_zero_uc152 libc.src.stdbit.stdc_first_trailing_zero_ui153 libc.src.stdbit.stdc_first_trailing_zero_ul154 libc.src.stdbit.stdc_first_trailing_zero_ull155 libc.src.stdbit.stdc_first_trailing_zero_us156 libc.src.stdbit.stdc_has_single_bit_uc157 libc.src.stdbit.stdc_has_single_bit_ui158 libc.src.stdbit.stdc_has_single_bit_ul159 libc.src.stdbit.stdc_has_single_bit_ull160 libc.src.stdbit.stdc_has_single_bit_us161 libc.src.stdbit.stdc_leading_ones_uc162 libc.src.stdbit.stdc_leading_ones_ui163 libc.src.stdbit.stdc_leading_ones_ul164 libc.src.stdbit.stdc_leading_ones_ull165 libc.src.stdbit.stdc_leading_ones_us166 libc.src.stdbit.stdc_leading_zeros_uc167 libc.src.stdbit.stdc_leading_zeros_ui168 libc.src.stdbit.stdc_leading_zeros_ul169 libc.src.stdbit.stdc_leading_zeros_ull170 libc.src.stdbit.stdc_leading_zeros_us171 libc.src.stdbit.stdc_trailing_ones_uc172 libc.src.stdbit.stdc_trailing_ones_ui173 libc.src.stdbit.stdc_trailing_ones_ul174 libc.src.stdbit.stdc_trailing_ones_ull175 libc.src.stdbit.stdc_trailing_ones_us176 libc.src.stdbit.stdc_trailing_zeros_uc177 libc.src.stdbit.stdc_trailing_zeros_ui178 libc.src.stdbit.stdc_trailing_zeros_ul179 libc.src.stdbit.stdc_trailing_zeros_ull180 libc.src.stdbit.stdc_trailing_zeros_us181 182 # stdlib.h entrypoints183 libc.src.stdlib.abs184 libc.src.stdlib.atof185 libc.src.stdlib.atoi186 libc.src.stdlib.atol187 libc.src.stdlib.atoll188 libc.src.stdlib.bsearch189 libc.src.stdlib.div190 libc.src.stdlib.labs191 libc.src.stdlib.ldiv192 libc.src.stdlib.llabs193 libc.src.stdlib.lldiv194 libc.src.stdlib.memalignment195 libc.src.stdlib.qsort196 libc.src.stdlib.qsort_r197 libc.src.stdlib.rand198 libc.src.stdlib.srand199 libc.src.stdlib.strfromd200 libc.src.stdlib.strfromf201 # TODO: long double support is buggy with clang-11. Re-enable when buildbots are upgraded.202 # libc.src.stdlib.strfroml203 libc.src.stdlib.strtod204 libc.src.stdlib.strtof205 libc.src.stdlib.strtol206 libc.src.stdlib.strtold207 libc.src.stdlib.strtoll208 libc.src.stdlib.strtoul209 libc.src.stdlib.strtoull210 211 # stdlib.h external entrypoints212 libc.src.stdlib.aligned_alloc213 libc.src.stdlib.calloc214 libc.src.stdlib.free215 libc.src.stdlib.malloc216 libc.src.stdlib.realloc217 218 # stdio.h entrypoints219 libc.src.stdio.fprintf220 libc.src.stdio.fscanf221 libc.src.stdio.vfscanf222 libc.src.stdio.printf223 libc.src.stdio.remove224 libc.src.stdio.rename225 libc.src.stdio.scanf226 libc.src.stdio.vscanf227 libc.src.stdio.snprintf228 libc.src.stdio.sprintf229 libc.src.stdio.asprintf230 libc.src.stdio.sscanf231 libc.src.stdio.vsscanf232 libc.src.stdio.vfprintf233 libc.src.stdio.vprintf234 libc.src.stdio.vsnprintf235 libc.src.stdio.vsprintf236 libc.src.stdio.vasprintf237 238 # sys/epoll.h entrypoints239 libc.src.sys.epoll.epoll_create240 libc.src.sys.epoll.epoll_create1241 libc.src.sys.epoll.epoll_ctl242 libc.src.sys.epoll.epoll_pwait243 libc.src.sys.epoll.epoll_wait244 # TODO: Need to check if pwait2 is available before providing.245 # https://github.com/llvm/llvm-project/issues/80060246 # libc.src.sys.epoll.epoll_pwait2247 248 # sys/ioctl.h entrypoints249 libc.src.sys.ioctl.ioctl250 251 # sys/mman.h entrypoints252 libc.src.sys.mman.madvise253 libc.src.sys.mman.mincore254 libc.src.sys.mman.mlock255 libc.src.sys.mman.mlock2256 libc.src.sys.mman.mlockall257 libc.src.sys.mman.mmap258 libc.src.sys.mman.mremap259 libc.src.sys.mman.mprotect260 libc.src.sys.mman.msync261 libc.src.sys.mman.munlock262 libc.src.sys.mman.munlockall263 libc.src.sys.mman.munmap264 libc.src.sys.mman.remap_file_pages265 libc.src.sys.mman.posix_madvise266 libc.src.sys.mman.shm_open267 libc.src.sys.mman.shm_unlink268 269 # sys/random.h entrypoints270 libc.src.sys.random.getrandom271 272 # sys/resource.h entrypoints273 libc.src.sys.resource.getrlimit274 libc.src.sys.resource.setrlimit275 276 # sys/sendfile entrypoints277 libc.src.sys.sendfile.sendfile278 279 # sys/stat.h entrypoints280 libc.src.sys.stat.chmod281 libc.src.sys.stat.fchmod282 libc.src.sys.stat.fchmodat283 libc.src.sys.stat.fstat284 libc.src.sys.stat.lstat285 libc.src.sys.stat.mkdir286 libc.src.sys.stat.mkdirat287 libc.src.sys.stat.stat288 289 # sys/statvfs.h290 libc.src.sys.statvfs.fstatvfs291 libc.src.sys.statvfs.statvfs292 293 # sys/utsname.h entrypoints294 libc.src.sys.utsname.uname295 296 # sys/wait.h entrypoints297 libc.src.sys.wait.wait298 libc.src.sys.wait.wait4299 libc.src.sys.wait.waitpid300 301 # sys/prctl.h entrypoints302 libc.src.sys.prctl.prctl303 304 # sys/auxv.h entrypoints305 libc.src.sys.auxv.getauxval306 307 # termios.h entrypoints308 libc.src.termios.cfgetispeed309 libc.src.termios.cfgetospeed310 libc.src.termios.cfsetispeed311 libc.src.termios.cfsetospeed312 libc.src.termios.tcdrain313 libc.src.termios.tcflow314 libc.src.termios.tcflush315 libc.src.termios.tcgetattr316 libc.src.termios.tcgetsid317 libc.src.termios.tcsendbreak318 libc.src.termios.tcsetattr319 320 # unistd.h entrypoints321 libc.src.unistd.access322 libc.src.unistd.chdir323 libc.src.unistd.close324 libc.src.unistd.dup325 libc.src.unistd.dup2326 libc.src.unistd.dup3327 libc.src.unistd.execve328 libc.src.unistd.faccessat329 libc.src.unistd.fchdir330 libc.src.unistd.fchown331 libc.src.unistd.fpathconf332 libc.src.unistd.fsync333 libc.src.unistd.ftruncate334 libc.src.unistd.getcwd335 libc.src.unistd.getentropy336 libc.src.unistd.geteuid337 libc.src.unistd.gethostname338 libc.src.unistd.getpid339 libc.src.unistd.getppid340 libc.src.unistd.getsid341 libc.src.unistd.gettid342 libc.src.unistd.getuid343 libc.src.unistd.isatty344 libc.src.unistd.link345 libc.src.unistd.linkat346 libc.src.unistd.lseek347 libc.src.unistd.pathconf348 libc.src.unistd.pipe349 libc.src.unistd.pipe2350 libc.src.unistd.pread351 libc.src.unistd.pwrite352 libc.src.unistd.read353 libc.src.unistd.readlink354 libc.src.unistd.readlinkat355 libc.src.unistd.rmdir356 libc.src.unistd.setsid357 libc.src.unistd.symlink358 libc.src.unistd.symlinkat359 libc.src.unistd.sysconf360 libc.src.unistd.truncate361 libc.src.unistd.unlink362 libc.src.unistd.unlinkat363 libc.src.unistd.write364 365 # wchar.h entrypoints366 libc.src.wchar.wcslen367 libc.src.wchar.wctob368 369 # wctype.h entrypoints370 libc.src.wctype.iswalpha371 372 # sys/uio.h entrypoints373 libc.src.sys.uio.writev374 libc.src.sys.uio.readv375 376 # sys/time.h entrypoints377 libc.src.sys.time.setitimer378 libc.src.sys.time.getitimer379)380 381if(LLVM_LIBC_INCLUDE_SCUDO)382 list(APPEND TARGET_LIBC_ENTRYPOINTS383 # malloc.h external entrypoints384 libc.src.stdlib.mallopt385 )386endif()387 388set(TARGET_LIBM_ENTRYPOINTS389 # complex.h entrypoints390 libc.src.complex.creal391 libc.src.complex.crealf392 libc.src.complex.creall393 libc.src.complex.cimag394 libc.src.complex.cimagf395 libc.src.complex.cimagl396 libc.src.complex.conj397 libc.src.complex.conjf398 libc.src.complex.conjl399 libc.src.complex.cproj400 libc.src.complex.cprojf401 libc.src.complex.cprojl402 403 # fenv.h entrypoints404 libc.src.fenv.feclearexcept405 libc.src.fenv.fedisableexcept406 libc.src.fenv.feenableexcept407 libc.src.fenv.fegetenv408 libc.src.fenv.fegetexcept409 libc.src.fenv.fegetexceptflag410 libc.src.fenv.fegetround411 libc.src.fenv.feholdexcept412 libc.src.fenv.feraiseexcept413 libc.src.fenv.fesetenv414 libc.src.fenv.fesetexcept415 libc.src.fenv.fesetexceptflag416 libc.src.fenv.fesetround417 libc.src.fenv.fetestexcept418 libc.src.fenv.fetestexceptflag419 libc.src.fenv.feupdateenv420 421 # math.h entrypoints422 libc.src.math.acos423 libc.src.math.acosf424 libc.src.math.acoshf425 libc.src.math.asin426 libc.src.math.asinf427 libc.src.math.asinhf428 libc.src.math.atan2429 libc.src.math.atan2f430 libc.src.math.atan431 libc.src.math.atanf432 libc.src.math.atanhf433 libc.src.math.canonicalize434 libc.src.math.canonicalizef435 libc.src.math.canonicalizel436 libc.src.math.cbrt437 libc.src.math.cbrtf438 libc.src.math.ceil439 libc.src.math.ceilf440 libc.src.math.ceill441 libc.src.math.copysign442 libc.src.math.copysignf443 libc.src.math.copysignl444 libc.src.math.cos445 libc.src.math.cosf446 libc.src.math.coshf447 libc.src.math.cospif448 libc.src.math.daddl449 libc.src.math.ddivl450 libc.src.math.dfmal451 libc.src.math.dmull452 libc.src.math.dsqrtl453 libc.src.math.dsubl454 libc.src.math.erff455 libc.src.math.exp456 libc.src.math.exp10457 libc.src.math.exp10f458 libc.src.math.exp2459 libc.src.math.exp2f460 libc.src.math.exp2m1f461 libc.src.math.expf462 libc.src.math.expm1463 libc.src.math.expm1f464 libc.src.math.fabs465 libc.src.math.fabsf466 libc.src.math.fabsl467 libc.src.math.fadd468 libc.src.math.faddl469 libc.src.math.fadd470 libc.src.math.fdim471 libc.src.math.fdimf472 libc.src.math.fdiml473 libc.src.math.floor474 libc.src.math.floorf475 libc.src.math.floorl476 libc.src.math.fma477 libc.src.math.fmaf478 libc.src.math.fmax479 libc.src.math.fmaxf480 libc.src.math.fmaximum481 libc.src.math.fmaximum_mag482 libc.src.math.fmaximum_mag_num483 libc.src.math.fmaximum_mag_numf484 libc.src.math.fmaximum_mag_numl485 libc.src.math.fmaximum_magf486 libc.src.math.fmaximum_magl487 libc.src.math.fmaximum_num488 libc.src.math.fmaximum_numf489 libc.src.math.fmaximum_numl490 libc.src.math.fmaximumf491 libc.src.math.fmaximuml492 libc.src.math.fmaxl493 libc.src.math.fmin494 libc.src.math.fminf495 libc.src.math.fminimum496 libc.src.math.fminimum_mag497 libc.src.math.fminimum_mag_num498 libc.src.math.fminimum_mag_numf499 libc.src.math.fminimum_mag_numl500 libc.src.math.fminimum_magf501 libc.src.math.fminimum_magl502 libc.src.math.fminimum_num503 libc.src.math.fminimum_numf504 libc.src.math.fminimum_numl505 libc.src.math.fminimumf506 libc.src.math.fminimuml507 libc.src.math.fminl508 libc.src.math.fmod509 libc.src.math.fmodf510 libc.src.math.fmodl511 libc.src.math.fmul512 libc.src.math.fmull513 libc.src.math.frexp514 libc.src.math.frexpf515 libc.src.math.frexpl516 libc.src.math.fromfp517 libc.src.math.fromfpf518 libc.src.math.fromfpl519 libc.src.math.fromfpx520 libc.src.math.fromfpxf521 libc.src.math.fromfpxl522 libc.src.math.fsqrt523 libc.src.math.fsqrtl524 libc.src.math.fsub525 libc.src.math.fsubl526 libc.src.math.getpayload527 libc.src.math.getpayloadf528 libc.src.math.getpayloadl529 libc.src.math.hypot530 libc.src.math.hypotf531 libc.src.math.ilogb532 libc.src.math.ilogbf533 libc.src.math.ilogbl534 libc.src.math.iscanonical535 libc.src.math.iscanonicalf536 libc.src.math.iscanonicall537 libc.src.math.isnan538 libc.src.math.isnanf539 libc.src.math.isnanl540 libc.src.math.issignaling541 libc.src.math.issignalingf542 libc.src.math.issignalingl543 libc.src.math.ldexp544 libc.src.math.ldexpf545 libc.src.math.ldexpl546 libc.src.math.llogb547 libc.src.math.llogbf548 libc.src.math.llogbl549 libc.src.math.llrint550 libc.src.math.llrintf551 libc.src.math.llrintl552 libc.src.math.llround553 libc.src.math.llroundf554 libc.src.math.llroundl555 libc.src.math.log556 libc.src.math.log10557 libc.src.math.log10f558 libc.src.math.log1p559 libc.src.math.log1pf560 libc.src.math.log2561 libc.src.math.log2f562 libc.src.math.logb563 libc.src.math.logbf564 libc.src.math.logbl565 libc.src.math.logf566 libc.src.math.lrint567 libc.src.math.lrintf568 libc.src.math.lrintl569 libc.src.math.lround570 libc.src.math.lroundf571 libc.src.math.lroundl572 libc.src.math.modf573 libc.src.math.modff574 libc.src.math.modfl575 libc.src.math.nan576 libc.src.math.nanf577 libc.src.math.nanl578 libc.src.math.nearbyint579 libc.src.math.nearbyintf580 libc.src.math.nearbyintl581 libc.src.math.nextafter582 libc.src.math.nextafterf583 libc.src.math.nextafterl584 libc.src.math.nextdown585 libc.src.math.nextdownf586 libc.src.math.nextdownl587 libc.src.math.nexttoward588 libc.src.math.nexttowardf589 libc.src.math.nexttowardl590 libc.src.math.nextup591 libc.src.math.nextupf592 libc.src.math.nextupl593 libc.src.math.pow594 libc.src.math.powf595 libc.src.math.remainder596 libc.src.math.remainderf597 libc.src.math.remainderl598 libc.src.math.remquo599 libc.src.math.remquof600 libc.src.math.remquol601 libc.src.math.rint602 libc.src.math.rintf603 libc.src.math.rintl604 libc.src.math.round605 libc.src.math.roundeven606 libc.src.math.roundevenf607 libc.src.math.roundevenl608 libc.src.math.roundf609 libc.src.math.roundl610 libc.src.math.scalbln611 libc.src.math.scalblnf612 libc.src.math.scalblnl613 libc.src.math.scalbn614 libc.src.math.scalbnf615 libc.src.math.scalbnl616 libc.src.math.setpayload617 libc.src.math.setpayloadf618 libc.src.math.setpayloadl619 libc.src.math.setpayloadsig620 libc.src.math.setpayloadsigf621 libc.src.math.setpayloadsigl622 libc.src.math.sin623 libc.src.math.sincos624 libc.src.math.sincosf625 libc.src.math.sinf626 libc.src.math.sinhf627 libc.src.math.sinpif628 libc.src.math.sqrt629 libc.src.math.sqrtf630 libc.src.math.sqrtl631 libc.src.math.tan632 libc.src.math.tanf633 libc.src.math.tanhf634 libc.src.math.tanpif635 libc.src.math.totalorder636 libc.src.math.totalorderf637 libc.src.math.totalorderl638 libc.src.math.totalordermag639 libc.src.math.totalordermagf640 libc.src.math.totalordermagl641 libc.src.math.trunc642 libc.src.math.truncf643 libc.src.math.truncl644 libc.src.math.ufromfp645 libc.src.math.ufromfpf646 libc.src.math.ufromfpl647 libc.src.math.ufromfpx648 libc.src.math.ufromfpxf649 libc.src.math.ufromfpxl650)651 652if(LIBC_TYPES_HAS_CFLOAT16)653 list(APPEND TARGET_LIBM_ENTRYPOINTS654 # complex.h C23 _Complex _Float16 entrypoints655 libc.src.complex.crealf16656 libc.src.complex.cimagf16657 libc.src.complex.conjf16658 libc.src.complex.cprojf16659 )660endif()661 662if(LIBC_TYPES_HAS_FLOAT16)663 list(APPEND TARGET_LIBM_ENTRYPOINTS664 # math.h C23 _Float16 entrypoints665 libc.src.math.acoshf16666 libc.src.math.asinpif16667 libc.src.math.canonicalizef16668 libc.src.math.ceilf16669 libc.src.math.copysignf16670 libc.src.math.cospif16671 libc.src.math.expf16672 libc.src.math.f16add673 libc.src.math.f16addf674 # libc.src.math.f16addl675 libc.src.math.f16div676 libc.src.math.f16divf677 # libc.src.math.f16divl678 libc.src.math.f16fma679 libc.src.math.f16fmaf680 # libc.src.math.f16fmal681 libc.src.math.f16mul682 libc.src.math.f16mulf683 # libc.src.math.f16mull684 libc.src.math.f16sqrt685 libc.src.math.f16sqrtf686 # libc.src.math.f16sqrtl687 libc.src.math.f16sub688 libc.src.math.f16subf689 # libc.src.math.f16subl690 libc.src.math.fabsf16691 libc.src.math.fdimf16692 libc.src.math.fdiv693 libc.src.math.fdivl694 libc.src.math.ffma695 libc.src.math.ffmal696 libc.src.math.floorf16697 libc.src.math.fmaf16698 libc.src.math.fmaxf16699 libc.src.math.fmaximum_mag_numf16700 libc.src.math.fmaximum_magf16701 libc.src.math.fmaximum_numf16702 libc.src.math.fmaximumf16703 libc.src.math.fminf16704 libc.src.math.fminimum_mag_numf16705 libc.src.math.fminimum_magf16706 libc.src.math.fminimum_numf16707 libc.src.math.fminimumf16708 # libc.src.math.fmodf16709 libc.src.math.frexpf16710 libc.src.math.fromfpf16711 libc.src.math.fromfpxf16712 libc.src.math.getpayloadf16713 libc.src.math.ilogbf16714 libc.src.math.iscanonicalf16715 libc.src.math.issignalingf16716 libc.src.math.ldexpf16717 libc.src.math.llogbf16718 libc.src.math.llrintf16719 libc.src.math.llroundf16720 libc.src.math.logbf16721 libc.src.math.lrintf16722 libc.src.math.lroundf16723 # libc.src.math.modff16724 libc.src.math.nanf16725 libc.src.math.nearbyintf16726 libc.src.math.nextafterf16727 libc.src.math.nextdownf16728 # Temporarily disable nexttowardf16 on aarch64 because the conversion729 # between _Float16 and long double will crash clang-11. This is fixed in730 # clang-12 and after: https://godbolt.org/z/8ceT9454c731 # libc.src.math.nexttowardf16732 libc.src.math.nextupf16733 libc.src.math.remainderf16734 libc.src.math.remquof16735 libc.src.math.rintf16736 libc.src.math.roundevenf16737 libc.src.math.roundf16738 libc.src.math.rsqrtf739 libc.src.math.rsqrtf16740 libc.src.math.scalblnf16741 libc.src.math.scalbnf16742 libc.src.math.setpayloadf16743 libc.src.math.setpayloadsigf16744 libc.src.math.sinpif16745 libc.src.math.sqrtf16746 libc.src.math.totalorderf16747 libc.src.math.totalordermagf16748 libc.src.math.truncf16749 libc.src.math.ufromfpf16750 libc.src.math.ufromfpxf16751 )752 753 # if(LIBC_TYPES_HAS_FLOAT128)754 # list(APPEND TARGET_LIBM_ENTRYPOINTS755 # # math.h C23 mixed _Float16 and _Float128 entrypoints756 # libc.src.math.f16addf128757 # libc.src.math.f16divf128758 # libc.src.math.f16fmaf128759 # libc.src.math.f16mulf128760 # libc.src.math.f16sqrtf128761 # libc.src.math.f16subf128762 # )763 # endif()764endif()765 766if(LIBC_TYPES_HAS_CFLOAT128)767 list(APPEND TARGET_LIBM_ENTRYPOINTS768 # complex.h C23 _Complex _Float128 entrypoints769 libc.src.complex.crealf128770 libc.src.complex.cimagf128771 libc.src.complex.conjf128772 libc.src.complex.cprojf128773 )774endif()775 776if(LIBC_TYPES_HAS_FLOAT128)777 list(APPEND TARGET_LIBM_ENTRYPOINTS778 # math.h C23 _Float128 entrypoints779 libc.src.math.atan2f128780 libc.src.math.canonicalizef128781 libc.src.math.ceilf128782 libc.src.math.copysignf128783 libc.src.math.daddf128784 libc.src.math.ddivf128785 libc.src.math.dfmaf128786 libc.src.math.dmulf128787 libc.src.math.dsqrtf128788 libc.src.math.dsubf128789 libc.src.math.fabsf128790 libc.src.math.faddf128791 libc.src.math.fdimf128792 libc.src.math.fdivf128793 libc.src.math.ffmaf128794 libc.src.math.floorf128795 libc.src.math.fmaxf128796 libc.src.math.fmaximum_mag_numf128797 libc.src.math.fmaximum_magf128798 libc.src.math.fmaximum_numf128799 libc.src.math.fmaximumf128800 libc.src.math.fminf128801 libc.src.math.fminimum_mag_numf128802 libc.src.math.fminimum_magf128803 libc.src.math.fminimum_numf128804 libc.src.math.fminimumf128805 libc.src.math.fmodf128806 libc.src.math.fmulf128807 libc.src.math.frexpf128808 libc.src.math.fromfpf128809 libc.src.math.fromfpxf128810 libc.src.math.fsqrtf128811 libc.src.math.fsubf128812 libc.src.math.getpayloadf128813 libc.src.math.ilogbf128814 libc.src.math.iscanonicalf128815 libc.src.math.issignalingf128816 libc.src.math.ldexpf128817 libc.src.math.llogbf128818 libc.src.math.llrintf128819 libc.src.math.llroundf128820 libc.src.math.logbf128821 libc.src.math.lrintf128822 libc.src.math.lroundf128823 libc.src.math.modff128824 libc.src.math.nanf128825 libc.src.math.nearbyintf128826 libc.src.math.nextafterf128827 libc.src.math.nextdownf128828 libc.src.math.nextupf128829 libc.src.math.remainderf128830 libc.src.math.remquof128831 libc.src.math.rintf128832 libc.src.math.roundevenf128833 libc.src.math.roundf128834 libc.src.math.scalblnf128835 libc.src.math.scalbnf128836 libc.src.math.setpayloadf128837 libc.src.math.setpayloadsigf128838 libc.src.math.sqrtf128839 libc.src.math.totalorderf128840 libc.src.math.totalordermagf128841 libc.src.math.truncf128842 libc.src.math.ufromfpf128843 libc.src.math.ufromfpxf128844 )845endif()846 847list(APPEND TARGET_LIBM_ENTRYPOINTS848 # bfloat16 entrypoints849 libc.src.math.bf16add850 libc.src.math.bf16addf851 libc.src.math.bf16addl852 libc.src.math.bf16div853 libc.src.math.bf16divf854 libc.src.math.bf16divl855 libc.src.math.bf16fma856 libc.src.math.bf16fmaf857 libc.src.math.bf16fmal858 libc.src.math.bf16mul859 libc.src.math.bf16mulf860 libc.src.math.bf16mull861 libc.src.math.bf16sub862 libc.src.math.bf16subf863 libc.src.math.bf16subl864 libc.src.math.canonicalizebf16865 libc.src.math.ceilbf16866 libc.src.math.copysignbf16867 libc.src.math.fabsbf16868 libc.src.math.fdimbf16869 libc.src.math.floorbf16870 libc.src.math.fmaxbf16871 libc.src.math.fmaximumbf16872 libc.src.math.fmaximum_magbf16873 libc.src.math.fmaximum_mag_numbf16874 libc.src.math.fmaximum_numbf16875 libc.src.math.fminbf16876 libc.src.math.fminimumbf16877 libc.src.math.fminimum_magbf16878 libc.src.math.fminimum_mag_numbf16879 libc.src.math.fminimum_numbf16880 libc.src.math.fmodbf16881 libc.src.math.frexpbf16882 libc.src.math.fromfpbf16883 libc.src.math.fromfpxbf16884 libc.src.math.getpayloadbf16885 libc.src.math.ilogbbf16886 libc.src.math.iscanonicalbf16887 libc.src.math.issignalingbf16888 libc.src.math.ldexpbf16889 libc.src.math.llogbbf16890 libc.src.math.llrintbf16891 libc.src.math.llroundbf16892 libc.src.math.log_bf16893 libc.src.math.logbbf16894 libc.src.math.lrintbf16895 libc.src.math.lroundbf16896 libc.src.math.modfbf16897 libc.src.math.nanbf16898 libc.src.math.nearbyintbf16899 libc.src.math.nextafterbf16900 libc.src.math.nextdownbf16901 libc.src.math.nexttowardbf16902 libc.src.math.nextupbf16903 libc.src.math.remainderbf16904 libc.src.math.remquobf16905 libc.src.math.rintbf16906 libc.src.math.roundbf16907 libc.src.math.roundevenbf16908 libc.src.math.scalblnbf16909 libc.src.math.scalbnbf16910 libc.src.math.setpayloadbf16911 libc.src.math.setpayloadsigbf16912 libc.src.math.sqrtbf16913 libc.src.math.truncbf16914 libc.src.math.totalorderbf16915 libc.src.math.totalordermagbf16916 libc.src.math.ufromfpbf16917 libc.src.math.ufromfpxbf16918)919 920if(LIBC_TYPES_HAS_FLOAT128)921 list(APPEND TARGET_LIBM_ENTRYPOINTS922 # math.h C++23 mixed bfloat16 and _Float128 entrypoints923 libc.src.math.bf16addf128924 libc.src.math.bf16divf128925 libc.src.math.bf16fmaf128926 libc.src.math.bf16mulf128927 libc.src.math.bf16subf128928 )929endif()930 931if(LLVM_LIBC_FULL_BUILD)932 list(APPEND TARGET_LIBC_ENTRYPOINTS933 # assert.h entrypoints934 libc.src.assert.__assert_fail935 936 # compiler entrypoints (no corresponding header)937 libc.src.compiler.__stack_chk_fail938 939 # dirent.h entrypoints940 libc.src.dirent.closedir941 libc.src.dirent.dirfd942 libc.src.dirent.opendir943 libc.src.dirent.readdir944 945 # arpa/inet.h entrypoints946 libc.src.arpa.inet.htonl947 libc.src.arpa.inet.htons948 libc.src.arpa.inet.inet_addr949 libc.src.arpa.inet.inet_aton950 libc.src.arpa.inet.ntohl951 libc.src.arpa.inet.ntohs952 953 # pthread.h entrypoints954 libc.src.pthread.pthread_atfork955 libc.src.pthread.pthread_attr_destroy956 libc.src.pthread.pthread_attr_getdetachstate957 libc.src.pthread.pthread_attr_getguardsize958 libc.src.pthread.pthread_attr_getstack959 libc.src.pthread.pthread_attr_getstacksize960 libc.src.pthread.pthread_attr_init961 libc.src.pthread.pthread_attr_setdetachstate962 libc.src.pthread.pthread_attr_setguardsize963 libc.src.pthread.pthread_attr_setstack964 libc.src.pthread.pthread_attr_setstacksize965 libc.src.pthread.pthread_condattr_destroy966 libc.src.pthread.pthread_condattr_getclock967 libc.src.pthread.pthread_condattr_getpshared968 libc.src.pthread.pthread_condattr_init969 libc.src.pthread.pthread_condattr_setclock970 libc.src.pthread.pthread_condattr_setpshared971 libc.src.pthread.pthread_create972 libc.src.pthread.pthread_detach973 libc.src.pthread.pthread_equal974 libc.src.pthread.pthread_exit975 libc.src.pthread.pthread_getname_np976 libc.src.pthread.pthread_getspecific977 libc.src.pthread.pthread_join978 libc.src.pthread.pthread_key_create979 libc.src.pthread.pthread_key_delete980 libc.src.pthread.pthread_mutex_destroy981 libc.src.pthread.pthread_mutex_init982 libc.src.pthread.pthread_mutex_lock983 libc.src.pthread.pthread_mutex_unlock984 libc.src.pthread.pthread_mutexattr_destroy985 libc.src.pthread.pthread_mutexattr_getpshared986 libc.src.pthread.pthread_mutexattr_getrobust987 libc.src.pthread.pthread_mutexattr_gettype988 libc.src.pthread.pthread_mutexattr_init989 libc.src.pthread.pthread_mutexattr_setpshared990 libc.src.pthread.pthread_mutexattr_setrobust991 libc.src.pthread.pthread_mutexattr_settype992 libc.src.pthread.pthread_once993 libc.src.pthread.pthread_rwlock_clockrdlock994 libc.src.pthread.pthread_rwlock_clockwrlock995 libc.src.pthread.pthread_rwlock_destroy996 libc.src.pthread.pthread_rwlock_init997 libc.src.pthread.pthread_rwlock_rdlock998 libc.src.pthread.pthread_rwlock_timedrdlock999 libc.src.pthread.pthread_rwlock_timedwrlock1000 libc.src.pthread.pthread_rwlock_tryrdlock1001 libc.src.pthread.pthread_rwlock_trywrlock1002 libc.src.pthread.pthread_rwlock_unlock1003 libc.src.pthread.pthread_rwlock_wrlock1004 libc.src.pthread.pthread_rwlockattr_destroy1005 libc.src.pthread.pthread_rwlockattr_getkind_np1006 libc.src.pthread.pthread_rwlockattr_getpshared1007 libc.src.pthread.pthread_rwlockattr_init1008 libc.src.pthread.pthread_rwlockattr_setkind_np1009 libc.src.pthread.pthread_rwlockattr_setpshared1010 libc.src.pthread.pthread_spin_destroy1011 libc.src.pthread.pthread_spin_init1012 libc.src.pthread.pthread_spin_lock1013 libc.src.pthread.pthread_spin_trylock1014 libc.src.pthread.pthread_spin_unlock1015 libc.src.pthread.pthread_self1016 libc.src.pthread.pthread_setname_np1017 libc.src.pthread.pthread_setspecific1018 1019 # sched.h entrypoints1020 libc.src.sched.__sched_getcpucount1021 libc.src.sched.__sched_setcpuzero1022 libc.src.sched.__sched_setcpuset1023 libc.src.sched.__sched_getcpuisset1024 1025 # strings.h entrypoints1026 libc.src.strings.strcasecmp_l1027 libc.src.strings.strncasecmp_l1028 1029 # setjmp.h entrypoints1030 libc.src.setjmp.longjmp1031 libc.src.setjmp.setjmp1032 libc.src.setjmp.siglongjmp1033 libc.src.setjmp.sigsetjmp1034 1035 # stdio.h entrypoints1036 libc.src.stdio.clearerr1037 libc.src.stdio.clearerr_unlocked1038 libc.src.stdio.fclose1039 libc.src.stdio.fdopen1040 libc.src.stdio.feof1041 libc.src.stdio.feof_unlocked1042 libc.src.stdio.ferror1043 libc.src.stdio.ferror_unlocked1044 libc.src.stdio.fflush1045 libc.src.stdio.fgetc1046 libc.src.stdio.fgetc_unlocked1047 libc.src.stdio.fgets1048 libc.src.stdio.fileno1049 libc.src.stdio.flockfile1050 libc.src.stdio.fopen1051 libc.src.stdio.fopencookie1052 libc.src.stdio.fputc1053 libc.src.stdio.fputs1054 libc.src.stdio.fread1055 libc.src.stdio.fread_unlocked1056 libc.src.stdio.fseek1057 libc.src.stdio.fseeko1058 libc.src.stdio.ftell1059 libc.src.stdio.ftello1060 libc.src.stdio.funlockfile1061 libc.src.stdio.fwrite1062 libc.src.stdio.fwrite_unlocked1063 libc.src.stdio.getc1064 libc.src.stdio.getc_unlocked1065 libc.src.stdio.getchar1066 libc.src.stdio.getchar_unlocked1067 libc.src.stdio.perror1068 libc.src.stdio.putc1069 libc.src.stdio.putchar1070 libc.src.stdio.puts1071 libc.src.stdio.setbuf1072 libc.src.stdio.setvbuf1073 libc.src.stdio.stderr1074 libc.src.stdio.stdin1075 libc.src.stdio.stdout1076 libc.src.stdio.ungetc1077 1078 # stdlib.h entrypoints1079 libc.src.stdlib._Exit1080 libc.src.stdlib.abort1081 libc.src.stdlib.at_quick_exit1082 libc.src.stdlib.atexit1083 libc.src.stdlib.exit1084 libc.src.stdlib.getenv1085 libc.src.stdlib.quick_exit1086 1087 # signal.h entrypoints1088 libc.src.signal.kill1089 libc.src.signal.raise1090 libc.src.signal.sigaction1091 libc.src.signal.sigaddset1092 libc.src.signal.sigaltstack1093 libc.src.signal.sigdelset1094 libc.src.signal.sigemptyset1095 libc.src.signal.sigfillset1096 libc.src.signal.signal1097 libc.src.signal.sigprocmask1098 1099 # spawn.h entrypoints1100 libc.src.spawn.posix_spawn1101 libc.src.spawn.posix_spawn_file_actions_addclose1102 libc.src.spawn.posix_spawn_file_actions_adddup21103 libc.src.spawn.posix_spawn_file_actions_addopen1104 libc.src.spawn.posix_spawn_file_actions_destroy1105 libc.src.spawn.posix_spawn_file_actions_init1106 1107 # search.h entrypoints1108 libc.src.search.hcreate1109 libc.src.search.hcreate_r1110 libc.src.search.hdestroy1111 libc.src.search.hdestroy_r1112 libc.src.search.hsearch1113 libc.src.search.hsearch_r1114 libc.src.search.insque1115 libc.src.search.lfind1116 libc.src.search.lsearch1117 libc.src.search.remque1118 1119 # threads.h entrypoints1120 libc.src.threads.call_once1121 libc.src.threads.cnd_broadcast1122 libc.src.threads.cnd_destroy1123 libc.src.threads.cnd_init1124 libc.src.threads.cnd_signal1125 libc.src.threads.cnd_wait1126 libc.src.threads.mtx_destroy1127 libc.src.threads.mtx_init1128 libc.src.threads.mtx_lock1129 libc.src.threads.mtx_unlock1130 libc.src.threads.thrd_create1131 libc.src.threads.thrd_current1132 libc.src.threads.thrd_detach1133 libc.src.threads.thrd_equal1134 libc.src.threads.thrd_exit1135 libc.src.threads.thrd_join1136 libc.src.threads.tss_create1137 libc.src.threads.tss_delete1138 libc.src.threads.tss_get1139 libc.src.threads.tss_set1140 1141 # time.h entrypoints1142 libc.src.time.asctime1143 libc.src.time.asctime_r1144 libc.src.time.ctime1145 libc.src.time.ctime_r1146 libc.src.time.clock1147 libc.src.time.clock_gettime1148 libc.src.time.clock_settime1149 libc.src.time.difftime1150 libc.src.time.gettimeofday1151 libc.src.time.gmtime1152 libc.src.time.gmtime_r1153 libc.src.time.mktime1154 libc.src.time.nanosleep1155 libc.src.time.time1156 libc.src.time.timespec_get1157 1158 # unistd.h entrypoints1159 libc.src.unistd.__llvm_libc_syscall1160 libc.src.unistd._exit1161 libc.src.unistd.environ1162 libc.src.unistd.execv1163 libc.src.unistd.fork1164 libc.src.unistd.getopt1165 libc.src.unistd.optarg1166 libc.src.unistd.opterr1167 libc.src.unistd.optind1168 libc.src.unistd.optopt1169 libc.src.unistd.swab1170 1171 # sys/select.h entrypoints1172 libc.src.sys.select.select1173 1174 # sys/socket.h entrypoints1175 libc.src.sys.socket.bind1176 libc.src.sys.socket.socket1177 )1178endif()1179 1180set(TARGET_LLVMLIBC_ENTRYPOINTS1181 ${TARGET_LIBC_ENTRYPOINTS}1182 ${TARGET_LIBM_ENTRYPOINTS}1183)1184