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.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.stpcpy libc.src.string.stpncpy 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.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 # strings.h entrypoints libc.src.strings.bcmp libc.src.strings.bcopy libc.src.strings.bzero libc.src.strings.index libc.src.strings.rindex libc.src.strings.strcasecmp libc.src.strings.strncasecmp # 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.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.getentropy 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 # sys/uio.h entrypoints libc.src.sys.uio.writev ) 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 libc.src.complex.conj libc.src.complex.conjf libc.src.complex.conjl libc.src.complex.cproj libc.src.complex.cprojf libc.src.complex.cprojl # 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_CFLOAT16) list(APPEND TARGET_LIBM_ENTRYPOINTS # complex.h C23 _Complex _Float16 entrypoints libc.src.complex.crealf16 libc.src.complex.cimagf16 libc.src.complex.conjf16 libc.src.complex.cprojf16 ) endif() if(LIBC_TYPES_HAS_FLOAT16) list(APPEND TARGET_LIBM_ENTRYPOINTS # 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_CFLOAT128) list(APPEND TARGET_LIBM_ENTRYPOINTS # complex.h C23 _Complex _Float128 entrypoints libc.src.complex.crealf128 libc.src.complex.cimagf128 libc.src.complex.conjf128 libc.src.complex.cprojf128 ) endif() if(LIBC_TYPES_HAS_FLOAT128) list(APPEND TARGET_LIBM_ENTRYPOINTS # 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 # arpa/inet.h entrypoints libc.src.arpa.inet.htonl libc.src.arpa.inet.htons libc.src.arpa.inet.ntohl libc.src.arpa.inet.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 libc.src.time.timespec_get # 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} )