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
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.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.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.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
)
set(TARGET_LIBM_ENTRYPOINTS
# 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.dfmal
libc.src.math.dmull
libc.src.math.dsqrtl
libc.src.math.daddl
libc.src.math.ddivl
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.fdiv
libc.src.math.fdivl
libc.src.math.ffma
libc.src.math.ffmal
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.isnan
libc.src.math.isnanf
libc.src.math.isnanl
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
# math.h C23 _Float16 entrypoints
libc.src.math.canonicalizef16
libc.src.math.ceilf16
libc.src.math.copysignf16
libc.src.math.exp10f16
libc.src.math.exp2f16
libc.src.math.expf16
libc.src.math.expm1f16
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.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.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
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.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
# 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.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(LIBC_COMPILER_HAS_FIXED_POINT)
list(APPEND TARGET_LIBM_ENTRYPOINTS
# stdfix.h _Fract and _Accum entrypoints
libc.src.stdfix.abshk
libc.src.stdfix.abshr
libc.src.stdfix.absk
libc.src.stdfix.abslk
libc.src.stdfix.abslr
libc.src.stdfix.absr
libc.src.stdfix.exphk
libc.src.stdfix.expk
libc.src.stdfix.roundhk
libc.src.stdfix.roundhr
libc.src.stdfix.roundk
libc.src.stdfix.roundlk
libc.src.stdfix.roundlr
libc.src.stdfix.roundr
libc.src.stdfix.rounduhk
libc.src.stdfix.rounduhr
libc.src.stdfix.rounduk
libc.src.stdfix.roundulk
libc.src.stdfix.roundulr
libc.src.stdfix.roundur
libc.src.stdfix.sqrtuhk
libc.src.stdfix.sqrtuhr
libc.src.stdfix.sqrtuk
libc.src.stdfix.sqrtur
# libc.src.stdfix.sqrtulk
libc.src.stdfix.sqrtulr
libc.src.stdfix.uhksqrtus
libc.src.stdfix.uksqrtui
)
endif()
if(LLVM_LIBC_FULL_BUILD)
list(APPEND TARGET_LIBC_ENTRYPOINTS
# ctype.h entrypoints
libc.src.ctype.isalnum_l
libc.src.ctype.isalpha_l
libc.src.ctype.isblank_l
libc.src.ctype.iscntrl_l
libc.src.ctype.isdigit_l
libc.src.ctype.isgraph_l
libc.src.ctype.islower_l
libc.src.ctype.isprint_l
libc.src.ctype.ispunct_l
libc.src.ctype.isspace_l
libc.src.ctype.isupper_l
libc.src.ctype.isxdigit_l
libc.src.ctype.tolower_l
libc.src.ctype.toupper_l
# stdlib.h entrypoints
libc.src.stdlib.strtod_l
libc.src.stdlib.strtof_l
libc.src.stdlib.strtol_l
libc.src.stdlib.strtold_l
libc.src.stdlib.strtoll_l
libc.src.stdlib.strtoul_l
libc.src.stdlib.strtoull_l
# string.h entrypoints
libc.src.string.strcoll_l
libc.src.string.strxfrm_l
# 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_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.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.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
# locale.h entrypoints
libc.src.locale.localeconv
libc.src.locale.duplocale
libc.src.locale.freelocale
libc.src.locale.localeconv
libc.src.locale.newlocale
libc.src.locale.setlocale
libc.src.locale.uselocale
# 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}
)