| set(TARGET_LIBC_ENTRYPOINTS |
| # ctype.h entrypoints |
| libc.src.ctype.isalnum |
| libc.src.ctype.isalpha |
| libc.src.ctype.isascii |
| libc.src.ctype.isblank |
| libc.src.ctype.iscntrl |
| libc.src.ctype.isdigit |
| libc.src.ctype.isgraph |
| libc.src.ctype.islower |
| libc.src.ctype.isprint |
| libc.src.ctype.ispunct |
| libc.src.ctype.isspace |
| libc.src.ctype.isupper |
| libc.src.ctype.isxdigit |
| libc.src.ctype.toascii |
| libc.src.ctype.tolower |
| libc.src.ctype.toupper |
| |
| # dlfcn.h entrypoints |
| libc.src.dlfcn.dlclose |
| libc.src.dlfcn.dlerror |
| libc.src.dlfcn.dlopen |
| libc.src.dlfcn.dlsym |
| |
| # errno.h entrypoints |
| libc.src.errno.errno |
| |
| # fcntl.h entrypoints |
| libc.src.fcntl.creat |
| libc.src.fcntl.fcntl |
| libc.src.fcntl.open |
| libc.src.fcntl.openat |
| |
| # sched.h entrypoints |
| libc.src.sched.sched_get_priority_max |
| libc.src.sched.sched_get_priority_min |
| libc.src.sched.sched_getaffinity |
| libc.src.sched.sched_getparam |
| libc.src.sched.sched_getscheduler |
| libc.src.sched.sched_rr_get_interval |
| libc.src.sched.sched_setaffinity |
| libc.src.sched.sched_setparam |
| libc.src.sched.sched_setscheduler |
| libc.src.sched.sched_yield |
| |
| # string.h entrypoints |
| libc.src.string.bcmp |
| libc.src.string.bcopy |
| libc.src.string.bzero |
| libc.src.string.index |
| libc.src.string.memccpy |
| libc.src.string.memchr |
| libc.src.string.memcmp |
| libc.src.string.memcpy |
| libc.src.string.memmem |
| libc.src.string.memmove |
| libc.src.string.mempcpy |
| libc.src.string.memrchr |
| libc.src.string.memset |
| libc.src.string.memset_explicit |
| libc.src.string.rindex |
| libc.src.string.stpcpy |
| libc.src.string.stpncpy |
| libc.src.string.strcasecmp |
| libc.src.string.strcasestr |
| libc.src.string.strcat |
| libc.src.string.strchr |
| libc.src.string.strchrnul |
| libc.src.string.strcmp |
| libc.src.string.strcoll |
| libc.src.string.strcpy |
| libc.src.string.strcspn |
| libc.src.string.strdup |
| libc.src.string.strerror |
| libc.src.string.strerror_r |
| libc.src.string.strlcat |
| libc.src.string.strlcpy |
| libc.src.string.strlen |
| libc.src.string.strncasecmp |
| libc.src.string.strncat |
| libc.src.string.strncmp |
| libc.src.string.strncpy |
| libc.src.string.strndup |
| libc.src.string.strnlen |
| libc.src.string.strpbrk |
| libc.src.string.strrchr |
| libc.src.string.strsep |
| libc.src.string.strsignal |
| libc.src.string.strspn |
| libc.src.string.strstr |
| libc.src.string.strtok |
| libc.src.string.strtok_r |
| libc.src.string.strxfrm |
| |
| # inttypes.h entrypoints |
| libc.src.inttypes.imaxabs |
| libc.src.inttypes.imaxdiv |
| libc.src.inttypes.strtoimax |
| libc.src.inttypes.strtoumax |
| |
| # stdbit.h entrypoints |
| libc.src.stdbit.stdc_bit_ceil_uc |
| libc.src.stdbit.stdc_bit_ceil_ui |
| libc.src.stdbit.stdc_bit_ceil_ul |
| libc.src.stdbit.stdc_bit_ceil_ull |
| libc.src.stdbit.stdc_bit_ceil_us |
| libc.src.stdbit.stdc_bit_floor_uc |
| libc.src.stdbit.stdc_bit_floor_ui |
| libc.src.stdbit.stdc_bit_floor_ul |
| libc.src.stdbit.stdc_bit_floor_ull |
| libc.src.stdbit.stdc_bit_floor_us |
| libc.src.stdbit.stdc_bit_width_uc |
| libc.src.stdbit.stdc_bit_width_ui |
| libc.src.stdbit.stdc_bit_width_ul |
| libc.src.stdbit.stdc_bit_width_ull |
| libc.src.stdbit.stdc_bit_width_us |
| libc.src.stdbit.stdc_count_ones_uc |
| libc.src.stdbit.stdc_count_ones_ui |
| libc.src.stdbit.stdc_count_ones_ul |
| libc.src.stdbit.stdc_count_ones_ull |
| libc.src.stdbit.stdc_count_ones_us |
| libc.src.stdbit.stdc_count_zeros_uc |
| libc.src.stdbit.stdc_count_zeros_ui |
| libc.src.stdbit.stdc_count_zeros_ul |
| libc.src.stdbit.stdc_count_zeros_ull |
| libc.src.stdbit.stdc_count_zeros_us |
| libc.src.stdbit.stdc_first_leading_one_uc |
| libc.src.stdbit.stdc_first_leading_one_ui |
| libc.src.stdbit.stdc_first_leading_one_ul |
| libc.src.stdbit.stdc_first_leading_one_ull |
| libc.src.stdbit.stdc_first_leading_one_us |
| libc.src.stdbit.stdc_first_leading_zero_uc |
| libc.src.stdbit.stdc_first_leading_zero_ui |
| libc.src.stdbit.stdc_first_leading_zero_ul |
| libc.src.stdbit.stdc_first_leading_zero_ull |
| libc.src.stdbit.stdc_first_leading_zero_us |
| libc.src.stdbit.stdc_first_trailing_one_uc |
| libc.src.stdbit.stdc_first_trailing_one_ui |
| libc.src.stdbit.stdc_first_trailing_one_ul |
| libc.src.stdbit.stdc_first_trailing_one_ull |
| libc.src.stdbit.stdc_first_trailing_one_us |
| libc.src.stdbit.stdc_first_trailing_zero_uc |
| libc.src.stdbit.stdc_first_trailing_zero_ui |
| libc.src.stdbit.stdc_first_trailing_zero_ul |
| libc.src.stdbit.stdc_first_trailing_zero_ull |
| libc.src.stdbit.stdc_first_trailing_zero_us |
| libc.src.stdbit.stdc_has_single_bit_uc |
| libc.src.stdbit.stdc_has_single_bit_ui |
| libc.src.stdbit.stdc_has_single_bit_ul |
| libc.src.stdbit.stdc_has_single_bit_ull |
| libc.src.stdbit.stdc_has_single_bit_us |
| libc.src.stdbit.stdc_leading_ones_uc |
| libc.src.stdbit.stdc_leading_ones_ui |
| libc.src.stdbit.stdc_leading_ones_ul |
| libc.src.stdbit.stdc_leading_ones_ull |
| libc.src.stdbit.stdc_leading_ones_us |
| libc.src.stdbit.stdc_leading_zeros_uc |
| libc.src.stdbit.stdc_leading_zeros_ui |
| libc.src.stdbit.stdc_leading_zeros_ul |
| libc.src.stdbit.stdc_leading_zeros_ull |
| libc.src.stdbit.stdc_leading_zeros_us |
| libc.src.stdbit.stdc_trailing_ones_uc |
| libc.src.stdbit.stdc_trailing_ones_ui |
| libc.src.stdbit.stdc_trailing_ones_ul |
| libc.src.stdbit.stdc_trailing_ones_ull |
| libc.src.stdbit.stdc_trailing_ones_us |
| libc.src.stdbit.stdc_trailing_zeros_uc |
| libc.src.stdbit.stdc_trailing_zeros_ui |
| libc.src.stdbit.stdc_trailing_zeros_ul |
| libc.src.stdbit.stdc_trailing_zeros_ull |
| libc.src.stdbit.stdc_trailing_zeros_us |
| |
| # stdlib.h entrypoints |
| libc.src.stdlib.abs |
| libc.src.stdlib.atof |
| libc.src.stdlib.atoi |
| libc.src.stdlib.atol |
| libc.src.stdlib.atoll |
| libc.src.stdlib.bsearch |
| libc.src.stdlib.div |
| libc.src.stdlib.labs |
| libc.src.stdlib.ldiv |
| libc.src.stdlib.llabs |
| libc.src.stdlib.lldiv |
| libc.src.stdlib.qsort |
| libc.src.stdlib.qsort_r |
| libc.src.stdlib.rand |
| libc.src.stdlib.srand |
| libc.src.stdlib.strfromd |
| libc.src.stdlib.strfromf |
| # TODO: long double support is buggy with clang-11. Re-enable when buildbots are upgraded. |
| # libc.src.stdlib.strfroml |
| libc.src.stdlib.strtod |
| libc.src.stdlib.strtof |
| libc.src.stdlib.strtol |
| libc.src.stdlib.strtold |
| libc.src.stdlib.strtoll |
| libc.src.stdlib.strtoul |
| libc.src.stdlib.strtoull |
| |
| # stdlib.h external entrypoints |
| libc.src.stdlib.aligned_alloc |
| libc.src.stdlib.calloc |
| libc.src.stdlib.free |
| libc.src.stdlib.malloc |
| libc.src.stdlib.realloc |
| |
| # stdio.h entrypoints |
| libc.src.stdio.fdopen |
| libc.src.stdio.fileno |
| libc.src.stdio.fprintf |
| libc.src.stdio.fscanf |
| libc.src.stdio.vfscanf |
| libc.src.stdio.printf |
| libc.src.stdio.remove |
| libc.src.stdio.rename |
| libc.src.stdio.scanf |
| libc.src.stdio.vscanf |
| libc.src.stdio.snprintf |
| libc.src.stdio.sprintf |
| libc.src.stdio.asprintf |
| libc.src.stdio.sscanf |
| libc.src.stdio.vsscanf |
| libc.src.stdio.vfprintf |
| libc.src.stdio.vprintf |
| libc.src.stdio.vsnprintf |
| libc.src.stdio.vsprintf |
| libc.src.stdio.vasprintf |
| |
| # sys/epoll.h entrypoints |
| libc.src.sys.epoll.epoll_create |
| libc.src.sys.epoll.epoll_create1 |
| libc.src.sys.epoll.epoll_ctl |
| libc.src.sys.epoll.epoll_pwait |
| libc.src.sys.epoll.epoll_wait |
| # TODO: Need to check if pwait2 is available before providing. |
| # https://github.com/llvm/llvm-project/issues/80060 |
| # libc.src.sys.epoll.epoll_pwait2 |
| |
| # sys/mman.h entrypoints |
| libc.src.sys.mman.madvise |
| libc.src.sys.mman.mincore |
| libc.src.sys.mman.mlock |
| libc.src.sys.mman.mlock2 |
| libc.src.sys.mman.mlockall |
| libc.src.sys.mman.mmap |
| libc.src.sys.mman.mremap |
| libc.src.sys.mman.mprotect |
| libc.src.sys.mman.msync |
| libc.src.sys.mman.munlock |
| libc.src.sys.mman.munlockall |
| libc.src.sys.mman.munmap |
| libc.src.sys.mman.remap_file_pages |
| libc.src.sys.mman.process_mrelease |
| libc.src.sys.mman.posix_madvise |
| libc.src.sys.mman.shm_open |
| libc.src.sys.mman.shm_unlink |
| |
| # sys/random.h entrypoints |
| libc.src.sys.random.getrandom |
| |
| # sys/resource.h entrypoints |
| libc.src.sys.resource.getrlimit |
| libc.src.sys.resource.setrlimit |
| |
| # sys/sendfile entrypoints |
| libc.src.sys.sendfile.sendfile |
| |
| # sys/stat.h entrypoints |
| libc.src.sys.stat.chmod |
| libc.src.sys.stat.fchmod |
| libc.src.sys.stat.fchmodat |
| libc.src.sys.stat.fstat |
| libc.src.sys.stat.lstat |
| libc.src.sys.stat.mkdir |
| libc.src.sys.stat.mkdirat |
| libc.src.sys.stat.stat |
| |
| # sys/statvfs.h |
| libc.src.sys.statvfs.fstatvfs |
| libc.src.sys.statvfs.statvfs |
| |
| # sys/utsname.h entrypoints |
| libc.src.sys.utsname.uname |
| |
| # sys/wait.h entrypoints |
| libc.src.sys.wait.wait |
| libc.src.sys.wait.wait4 |
| libc.src.sys.wait.waitpid |
| |
| # sys/prctl.h entrypoints |
| libc.src.sys.prctl.prctl |
| |
| # sys/auxv.h entrypoints |
| libc.src.sys.auxv.getauxval |
| |
| # termios.h entrypoints |
| libc.src.termios.cfgetispeed |
| libc.src.termios.cfgetospeed |
| libc.src.termios.cfsetispeed |
| libc.src.termios.cfsetospeed |
| libc.src.termios.tcdrain |
| libc.src.termios.tcflow |
| libc.src.termios.tcflush |
| libc.src.termios.tcgetattr |
| libc.src.termios.tcgetsid |
| libc.src.termios.tcsendbreak |
| libc.src.termios.tcsetattr |
| |
| # unistd.h entrypoints |
| libc.src.unistd.access |
| libc.src.unistd.chdir |
| libc.src.unistd.close |
| libc.src.unistd.dup |
| libc.src.unistd.dup2 |
| libc.src.unistd.dup3 |
| libc.src.unistd.execve |
| libc.src.unistd.fchdir |
| libc.src.unistd.fpathconf |
| libc.src.unistd.fsync |
| libc.src.unistd.ftruncate |
| libc.src.unistd.getcwd |
| libc.src.unistd.geteuid |
| libc.src.unistd.getpid |
| libc.src.unistd.getppid |
| libc.src.unistd.gettid |
| libc.src.unistd.getuid |
| libc.src.unistd.isatty |
| libc.src.unistd.link |
| libc.src.unistd.linkat |
| libc.src.unistd.lseek |
| libc.src.unistd.pathconf |
| libc.src.unistd.pipe |
| libc.src.unistd.pipe2 |
| libc.src.unistd.pread |
| libc.src.unistd.pwrite |
| libc.src.unistd.read |
| libc.src.unistd.readlink |
| libc.src.unistd.readlinkat |
| libc.src.unistd.rmdir |
| libc.src.unistd.symlink |
| libc.src.unistd.symlinkat |
| libc.src.unistd.sysconf |
| libc.src.unistd.truncate |
| libc.src.unistd.unlink |
| libc.src.unistd.unlinkat |
| libc.src.unistd.write |
| |
| # wchar.h entrypoints |
| libc.src.wchar.wctob |
| ) |
| |
| if(LLVM_LIBC_INCLUDE_SCUDO) |
| list(APPEND TARGET_LIBC_ENTRYPOINTS |
| # malloc.h external entrypoints |
| libc.src.stdlib.mallopt |
| ) |
| endif() |
| |
| set(TARGET_LIBM_ENTRYPOINTS |
| # complex.h entrypoints |
| libc.src.complex.creal |
| libc.src.complex.crealf |
| libc.src.complex.creall |
| libc.src.complex.cimag |
| libc.src.complex.cimagf |
| libc.src.complex.cimagl |
| |
| # fenv.h entrypoints |
| libc.src.fenv.feclearexcept |
| libc.src.fenv.fedisableexcept |
| libc.src.fenv.feenableexcept |
| libc.src.fenv.fegetenv |
| libc.src.fenv.fegetexcept |
| libc.src.fenv.fegetexceptflag |
| libc.src.fenv.fegetround |
| libc.src.fenv.feholdexcept |
| libc.src.fenv.feraiseexcept |
| libc.src.fenv.fesetenv |
| libc.src.fenv.fesetexcept |
| libc.src.fenv.fesetexceptflag |
| libc.src.fenv.fesetround |
| libc.src.fenv.fetestexcept |
| libc.src.fenv.fetestexceptflag |
| libc.src.fenv.feupdateenv |
| |
| # math.h entrypoints |
| libc.src.math.acosf |
| libc.src.math.acoshf |
| libc.src.math.asinf |
| libc.src.math.asinhf |
| libc.src.math.atan2 |
| libc.src.math.atan2f |
| libc.src.math.atanf |
| libc.src.math.atanhf |
| libc.src.math.canonicalize |
| libc.src.math.canonicalizef |
| libc.src.math.canonicalizel |
| libc.src.math.cbrt |
| libc.src.math.cbrtf |
| libc.src.math.ceil |
| libc.src.math.ceilf |
| libc.src.math.ceill |
| libc.src.math.copysign |
| libc.src.math.copysignf |
| libc.src.math.copysignl |
| libc.src.math.cos |
| libc.src.math.cosf |
| libc.src.math.coshf |
| libc.src.math.cospif |
| libc.src.math.daddl |
| libc.src.math.ddivl |
| libc.src.math.dfmal |
| libc.src.math.dmull |
| libc.src.math.dsqrtl |
| libc.src.math.dsubl |
| libc.src.math.erff |
| libc.src.math.exp |
| libc.src.math.exp10 |
| libc.src.math.exp10f |
| libc.src.math.exp2 |
| libc.src.math.exp2f |
| libc.src.math.exp2m1f |
| libc.src.math.expf |
| libc.src.math.expm1 |
| libc.src.math.expm1f |
| libc.src.math.fabs |
| libc.src.math.fabsf |
| libc.src.math.fabsl |
| libc.src.math.fadd |
| libc.src.math.faddl |
| libc.src.math.fadd |
| libc.src.math.fdim |
| libc.src.math.fdimf |
| libc.src.math.fdiml |
| libc.src.math.floor |
| libc.src.math.floorf |
| libc.src.math.floorl |
| libc.src.math.fma |
| libc.src.math.fmaf |
| libc.src.math.fmax |
| libc.src.math.fmaxf |
| libc.src.math.fmaximum |
| libc.src.math.fmaximum_mag |
| libc.src.math.fmaximum_mag_num |
| libc.src.math.fmaximum_mag_numf |
| libc.src.math.fmaximum_mag_numl |
| libc.src.math.fmaximum_magf |
| libc.src.math.fmaximum_magl |
| libc.src.math.fmaximum_num |
| libc.src.math.fmaximum_numf |
| libc.src.math.fmaximum_numl |
| libc.src.math.fmaximumf |
| libc.src.math.fmaximuml |
| libc.src.math.fmaxl |
| libc.src.math.fmin |
| libc.src.math.fminf |
| libc.src.math.fminimum |
| libc.src.math.fminimum_mag |
| libc.src.math.fminimum_mag_num |
| libc.src.math.fminimum_mag_numf |
| libc.src.math.fminimum_mag_numl |
| libc.src.math.fminimum_magf |
| libc.src.math.fminimum_magl |
| libc.src.math.fminimum_num |
| libc.src.math.fminimum_numf |
| libc.src.math.fminimum_numl |
| libc.src.math.fminimumf |
| libc.src.math.fminimuml |
| libc.src.math.fminl |
| libc.src.math.fmod |
| libc.src.math.fmodf |
| libc.src.math.fmodl |
| libc.src.math.fmul |
| libc.src.math.fmull |
| libc.src.math.frexp |
| libc.src.math.frexpf |
| libc.src.math.frexpl |
| libc.src.math.fromfp |
| libc.src.math.fromfpf |
| libc.src.math.fromfpl |
| libc.src.math.fromfpx |
| libc.src.math.fromfpxf |
| libc.src.math.fromfpxl |
| libc.src.math.fsqrt |
| libc.src.math.fsqrtl |
| libc.src.math.fsub |
| libc.src.math.fsubl |
| libc.src.math.getpayload |
| libc.src.math.getpayloadf |
| libc.src.math.getpayloadl |
| libc.src.math.hypot |
| libc.src.math.hypotf |
| libc.src.math.ilogb |
| libc.src.math.ilogbf |
| libc.src.math.ilogbl |
| libc.src.math.iscanonical |
| libc.src.math.iscanonicalf |
| libc.src.math.iscanonicall |
| libc.src.math.isnan |
| libc.src.math.isnanf |
| libc.src.math.isnanl |
| libc.src.math.issignaling |
| libc.src.math.issignalingf |
| libc.src.math.issignalingl |
| libc.src.math.ldexp |
| libc.src.math.ldexpf |
| libc.src.math.ldexpl |
| libc.src.math.llogb |
| libc.src.math.llogbf |
| libc.src.math.llogbl |
| libc.src.math.llrint |
| libc.src.math.llrintf |
| libc.src.math.llrintl |
| libc.src.math.llround |
| libc.src.math.llroundf |
| libc.src.math.llroundl |
| libc.src.math.log |
| libc.src.math.log10 |
| libc.src.math.log10f |
| libc.src.math.log1p |
| libc.src.math.log1pf |
| libc.src.math.log2 |
| libc.src.math.log2f |
| libc.src.math.logb |
| libc.src.math.logbf |
| libc.src.math.logbl |
| libc.src.math.logf |
| libc.src.math.lrint |
| libc.src.math.lrintf |
| libc.src.math.lrintl |
| libc.src.math.lround |
| libc.src.math.lroundf |
| libc.src.math.lroundl |
| libc.src.math.modf |
| libc.src.math.modff |
| libc.src.math.modfl |
| libc.src.math.nan |
| libc.src.math.nanf |
| libc.src.math.nanl |
| libc.src.math.nearbyint |
| libc.src.math.nearbyintf |
| libc.src.math.nearbyintl |
| libc.src.math.nextafter |
| libc.src.math.nextafterf |
| libc.src.math.nextafterl |
| libc.src.math.nextdown |
| libc.src.math.nextdownf |
| libc.src.math.nextdownl |
| libc.src.math.nexttoward |
| libc.src.math.nexttowardf |
| libc.src.math.nexttowardl |
| libc.src.math.nextup |
| libc.src.math.nextupf |
| libc.src.math.nextupl |
| libc.src.math.pow |
| libc.src.math.powf |
| libc.src.math.remainder |
| libc.src.math.remainderf |
| libc.src.math.remainderl |
| libc.src.math.remquo |
| libc.src.math.remquof |
| libc.src.math.remquol |
| libc.src.math.rint |
| libc.src.math.rintf |
| libc.src.math.rintl |
| libc.src.math.round |
| libc.src.math.roundeven |
| libc.src.math.roundevenf |
| libc.src.math.roundevenl |
| libc.src.math.roundf |
| libc.src.math.roundl |
| libc.src.math.scalbln |
| libc.src.math.scalblnf |
| libc.src.math.scalblnl |
| libc.src.math.scalbn |
| libc.src.math.scalbnf |
| libc.src.math.scalbnl |
| libc.src.math.setpayload |
| libc.src.math.setpayloadf |
| libc.src.math.setpayloadl |
| libc.src.math.setpayloadsig |
| libc.src.math.setpayloadsigf |
| libc.src.math.setpayloadsigl |
| libc.src.math.sin |
| libc.src.math.sincos |
| libc.src.math.sincosf |
| libc.src.math.sinf |
| libc.src.math.sinhf |
| libc.src.math.sinpif |
| libc.src.math.sqrt |
| libc.src.math.sqrtf |
| libc.src.math.sqrtl |
| libc.src.math.tan |
| libc.src.math.tanf |
| libc.src.math.tanhf |
| libc.src.math.totalorder |
| libc.src.math.totalorderf |
| libc.src.math.totalorderl |
| libc.src.math.totalordermag |
| libc.src.math.totalordermagf |
| libc.src.math.totalordermagl |
| libc.src.math.trunc |
| libc.src.math.truncf |
| libc.src.math.truncl |
| libc.src.math.ufromfp |
| libc.src.math.ufromfpf |
| libc.src.math.ufromfpl |
| libc.src.math.ufromfpx |
| libc.src.math.ufromfpxf |
| libc.src.math.ufromfpxl |
| ) |
| |
| if(LIBC_TYPES_HAS_FLOAT16) |
| list(APPEND TARGET_LIBM_ENTRYPOINTS |
| # complex.h C23 _Complex _Float16 entrypoints |
| # libc.src.complex.crealf16 |
| # libc.src.complex.cimagf16 |
| |
| # math.h C23 _Float16 entrypoints |
| libc.src.math.canonicalizef16 |
| libc.src.math.ceilf16 |
| libc.src.math.copysignf16 |
| libc.src.math.cospif16 |
| # TODO: aarch64 bug |
| # Please see https://github.com/llvm/llvm-project/pull/100632#issuecomment-2258772681 |
| # libc.src.math.expf16 |
| libc.src.math.f16add |
| libc.src.math.f16addf |
| # libc.src.math.f16addl |
| libc.src.math.f16div |
| libc.src.math.f16divf |
| # libc.src.math.f16divl |
| libc.src.math.f16fma |
| libc.src.math.f16fmaf |
| # libc.src.math.f16fmal |
| libc.src.math.f16mul |
| libc.src.math.f16mulf |
| # libc.src.math.f16mull |
| libc.src.math.f16sqrt |
| libc.src.math.f16sqrtf |
| # libc.src.math.f16sqrtl |
| libc.src.math.f16sub |
| libc.src.math.f16subf |
| # libc.src.math.f16subl |
| libc.src.math.fabsf16 |
| libc.src.math.fdimf16 |
| libc.src.math.fdiv |
| libc.src.math.fdivl |
| libc.src.math.ffma |
| libc.src.math.ffmal |
| libc.src.math.floorf16 |
| libc.src.math.fmaxf16 |
| libc.src.math.fmaximum_mag_numf16 |
| libc.src.math.fmaximum_magf16 |
| libc.src.math.fmaximum_numf16 |
| libc.src.math.fmaximumf16 |
| libc.src.math.fminf16 |
| libc.src.math.fminimum_mag_numf16 |
| libc.src.math.fminimum_magf16 |
| libc.src.math.fminimum_numf16 |
| libc.src.math.fminimumf16 |
| # libc.src.math.fmodf16 |
| libc.src.math.frexpf16 |
| libc.src.math.fromfpf16 |
| libc.src.math.fromfpxf16 |
| libc.src.math.getpayloadf16 |
| libc.src.math.ilogbf16 |
| libc.src.math.iscanonicalf16 |
| libc.src.math.issignalingf16 |
| libc.src.math.ldexpf16 |
| libc.src.math.llogbf16 |
| libc.src.math.llrintf16 |
| libc.src.math.llroundf16 |
| libc.src.math.logbf16 |
| libc.src.math.lrintf16 |
| libc.src.math.lroundf16 |
| # libc.src.math.modff16 |
| libc.src.math.nanf16 |
| libc.src.math.nearbyintf16 |
| libc.src.math.nextafterf16 |
| libc.src.math.nextdownf16 |
| # Temporarily disable nexttowardf16 on aarch64 because the conversion |
| # between _Float16 and long double will crash clang-11. This is fixed in |
| # clang-12 and after: https://godbolt.org/z/8ceT9454c |
| # libc.src.math.nexttowardf16 |
| libc.src.math.nextupf16 |
| libc.src.math.remainderf16 |
| libc.src.math.remquof16 |
| libc.src.math.rintf16 |
| libc.src.math.roundevenf16 |
| libc.src.math.roundf16 |
| libc.src.math.scalblnf16 |
| libc.src.math.scalbnf16 |
| libc.src.math.setpayloadf16 |
| libc.src.math.setpayloadsigf16 |
| libc.src.math.sinpif16 |
| libc.src.math.sqrtf16 |
| libc.src.math.totalorderf16 |
| libc.src.math.totalordermagf16 |
| libc.src.math.truncf16 |
| libc.src.math.ufromfpf16 |
| libc.src.math.ufromfpxf16 |
| ) |
| |
| # if(LIBC_TYPES_HAS_FLOAT128) |
| # list(APPEND TARGET_LIBM_ENTRYPOINTS |
| # # math.h C23 mixed _Float16 and _Float128 entrypoints |
| # libc.src.math.f16addf128 |
| # libc.src.math.f16divf128 |
| # libc.src.math.f16fmaf128 |
| # libc.src.math.f16mulf128 |
| # libc.src.math.f16sqrtf128 |
| # libc.src.math.f16subf128 |
| # ) |
| # endif() |
| endif() |
| |
| if(LIBC_TYPES_HAS_FLOAT128) |
| list(APPEND TARGET_LIBM_ENTRYPOINTS |
| # complex.h C23 _Complex _Float128 entrypoints |
| libc.src.complex.crealf128 |
| libc.src.complex.cimagf128 |
| |
| # math.h C23 _Float128 entrypoints |
| libc.src.math.canonicalizef128 |
| libc.src.math.ceilf128 |
| libc.src.math.copysignf128 |
| libc.src.math.daddf128 |
| libc.src.math.ddivf128 |
| libc.src.math.dfmaf128 |
| libc.src.math.dmulf128 |
| libc.src.math.dsqrtf128 |
| libc.src.math.dsubf128 |
| libc.src.math.fabsf128 |
| libc.src.math.faddf128 |
| libc.src.math.fdimf128 |
| libc.src.math.fdivf128 |
| libc.src.math.ffmaf128 |
| libc.src.math.floorf128 |
| libc.src.math.fmaxf128 |
| libc.src.math.fmaximum_mag_numf128 |
| libc.src.math.fmaximum_magf128 |
| libc.src.math.fmaximum_numf128 |
| libc.src.math.fmaximumf128 |
| libc.src.math.fminf128 |
| libc.src.math.fminimum_mag_numf128 |
| libc.src.math.fminimum_magf128 |
| libc.src.math.fminimum_numf128 |
| libc.src.math.fminimumf128 |
| libc.src.math.fmodf128 |
| libc.src.math.fmulf128 |
| libc.src.math.frexpf128 |
| libc.src.math.fromfpf128 |
| libc.src.math.fromfpxf128 |
| libc.src.math.fsqrtf128 |
| libc.src.math.fsubf128 |
| libc.src.math.getpayloadf128 |
| libc.src.math.ilogbf128 |
| libc.src.math.iscanonicalf128 |
| libc.src.math.issignalingf128 |
| libc.src.math.ldexpf128 |
| libc.src.math.llogbf128 |
| libc.src.math.llrintf128 |
| libc.src.math.llroundf128 |
| libc.src.math.logbf128 |
| libc.src.math.lrintf128 |
| libc.src.math.lroundf128 |
| libc.src.math.modff128 |
| libc.src.math.nanf128 |
| libc.src.math.nearbyintf128 |
| libc.src.math.nextafterf128 |
| libc.src.math.nextdownf128 |
| libc.src.math.nextupf128 |
| libc.src.math.remainderf128 |
| libc.src.math.remquof128 |
| libc.src.math.rintf128 |
| libc.src.math.roundevenf128 |
| libc.src.math.roundf128 |
| libc.src.math.scalblnf128 |
| libc.src.math.scalbnf128 |
| libc.src.math.setpayloadf128 |
| libc.src.math.setpayloadsigf128 |
| libc.src.math.sqrtf128 |
| libc.src.math.totalorderf128 |
| libc.src.math.totalordermagf128 |
| libc.src.math.truncf128 |
| libc.src.math.ufromfpf128 |
| libc.src.math.ufromfpxf128 |
| ) |
| endif() |
| |
| if(LLVM_LIBC_FULL_BUILD) |
| list(APPEND TARGET_LIBC_ENTRYPOINTS |
| # assert.h entrypoints |
| libc.src.assert.__assert_fail |
| |
| # compiler entrypoints (no corresponding header) |
| libc.src.compiler.__stack_chk_fail |
| |
| # dirent.h entrypoints |
| libc.src.dirent.closedir |
| libc.src.dirent.dirfd |
| libc.src.dirent.opendir |
| libc.src.dirent.readdir |
| |
| # network.h entrypoints |
| libc.src.network.htonl |
| libc.src.network.htons |
| libc.src.network.ntohl |
| libc.src.network.ntohs |
| |
| # pthread.h entrypoints |
| libc.src.pthread.pthread_atfork |
| libc.src.pthread.pthread_attr_destroy |
| libc.src.pthread.pthread_attr_getdetachstate |
| libc.src.pthread.pthread_attr_getguardsize |
| libc.src.pthread.pthread_attr_getstack |
| libc.src.pthread.pthread_attr_getstacksize |
| libc.src.pthread.pthread_attr_init |
| libc.src.pthread.pthread_attr_setdetachstate |
| libc.src.pthread.pthread_attr_setguardsize |
| libc.src.pthread.pthread_attr_setstack |
| libc.src.pthread.pthread_attr_setstacksize |
| libc.src.pthread.pthread_condattr_destroy |
| libc.src.pthread.pthread_condattr_getclock |
| libc.src.pthread.pthread_condattr_getpshared |
| libc.src.pthread.pthread_condattr_init |
| libc.src.pthread.pthread_condattr_setclock |
| libc.src.pthread.pthread_condattr_setpshared |
| libc.src.pthread.pthread_create |
| libc.src.pthread.pthread_detach |
| libc.src.pthread.pthread_equal |
| libc.src.pthread.pthread_exit |
| libc.src.pthread.pthread_getname_np |
| libc.src.pthread.pthread_getspecific |
| libc.src.pthread.pthread_join |
| libc.src.pthread.pthread_key_create |
| libc.src.pthread.pthread_key_delete |
| libc.src.pthread.pthread_mutex_destroy |
| libc.src.pthread.pthread_mutex_init |
| libc.src.pthread.pthread_mutex_lock |
| libc.src.pthread.pthread_mutex_unlock |
| libc.src.pthread.pthread_mutexattr_destroy |
| libc.src.pthread.pthread_mutexattr_getpshared |
| libc.src.pthread.pthread_mutexattr_getrobust |
| libc.src.pthread.pthread_mutexattr_gettype |
| libc.src.pthread.pthread_mutexattr_init |
| libc.src.pthread.pthread_mutexattr_setpshared |
| libc.src.pthread.pthread_mutexattr_setrobust |
| libc.src.pthread.pthread_mutexattr_settype |
| libc.src.pthread.pthread_once |
| libc.src.pthread.pthread_rwlock_clockrdlock |
| libc.src.pthread.pthread_rwlock_clockwrlock |
| libc.src.pthread.pthread_rwlock_destroy |
| libc.src.pthread.pthread_rwlock_init |
| libc.src.pthread.pthread_rwlock_rdlock |
| libc.src.pthread.pthread_rwlock_timedrdlock |
| libc.src.pthread.pthread_rwlock_timedwrlock |
| libc.src.pthread.pthread_rwlock_tryrdlock |
| libc.src.pthread.pthread_rwlock_trywrlock |
| libc.src.pthread.pthread_rwlock_unlock |
| libc.src.pthread.pthread_rwlock_wrlock |
| libc.src.pthread.pthread_rwlockattr_destroy |
| libc.src.pthread.pthread_rwlockattr_getkind_np |
| libc.src.pthread.pthread_rwlockattr_getpshared |
| libc.src.pthread.pthread_rwlockattr_init |
| libc.src.pthread.pthread_rwlockattr_setkind_np |
| libc.src.pthread.pthread_rwlockattr_setpshared |
| libc.src.pthread.pthread_spin_destroy |
| libc.src.pthread.pthread_spin_init |
| libc.src.pthread.pthread_spin_lock |
| libc.src.pthread.pthread_spin_trylock |
| libc.src.pthread.pthread_spin_unlock |
| libc.src.pthread.pthread_self |
| libc.src.pthread.pthread_setname_np |
| libc.src.pthread.pthread_setspecific |
| |
| # sched.h entrypoints |
| libc.src.sched.__sched_getcpucount |
| |
| # setjmp.h entrypoints |
| libc.src.setjmp.longjmp |
| libc.src.setjmp.setjmp |
| |
| # stdio.h entrypoints |
| libc.src.stdio.clearerr |
| libc.src.stdio.clearerr_unlocked |
| libc.src.stdio.fclose |
| libc.src.stdio.feof |
| libc.src.stdio.feof_unlocked |
| libc.src.stdio.ferror |
| libc.src.stdio.ferror_unlocked |
| libc.src.stdio.fflush |
| libc.src.stdio.fgetc |
| libc.src.stdio.fgetc_unlocked |
| libc.src.stdio.fgets |
| libc.src.stdio.flockfile |
| libc.src.stdio.fopen |
| libc.src.stdio.fopencookie |
| libc.src.stdio.fputc |
| libc.src.stdio.fputs |
| libc.src.stdio.fread |
| libc.src.stdio.fread_unlocked |
| libc.src.stdio.fseek |
| libc.src.stdio.fseeko |
| libc.src.stdio.ftell |
| libc.src.stdio.ftello |
| libc.src.stdio.funlockfile |
| libc.src.stdio.fwrite |
| libc.src.stdio.fwrite_unlocked |
| libc.src.stdio.getc |
| libc.src.stdio.getc_unlocked |
| libc.src.stdio.getchar |
| libc.src.stdio.getchar_unlocked |
| libc.src.stdio.putc |
| libc.src.stdio.putchar |
| libc.src.stdio.puts |
| libc.src.stdio.setbuf |
| libc.src.stdio.setvbuf |
| libc.src.stdio.stderr |
| libc.src.stdio.stdin |
| libc.src.stdio.stdout |
| libc.src.stdio.ungetc |
| |
| # stdlib.h entrypoints |
| libc.src.stdlib._Exit |
| libc.src.stdlib.abort |
| libc.src.stdlib.at_quick_exit |
| libc.src.stdlib.atexit |
| libc.src.stdlib.exit |
| libc.src.stdlib.getenv |
| libc.src.stdlib.quick_exit |
| |
| # signal.h entrypoints |
| libc.src.signal.kill |
| libc.src.signal.raise |
| libc.src.signal.sigaction |
| libc.src.signal.sigaddset |
| libc.src.signal.sigaltstack |
| libc.src.signal.sigdelset |
| libc.src.signal.sigemptyset |
| libc.src.signal.sigfillset |
| libc.src.signal.signal |
| libc.src.signal.sigprocmask |
| |
| # spawn.h entrypoints |
| libc.src.spawn.posix_spawn |
| libc.src.spawn.posix_spawn_file_actions_addclose |
| libc.src.spawn.posix_spawn_file_actions_adddup2 |
| libc.src.spawn.posix_spawn_file_actions_addopen |
| libc.src.spawn.posix_spawn_file_actions_destroy |
| libc.src.spawn.posix_spawn_file_actions_init |
| |
| # search.h entrypoints |
| libc.src.search.hcreate |
| libc.src.search.hcreate_r |
| libc.src.search.hdestroy |
| libc.src.search.hdestroy_r |
| libc.src.search.hsearch |
| libc.src.search.hsearch_r |
| libc.src.search.insque |
| libc.src.search.lfind |
| libc.src.search.remque |
| |
| # threads.h entrypoints |
| libc.src.threads.call_once |
| libc.src.threads.cnd_broadcast |
| libc.src.threads.cnd_destroy |
| libc.src.threads.cnd_init |
| libc.src.threads.cnd_signal |
| libc.src.threads.cnd_wait |
| libc.src.threads.mtx_destroy |
| libc.src.threads.mtx_init |
| libc.src.threads.mtx_lock |
| libc.src.threads.mtx_unlock |
| libc.src.threads.thrd_create |
| libc.src.threads.thrd_current |
| libc.src.threads.thrd_detach |
| libc.src.threads.thrd_equal |
| libc.src.threads.thrd_exit |
| libc.src.threads.thrd_join |
| libc.src.threads.tss_create |
| libc.src.threads.tss_delete |
| libc.src.threads.tss_get |
| libc.src.threads.tss_set |
| |
| # time.h entrypoints |
| libc.src.time.asctime |
| libc.src.time.asctime_r |
| libc.src.time.ctime |
| libc.src.time.ctime_r |
| libc.src.time.clock |
| libc.src.time.clock_gettime |
| libc.src.time.difftime |
| libc.src.time.gettimeofday |
| libc.src.time.gmtime |
| libc.src.time.gmtime_r |
| libc.src.time.mktime |
| libc.src.time.nanosleep |
| libc.src.time.time |
| |
| # unistd.h entrypoints |
| libc.src.unistd.__llvm_libc_syscall |
| libc.src.unistd._exit |
| libc.src.unistd.environ |
| libc.src.unistd.execv |
| libc.src.unistd.fork |
| libc.src.unistd.getopt |
| libc.src.unistd.optarg |
| libc.src.unistd.opterr |
| libc.src.unistd.optind |
| libc.src.unistd.optopt |
| libc.src.unistd.swab |
| |
| # sys/select.h entrypoints |
| libc.src.sys.select.select |
| |
| # sys/socket.h entrypoints |
| libc.src.sys.socket.bind |
| libc.src.sys.socket.socket |
| ) |
| endif() |
| |
| set(TARGET_LLVMLIBC_ENTRYPOINTS |
| ${TARGET_LIBC_ENTRYPOINTS} |
| ${TARGET_LIBM_ENTRYPOINTS} |
| ) |