| 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 |
| |
| # 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.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.strcpy |
| libc.src.string.strcspn |
| 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.strnlen |
| libc.src.string.strpbrk |
| libc.src.string.strrchr |
| libc.src.string.strspn |
| libc.src.string.strstr |
| libc.src.string.strtok |
| libc.src.string.strtok_r |
| |
| # string.h entrypoints that depend on malloc |
| libc.src.string.strdup |
| libc.src.string.strndup |
| |
| # strings.h entrypoints |
| libc.src.strings.bcmp |
| libc.src.strings.bcopy |
| libc.src.strings.bzero |
| 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 |
| |
| # 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.memalignment |
| libc.src.stdlib.qsort |
| libc.src.stdlib.rand |
| libc.src.stdlib.srand |
| 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.free |
| |
| # wctype.h entrypoints |
| libc.src.wctype.iswalpha |
| ) |
| |
| if(LLVM_LIBC_FULL_BUILD) |
| list(APPEND TARGET_LIBC_ENTRYPOINTS |
| # setjmp.h entrypoints |
| libc.src.setjmp.longjmp |
| libc.src.setjmp.setjmp |
| libc.src.setjmp.siglongjmp |
| libc.src.setjmp.sigsetjmp |
| ) |
| 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.acos |
| libc.src.math.acosf |
| libc.src.math.acoshf |
| libc.src.math.asin |
| libc.src.math.asinf |
| libc.src.math.asinhf |
| libc.src.math.atan2 |
| libc.src.math.atan2f |
| libc.src.math.atan |
| 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.exp10m1f |
| 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.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.tanpif |
| 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.acosf16 |
| libc.src.math.acoshf16 |
| libc.src.math.asinf16 |
| libc.src.math.asinhf16 |
| libc.src.math.canonicalizef16 |
| libc.src.math.ceilf16 |
| libc.src.math.copysignf16 |
| libc.src.math.cosf16 |
| libc.src.math.coshf16 |
| libc.src.math.cospif16 |
| libc.src.math.exp10f16 |
| libc.src.math.exp10m1f16 |
| libc.src.math.exp2f16 |
| libc.src.math.exp2m1f16 |
| 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.fmaf16 |
| 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.hypotf16 |
| 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.log10f16 |
| libc.src.math.log2f16 |
| libc.src.math.logbf16 |
| libc.src.math.logf16 |
| 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.sinf16 |
| libc.src.math.sinhf16 |
| libc.src.math.sinpif16 |
| libc.src.math.sqrtf16 |
| libc.src.math.tanf16 |
| libc.src.math.tanhf16 |
| libc.src.math.tanpif16 |
| 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.atan2f128 |
| 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() |
| |
| list(APPEND TARGET_LIBM_ENTRYPOINTS |
| # bfloat16 entrypoints |
| libc.src.math.fabsbf16 |
| ) |
| |
| 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 |
| libc.src.stdfix.hrbits |
| libc.src.stdfix.uhrbits |
| libc.src.stdfix.rbits |
| libc.src.stdfix.urbits |
| libc.src.stdfix.lrbits |
| libc.src.stdfix.ulrbits |
| libc.src.stdfix.hkbits |
| libc.src.stdfix.uhkbits |
| libc.src.stdfix.kbits |
| libc.src.stdfix.ukbits |
| libc.src.stdfix.lkbits |
| libc.src.stdfix.ulkbits |
| libc.src.stdfix.bitshr |
| libc.src.stdfix.bitsr |
| libc.src.stdfix.bitslr |
| libc.src.stdfix.bitshk |
| libc.src.stdfix.bitsk |
| libc.src.stdfix.bitslk |
| libc.src.stdfix.bitsuhr |
| libc.src.stdfix.bitsur |
| libc.src.stdfix.bitsulr |
| libc.src.stdfix.bitsuhk |
| libc.src.stdfix.bitsuk |
| libc.src.stdfix.bitsulk |
| libc.src.stdfix.countlshr |
| libc.src.stdfix.countlsr |
| libc.src.stdfix.countlslr |
| libc.src.stdfix.countlshk |
| libc.src.stdfix.countlsk |
| libc.src.stdfix.countlslk |
| libc.src.stdfix.countlsuhr |
| libc.src.stdfix.countlsur |
| libc.src.stdfix.countlsulr |
| libc.src.stdfix.countlsuhk |
| libc.src.stdfix.countlsuk |
| libc.src.stdfix.countlsulk |
| ) |
| endif() |
| |
| set(TARGET_LLVMLIBC_ENTRYPOINTS |
| ${TARGET_LIBC_ENTRYPOINTS} |
| ${TARGET_LIBM_ENTRYPOINTS} |
| ) |