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