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

    # errno.h entrypoints
    libc.src.errno.errno

    # fcntl.h entrypoints
    libc.src.fcntl.creat
    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_leading_zeros_uc
    libc.src.stdbit.stdc_leading_zeros_us
    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_ones_uc
    libc.src.stdbit.stdc_leading_ones_us
    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_trailing_zeros_uc
    libc.src.stdbit.stdc_trailing_zeros_us
    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_ones_uc
    libc.src.stdbit.stdc_trailing_ones_us
    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_first_leading_zero_uc
    libc.src.stdbit.stdc_first_leading_zero_us
    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_one_uc
    libc.src.stdbit.stdc_first_leading_one_us
    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_trailing_zero_uc
    libc.src.stdbit.stdc_first_trailing_zero_us
    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_one_uc
    libc.src.stdbit.stdc_first_trailing_one_us
    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_count_zeros_uc
    libc.src.stdbit.stdc_count_zeros_us
    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_ones_uc
    libc.src.stdbit.stdc_count_ones_us
    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_has_single_bit_uc
    libc.src.stdbit.stdc_has_single_bit_us
    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_bit_width_uc
    libc.src.stdbit.stdc_bit_width_us
    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_floor_uc
    libc.src.stdbit.stdc_bit_floor_us
    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_ceil_uc
    libc.src.stdbit.stdc_bit_ceil_us
    libc.src.stdbit.stdc_bit_ceil_ui
    libc.src.stdbit.stdc_bit_ceil_ul
    libc.src.stdbit.stdc_bit_ceil_ull

    # stdlib.h entrypoints
    libc.src.stdlib.abs
    libc.src.stdlib.atoi
    libc.src.stdlib.atof
    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.malloc
    libc.src.stdlib.calloc
    libc.src.stdlib.realloc
    libc.src.stdlib.aligned_alloc
    libc.src.stdlib.free

    # stdio.h entrypoints
    libc.src.stdio.remove
    libc.src.stdio.rename
    libc.src.stdio.sprintf
    libc.src.stdio.snprintf
    libc.src.stdio.fprintf
    libc.src.stdio.printf
    libc.src.stdio.vsprintf
    libc.src.stdio.vsnprintf
    libc.src.stdio.vfprintf
    libc.src.stdio.vprintf
    libc.src.stdio.sscanf
    libc.src.stdio.scanf
    libc.src.stdio.fscanf
    libc.src.stdio.fileno

    # 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_wait
    libc.src.sys.epoll.epoll_pwait
    # 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.mmap
    libc.src.sys.mman.mprotect
    libc.src.sys.mman.munmap
    libc.src.sys.mman.posix_madvise
    libc.src.sys.mman.mincore
    libc.src.sys.mman.mlock
    libc.src.sys.mman.mlock2
    libc.src.sys.mman.munlock
    libc.src.sys.mman.mlockall
    libc.src.sys.mman.munlockall
    libc.src.sys.mman.msync
    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.statvfs
    libc.src.sys.statvfs.fstatvfs

    # 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.tcgetattr
    libc.src.termios.tcgetsid
    libc.src.termios.tcdrain
    libc.src.termios.tcflow
    libc.src.termios.tcflush
    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.fsync
    libc.src.unistd.ftruncate
    libc.src.unistd.getcwd
    libc.src.unistd.geteuid
    libc.src.unistd.getpid
    libc.src.unistd.getppid
    libc.src.unistd.getuid
    libc.src.unistd.isatty
    libc.src.unistd.link
    libc.src.unistd.linkat
    libc.src.unistd.lseek
    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.fesetenv
    libc.src.fenv.fesetexcept
    libc.src.fenv.fesetexceptflag
    libc.src.fenv.fesetround
    libc.src.fenv.feraiseexcept
    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.atan2f
    libc.src.math.atanf
    libc.src.math.atanhf
    libc.src.math.canonicalize
    libc.src.math.canonicalizef
    libc.src.math.canonicalizel
    libc.src.math.copysign
    libc.src.math.copysignf
    libc.src.math.copysignl
    libc.src.math.ceil
    libc.src.math.ceilf
    libc.src.math.ceill
    libc.src.math.cos
    libc.src.math.coshf
    libc.src.math.cosf
    libc.src.math.erff
    libc.src.math.exp
    libc.src.math.expf
    libc.src.math.exp10
    libc.src.math.exp10f
    libc.src.math.exp2
    libc.src.math.exp2f
    libc.src.math.exp2m1f
    libc.src.math.expm1
    libc.src.math.expm1f
    libc.src.math.fabs
    libc.src.math.fabsf
    libc.src.math.fabsl
    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.fmin
    libc.src.math.fminf
    libc.src.math.fminl
    libc.src.math.fmax
    libc.src.math.fmaxf
    libc.src.math.fmaxl
    libc.src.math.fmaximum
    libc.src.math.fmaximumf
    libc.src.math.fmaximuml
    libc.src.math.fmaximum_num
    libc.src.math.fmaximum_numf
    libc.src.math.fmaximum_numl
    libc.src.math.fmaximum_mag
    libc.src.math.fmaximum_magf
    libc.src.math.fmaximum_magl
    libc.src.math.fmaximum_mag_num
    libc.src.math.fmaximum_mag_numf
    libc.src.math.fmaximum_mag_numl
    libc.src.math.fminimum
    libc.src.math.fminimumf
    libc.src.math.fminimuml
    libc.src.math.fminimum_num
    libc.src.math.fminimum_numf
    libc.src.math.fminimum_numl
    libc.src.math.fminimum_mag
    libc.src.math.fminimum_magf
    libc.src.math.fminimum_magl
    libc.src.math.fminimum_mag_num
    libc.src.math.fminimum_mag_numf
    libc.src.math.fminimum_mag_numl
    libc.src.math.fmod
    libc.src.math.fmodf
    libc.src.math.fmodl
    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.hypot
    libc.src.math.hypotf
    libc.src.math.ilogb
    libc.src.math.ilogbf
    libc.src.math.ilogbl
    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.log10
    libc.src.math.log10f
    libc.src.math.log1p
    libc.src.math.log1pf
    libc.src.math.log2
    libc.src.math.log2f
    libc.src.math.log
    libc.src.math.logf
    libc.src.math.logb
    libc.src.math.logbf
    libc.src.math.logbl
    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.powf
    libc.src.math.remainderf
    libc.src.math.remainder
    libc.src.math.remainderl
    libc.src.math.remquof
    libc.src.math.remquo
    libc.src.math.remquol
    libc.src.math.rint
    libc.src.math.rintf
    libc.src.math.rintl
    libc.src.math.round
    libc.src.math.roundf
    libc.src.math.roundl
    libc.src.math.roundeven
    libc.src.math.roundevenf
    libc.src.math.roundevenl
    libc.src.math.scalbn
    libc.src.math.scalbnf
    libc.src.math.scalbnl
    libc.src.math.sin
    libc.src.math.sincosf
    libc.src.math.sinhf
    libc.src.math.sinf
    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.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_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.fabsf128
    libc.src.math.fdimf128
    libc.src.math.floorf128
    libc.src.math.fmaxf128
    libc.src.math.fminf128
    libc.src.math.fmaximumf128
    libc.src.math.fmaximum_numf128
    libc.src.math.fmaximum_magf128
    libc.src.math.fmaximum_mag_numf128
    libc.src.math.fminimumf128
    libc.src.math.fminimum_numf128
    libc.src.math.fminimum_magf128
    libc.src.math.fminimum_mag_numf128
    libc.src.math.fmodf128
    libc.src.math.frexpf128
    libc.src.math.fromfpf128
    libc.src.math.fromfpxf128
    libc.src.math.ilogbf128
    libc.src.math.ldexpf128
    libc.src.math.llogbf128
    libc.src.math.logbf128
    libc.src.math.llrintf128
    libc.src.math.llroundf128
    libc.src.math.lrintf128
    libc.src.math.lroundf128
    libc.src.math.modff128
    libc.src.math.nanf128
    libc.src.math.nextafterf128
    libc.src.math.nextdownf128
    libc.src.math.nextupf128
    libc.src.math.rintf128
    libc.src.math.roundevenf128
    libc.src.math.roundf128
    libc.src.math.sqrtf128
    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.absr
    libc.src.stdfix.abslk
    libc.src.stdfix.abslr
    libc.src.stdfix.exphk
    libc.src.stdfix.expk
    libc.src.stdfix.roundhk
    libc.src.stdfix.roundhr
    libc.src.stdfix.roundk
    libc.src.stdfix.roundr
    libc.src.stdfix.roundlk
    libc.src.stdfix.roundlr
    libc.src.stdfix.rounduhk
    libc.src.stdfix.rounduhr
    libc.src.stdfix.rounduk
    libc.src.stdfix.roundur
    libc.src.stdfix.roundulk
    libc.src.stdfix.roundulr
    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
    # 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_init
    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_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_self
    libc.src.pthread.pthread_setname_np
    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_init
    libc.src.pthread.pthread_mutexattr_getpshared
    libc.src.pthread.pthread_mutexattr_getrobust
    libc.src.pthread.pthread_mutexattr_gettype
    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_rwlockattr_destroy
    libc.src.pthread.pthread_rwlockattr_getpshared
    libc.src.pthread.pthread_rwlockattr_init
    libc.src.pthread.pthread_rwlockattr_setpshared
    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.flockfile
    libc.src.stdio.feof
    libc.src.stdio.feof_unlocked
    libc.src.stdio.ferror
    libc.src.stdio.ferror_unlocked
    libc.src.stdio.fgetc
    libc.src.stdio.fgetc_unlocked
    libc.src.stdio.fgets
    libc.src.stdio.fflush
    libc.src.stdio.fopen
    libc.src.stdio.fputc
    libc.src.stdio.fputs
    libc.src.stdio.fopencookie
    libc.src.stdio.fread
    libc.src.stdio.fread_unlocked
    libc.src.stdio.fseek
    libc.src.stdio.ftell
    libc.src.stdio.fseeko
    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.atexit
    libc.src.stdlib.exit
    libc.src.stdlib.getenv

    # signal.h entrypoints
    libc.src.signal.raise
    libc.src.signal.kill
    libc.src.signal.sigaction
    libc.src.signal.sigaltstack
    libc.src.signal.sigdelset
    libc.src.signal.sigaddset
    libc.src.signal.sigemptyset
    libc.src.signal.sigprocmask
    libc.src.signal.sigfillset
    libc.src.signal.signal

    # 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.hsearch
    libc.src.search.hsearch_r
    libc.src.search.hdestroy
    libc.src.search.hdestroy_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_gettime
    libc.src.time.clock
    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._exit
    libc.src.unistd.environ
    libc.src.unistd.execv
    libc.src.unistd.fork
    libc.src.unistd.__llvm_libc_syscall
    libc.src.unistd.getopt
    libc.src.unistd.optarg
    libc.src.unistd.optind
    libc.src.unistd.optopt
    libc.src.unistd.opterr
    libc.src.unistd.swab

    # sys/select.h entrypoints
    libc.src.sys.select.select

    # sys/socket.h entrypoints
    libc.src.sys.socket.socket
    libc.src.sys.socket.bind
  )
endif()

set(TARGET_LLVMLIBC_ENTRYPOINTS
  ${TARGET_LIBC_ENTRYPOINTS}
  ${TARGET_LIBM_ENTRYPOINTS}
)
