diff --git a/libc/config/baremetal/aarch64/entrypoints.txt b/libc/config/baremetal/aarch64/entrypoints.txt index 9e9de9ed1569d..a8e653fdd5159 100644 --- a/libc/config/baremetal/aarch64/entrypoints.txt +++ b/libc/config/baremetal/aarch64/entrypoints.txt @@ -2,6 +2,9 @@ set(TARGET_LIBC_ENTRYPOINTS # assert.h entrypoints libc.src.assert.__assert_fail + # compiler entrypoints (no corresponding header) + libc.src.compiler.__stack_chk_fail + # ctype.h entrypoints libc.src.ctype.isalnum libc.src.ctype.isalpha @@ -36,22 +39,6 @@ set(TARGET_LIBC_ENTRYPOINTS 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 - - # compiler entrypoints (no corresponding header) - libc.src.compiler.__stack_chk_fail - # errno.h entrypoints libc.src.errno.errno @@ -89,6 +76,7 @@ set(TARGET_LIBC_ENTRYPOINTS 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 @@ -97,6 +85,7 @@ set(TARGET_LIBC_ENTRYPOINTS 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 @@ -107,15 +96,26 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.string.strtok_r libc.src.string.strxfrm + # string.h entrypoints + libc.src.string.strcoll_l + libc.src.string.strxfrm_l + # strings.h entrypoints libc.src.strings.bcmp libc.src.strings.bcopy libc.src.strings.bzero + libc.src.strings.ffs + libc.src.strings.ffsl + libc.src.strings.ffsll libc.src.strings.index libc.src.strings.rindex libc.src.strings.strcasecmp libc.src.strings.strncasecmp + # strings.h entrypoints + libc.src.strings.strcasecmp_l + libc.src.strings.strncasecmp_l + # inttypes.h entrypoints libc.src.inttypes.imaxabs libc.src.inttypes.imaxdiv @@ -214,6 +214,7 @@ set(TARGET_LIBC_ENTRYPOINTS # stdlib.h entrypoints libc.src.stdlib._Exit + libc.src.stdlib.a64l libc.src.stdlib.abort libc.src.stdlib.abs libc.src.stdlib.aligned_alloc @@ -226,6 +227,7 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.stdlib.div libc.src.stdlib.exit libc.src.stdlib.free + libc.src.stdlib.l64a libc.src.stdlib.labs libc.src.stdlib.ldiv libc.src.stdlib.llabs @@ -233,9 +235,13 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.stdlib.malloc libc.src.stdlib.memalignment libc.src.stdlib.qsort + libc.src.stdlib.qsort_r libc.src.stdlib.rand libc.src.stdlib.realloc 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 @@ -244,6 +250,15 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.stdlib.strtoul libc.src.stdlib.strtoull + # 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 + # time.h entrypoints libc.src.time.asctime libc.src.time.asctime_r @@ -257,12 +272,31 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.time.strftime_l libc.src.time.timespec_get + # wchar.h entrypoints + libc.src.wchar.btowc + libc.src.wchar.wcslen + libc.src.wchar.wctob + # internal entrypoints libc.startup.baremetal.init libc.startup.baremetal.fini ) 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 @@ -288,6 +322,8 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.asinhf libc.src.math.atan2 libc.src.math.atan2f + # libc.src.math.atan2l + libc.src.math.atan libc.src.math.atanf libc.src.math.atanhf libc.src.math.canonicalize @@ -304,10 +340,18 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -317,9 +361,16 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -359,6 +410,7 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -368,14 +420,27 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -449,17 +514,30 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -471,6 +549,210 @@ set(TARGET_LIBM_ENTRYPOINTS 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() + if(LIBC_COMPILER_HAS_FIXED_POINT) list(APPEND TARGET_LIBM_ENTRYPOINTS # stdfix.h _Fract and _Accum entrypoints @@ -514,6 +796,30 @@ if(LIBC_COMPILER_HAS_FIXED_POINT) 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() diff --git a/libc/config/baremetal/aarch64/headers.txt b/libc/config/baremetal/aarch64/headers.txt index c85533772f455..5666ef7e0012d 100644 --- a/libc/config/baremetal/aarch64/headers.txt +++ b/libc/config/baremetal/aarch64/headers.txt @@ -1,14 +1,18 @@ set(TARGET_PUBLIC_HEADERS libc.include.assert + libc.include.complex libc.include.ctype libc.include.errno libc.include.features libc.include.fenv libc.include.float libc.include.inttypes + libc.include.limits libc.include.locale libc.include.math libc.include.setjmp + libc.include.stdbit + libc.include.stdckdint libc.include.stdfix libc.include.stdint libc.include.stdio @@ -18,4 +22,5 @@ set(TARGET_PUBLIC_HEADERS libc.include.sys_queue libc.include.time libc.include.uchar + libc.include.wchar ) diff --git a/libc/config/baremetal/arm/entrypoints.txt b/libc/config/baremetal/arm/entrypoints.txt index 511d9d22f1450..835ed023fc1dc 100644 --- a/libc/config/baremetal/arm/entrypoints.txt +++ b/libc/config/baremetal/arm/entrypoints.txt @@ -2,6 +2,9 @@ set(TARGET_LIBC_ENTRYPOINTS # assert.h entrypoints libc.src.assert.__assert_fail + # compiler entrypoints (no corresponding header) + libc.src.compiler.__stack_chk_fail + # ctype.h entrypoints libc.src.ctype.isalnum libc.src.ctype.isalpha @@ -36,22 +39,6 @@ set(TARGET_LIBC_ENTRYPOINTS 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 - - # compiler entrypoints (no corresponding header) - libc.src.compiler.__stack_chk_fail - # errno.h entrypoints libc.src.errno.errno @@ -89,6 +76,7 @@ set(TARGET_LIBC_ENTRYPOINTS 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 @@ -97,6 +85,7 @@ set(TARGET_LIBC_ENTRYPOINTS 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 @@ -107,15 +96,26 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.string.strtok_r libc.src.string.strxfrm + # string.h entrypoints + libc.src.string.strcoll_l + libc.src.string.strxfrm_l + # strings.h entrypoints libc.src.strings.bcmp libc.src.strings.bcopy libc.src.strings.bzero + libc.src.strings.ffs + libc.src.strings.ffsl + libc.src.strings.ffsll libc.src.strings.index libc.src.strings.rindex libc.src.strings.strcasecmp libc.src.strings.strncasecmp + # strings.h entrypoints + libc.src.strings.strcasecmp_l + libc.src.strings.strncasecmp_l + # inttypes.h entrypoints libc.src.inttypes.imaxabs libc.src.inttypes.imaxdiv @@ -214,6 +214,7 @@ set(TARGET_LIBC_ENTRYPOINTS # stdlib.h entrypoints libc.src.stdlib._Exit + libc.src.stdlib.a64l libc.src.stdlib.abort libc.src.stdlib.abs libc.src.stdlib.aligned_alloc @@ -226,15 +227,21 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.stdlib.div libc.src.stdlib.exit libc.src.stdlib.free + libc.src.stdlib.l64a libc.src.stdlib.labs libc.src.stdlib.ldiv libc.src.stdlib.llabs libc.src.stdlib.lldiv libc.src.stdlib.malloc + libc.src.stdlib.memalignment libc.src.stdlib.qsort + libc.src.stdlib.qsort_r libc.src.stdlib.rand libc.src.stdlib.realloc 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 @@ -243,6 +250,15 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.stdlib.strtoul libc.src.stdlib.strtoull + # 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 + # time.h entrypoints libc.src.time.asctime libc.src.time.asctime_r @@ -256,12 +272,31 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.time.strftime_l libc.src.time.timespec_get + # wchar.h entrypoints + libc.src.wchar.btowc + libc.src.wchar.wcslen + libc.src.wchar.wctob + # internal entrypoints libc.startup.baremetal.init libc.startup.baremetal.fini ) 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 @@ -287,6 +322,8 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.asinhf libc.src.math.atan2 libc.src.math.atan2f + libc.src.math.atan2l + libc.src.math.atan libc.src.math.atanf libc.src.math.atanhf libc.src.math.canonicalize @@ -303,10 +340,18 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -316,9 +361,16 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -358,6 +410,7 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -367,14 +420,27 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -448,17 +514,30 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -470,6 +549,210 @@ set(TARGET_LIBM_ENTRYPOINTS 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() + if(LIBC_COMPILER_HAS_FIXED_POINT) list(APPEND TARGET_LIBM_ENTRYPOINTS # stdfix.h _Fract and _Accum entrypoints diff --git a/libc/config/baremetal/arm/headers.txt b/libc/config/baremetal/arm/headers.txt index c85533772f455..5666ef7e0012d 100644 --- a/libc/config/baremetal/arm/headers.txt +++ b/libc/config/baremetal/arm/headers.txt @@ -1,14 +1,18 @@ set(TARGET_PUBLIC_HEADERS libc.include.assert + libc.include.complex libc.include.ctype libc.include.errno libc.include.features libc.include.fenv libc.include.float libc.include.inttypes + libc.include.limits libc.include.locale libc.include.math libc.include.setjmp + libc.include.stdbit + libc.include.stdckdint libc.include.stdfix libc.include.stdint libc.include.stdio @@ -18,4 +22,5 @@ set(TARGET_PUBLIC_HEADERS libc.include.sys_queue libc.include.time libc.include.uchar + libc.include.wchar ) diff --git a/libc/config/baremetal/riscv/entrypoints.txt b/libc/config/baremetal/riscv/entrypoints.txt index bbefb75ee16b5..f224e1ea336c5 100644 --- a/libc/config/baremetal/riscv/entrypoints.txt +++ b/libc/config/baremetal/riscv/entrypoints.txt @@ -2,6 +2,9 @@ set(TARGET_LIBC_ENTRYPOINTS # assert.h entrypoints libc.src.assert.__assert_fail + # compiler entrypoints (no corresponding header) + libc.src.compiler.__stack_chk_fail + # ctype.h entrypoints libc.src.ctype.isalnum libc.src.ctype.isalpha @@ -36,22 +39,6 @@ set(TARGET_LIBC_ENTRYPOINTS 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 - - # compiler entrypoints (no corresponding header) - libc.src.compiler.__stack_chk_fail - # errno.h entrypoints libc.src.errno.errno @@ -64,6 +51,10 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.locale.setlocale libc.src.locale.uselocale + # setjmp.h entrypoints + # libc.src.setjmp.longjmp + # libc.src.setjmp.setjmp + # string.h entrypoints libc.src.string.memccpy libc.src.string.memchr @@ -85,6 +76,7 @@ set(TARGET_LIBC_ENTRYPOINTS 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 @@ -93,6 +85,7 @@ set(TARGET_LIBC_ENTRYPOINTS 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 @@ -103,15 +96,26 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.string.strtok_r libc.src.string.strxfrm + # string.h entrypoints + libc.src.string.strcoll_l + libc.src.string.strxfrm_l + # strings.h entrypoints libc.src.strings.bcmp libc.src.strings.bcopy libc.src.strings.bzero + libc.src.strings.ffs + libc.src.strings.ffsl + libc.src.strings.ffsll libc.src.strings.index libc.src.strings.rindex libc.src.strings.strcasecmp libc.src.strings.strncasecmp + # strings.h entrypoints + libc.src.strings.strcasecmp_l + libc.src.strings.strncasecmp_l + # inttypes.h entrypoints libc.src.inttypes.imaxabs libc.src.inttypes.imaxdiv @@ -210,6 +214,7 @@ set(TARGET_LIBC_ENTRYPOINTS # stdlib.h entrypoints libc.src.stdlib._Exit + libc.src.stdlib.a64l libc.src.stdlib.abort libc.src.stdlib.abs libc.src.stdlib.aligned_alloc @@ -222,15 +227,21 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.stdlib.div libc.src.stdlib.exit libc.src.stdlib.free + libc.src.stdlib.l64a libc.src.stdlib.labs libc.src.stdlib.ldiv libc.src.stdlib.llabs libc.src.stdlib.lldiv libc.src.stdlib.malloc + libc.src.stdlib.memalignment libc.src.stdlib.qsort + libc.src.stdlib.qsort_r libc.src.stdlib.rand libc.src.stdlib.realloc 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 @@ -239,6 +250,15 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.stdlib.strtoul libc.src.stdlib.strtoull + # 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 + # time.h entrypoints libc.src.time.asctime libc.src.time.asctime_r @@ -252,12 +272,31 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.time.strftime_l libc.src.time.timespec_get + # wchar.h entrypoints + libc.src.wchar.btowc + libc.src.wchar.wcslen + libc.src.wchar.wctob + # internal entrypoints libc.startup.baremetal.init libc.startup.baremetal.fini ) 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 @@ -283,6 +322,8 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.asinhf libc.src.math.atan2 libc.src.math.atan2f + # libc.src.math.atan2l + libc.src.math.atan libc.src.math.atanf libc.src.math.atanhf libc.src.math.canonicalize @@ -299,10 +340,18 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -312,9 +361,16 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -352,7 +408,9 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -362,14 +420,27 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -443,17 +514,30 @@ set(TARGET_LIBM_ENTRYPOINTS 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 @@ -465,6 +549,210 @@ set(TARGET_LIBM_ENTRYPOINTS 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() + if(LIBC_COMPILER_HAS_FIXED_POINT) list(APPEND TARGET_LIBM_ENTRYPOINTS # stdfix.h _Fract and _Accum entrypoints @@ -514,7 +802,7 @@ if(LIBC_COMPILER_HAS_FIXED_POINT) libc.src.stdfix.bitshk libc.src.stdfix.bitsk libc.src.stdfix.bitslk - libc.src.stdfix.bitshr + libc.src.stdfix.bitsuhr libc.src.stdfix.bitsur libc.src.stdfix.bitsulr libc.src.stdfix.bitsuhk diff --git a/libc/config/baremetal/riscv/headers.txt b/libc/config/baremetal/riscv/headers.txt index bd0dcd4fbbc5c..5666ef7e0012d 100644 --- a/libc/config/baremetal/riscv/headers.txt +++ b/libc/config/baremetal/riscv/headers.txt @@ -1,13 +1,18 @@ set(TARGET_PUBLIC_HEADERS libc.include.assert + libc.include.complex libc.include.ctype libc.include.errno libc.include.features libc.include.fenv libc.include.float libc.include.inttypes + libc.include.limits libc.include.locale libc.include.math + libc.include.setjmp + libc.include.stdbit + libc.include.stdckdint libc.include.stdfix libc.include.stdint libc.include.stdio @@ -17,4 +22,5 @@ set(TARGET_PUBLIC_HEADERS libc.include.sys_queue libc.include.time libc.include.uchar + libc.include.wchar )