set(TARGET_LIBC_ENTRYPOINTS # assert.h entrypoints libc.src.assert.__assert_fail # ctype.h entrypoints libc.src.ctype.isalnum libc.src.ctype.isalnum_l libc.src.ctype.isalpha libc.src.ctype.isalpha_l libc.src.ctype.isascii libc.src.ctype.isblank libc.src.ctype.isblank_l libc.src.ctype.iscntrl libc.src.ctype.iscntrl_l libc.src.ctype.isdigit libc.src.ctype.isdigit_l libc.src.ctype.isgraph libc.src.ctype.isgraph_l libc.src.ctype.islower libc.src.ctype.islower_l libc.src.ctype.isprint libc.src.ctype.isprint_l libc.src.ctype.ispunct libc.src.ctype.ispunct_l libc.src.ctype.isspace libc.src.ctype.isspace_l libc.src.ctype.isupper libc.src.ctype.isupper_l libc.src.ctype.isxdigit libc.src.ctype.isxdigit_l libc.src.ctype.toascii libc.src.ctype.tolower libc.src.ctype.tolower_l libc.src.ctype.toupper libc.src.ctype.toupper_l # 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.strcoll libc.src.string.strcoll_l libc.src.string.strcpy libc.src.string.strcspn libc.src.string.strdup libc.src.string.strerror libc.src.string.strlcat libc.src.string.strlcpy libc.src.string.strlen libc.src.string.strncat libc.src.string.strncmp libc.src.string.strncpy libc.src.string.strndup libc.src.string.strnlen libc.src.string.strpbrk libc.src.string.strrchr libc.src.string.strsep libc.src.string.strspn libc.src.string.strstr libc.src.string.strtok libc.src.string.strtok_r libc.src.string.strxfrm libc.src.string.strxfrm_l # strings.h entrypoints libc.src.strings.bcmp libc.src.strings.bcopy libc.src.strings.bzero libc.src.strings.index libc.src.strings.rindex libc.src.strings.strcasecmp libc.src.strings.strncasecmp # 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._Exit libc.src.stdlib.abort libc.src.stdlib.abs libc.src.stdlib.atexit 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.exit 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.strtod libc.src.stdlib.strtod_l libc.src.stdlib.strtof libc.src.stdlib.strtof_l libc.src.stdlib.strtol libc.src.stdlib.strtol_l libc.src.stdlib.strtold libc.src.stdlib.strtold_l libc.src.stdlib.strtoll libc.src.stdlib.strtoll_l libc.src.stdlib.strtoul libc.src.stdlib.strtoul_l libc.src.stdlib.strtoull libc.src.stdlib.strtoull_l libc.src.stdlib.at_quick_exit libc.src.stdlib.quick_exit libc.src.stdlib.getenv libc.src.stdlib.system # TODO: Implement these correctly libc.src.stdlib.aligned_alloc libc.src.stdlib.calloc libc.src.stdlib.free libc.src.stdlib.malloc libc.src.stdlib.realloc # errno.h entrypoints libc.src.errno.errno # stdio.h entrypoints libc.src.stdio.clearerr libc.src.stdio.fclose libc.src.stdio.printf libc.src.stdio.vprintf libc.src.stdio.fprintf libc.src.stdio.vfprintf libc.src.stdio.snprintf libc.src.stdio.sprintf libc.src.stdio.vsnprintf libc.src.stdio.vsprintf libc.src.stdio.asprintf libc.src.stdio.vasprintf libc.src.stdio.scanf libc.src.stdio.vscanf libc.src.stdio.fscanf libc.src.stdio.vfscanf libc.src.stdio.sscanf libc.src.stdio.vsscanf libc.src.stdio.feof libc.src.stdio.ferror libc.src.stdio.fflush libc.src.stdio.fgetc libc.src.stdio.fgets libc.src.stdio.fopen libc.src.stdio.fputc libc.src.stdio.fputs libc.src.stdio.fread libc.src.stdio.fseek libc.src.stdio.ftell libc.src.stdio.fwrite libc.src.stdio.getc libc.src.stdio.getchar libc.src.stdio.putc libc.src.stdio.putchar libc.src.stdio.puts libc.src.stdio.remove libc.src.stdio.rename libc.src.stdio.stderr libc.src.stdio.stdin libc.src.stdio.stdout libc.src.stdio.ungetc # inttypes.h entrypoints libc.src.inttypes.imaxabs libc.src.inttypes.imaxdiv libc.src.inttypes.strtoimax libc.src.inttypes.strtoumax # time.h entrypoints libc.src.time.clock libc.src.time.clock_gettime libc.src.time.timespec_get libc.src.time.nanosleep # wchar.h entrypoints libc.src.wchar.wctob # 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 ) set(TARGET_LIBM_ENTRYPOINTS # math.h entrypoints libc.src.math.acos libc.src.math.acosf libc.src.math.acosh libc.src.math.acoshf libc.src.math.asin libc.src.math.asinf libc.src.math.asinh libc.src.math.asinhf libc.src.math.atan libc.src.math.atan2 libc.src.math.atan2f libc.src.math.atan2l libc.src.math.atanf libc.src.math.atanh 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.cosh libc.src.math.coshf libc.src.math.cospif libc.src.math.ddivl libc.src.math.dfmal libc.src.math.dmull libc.src.math.dsqrtl libc.src.math.erf 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.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.fmaximumf libc.src.math.fmaximuml 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.fmaximum_num libc.src.math.fmaximum_numf libc.src.math.fmaximum_numl libc.src.math.fmaxl libc.src.math.fmin libc.src.math.fminf libc.src.math.fminimum libc.src.math.fminimumf libc.src.math.fminimuml 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.fminimum_num libc.src.math.fminimum_numf libc.src.math.fminimum_numl 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 # FIXME: Broken. # 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.lgamma libc.src.math.lgamma_r 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.powi libc.src.math.powif 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.roundeven libc.src.math.roundevenf libc.src.math.roundevenl libc.src.math.round 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.sinh 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.tanh libc.src.math.tanhf libc.src.math.tgamma libc.src.math.tgammaf 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 # FIXME: Broken. # 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.coshf16 libc.src.math.exp10f16 libc.src.math.exp10m1f16 libc.src.math.exp2f16 libc.src.math.expf16 libc.src.math.f16add libc.src.math.f16addf libc.src.math.f16addl libc.src.math.f16div libc.src.math.f16divf libc.src.math.f16divl libc.src.math.f16fma libc.src.math.f16fmaf libc.src.math.f16fmal libc.src.math.f16mul libc.src.math.f16mulf libc.src.math.f16mull libc.src.math.f16sqrt libc.src.math.f16sqrtf libc.src.math.f16sqrtl libc.src.math.f16sub libc.src.math.f16subf libc.src.math.f16subl libc.src.math.fabsf16 libc.src.math.fdimf16 libc.src.math.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.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.sinhf16 libc.src.math.sqrtf16 libc.src.math.tanhf16 libc.src.math.totalorderf16 libc.src.math.totalordermagf16 libc.src.math.truncf16 libc.src.math.ufromfpf16 libc.src.math.ufromfpxf16 ) endif() set(TARGET_LLVMLIBC_ENTRYPOINTS ${TARGET_LIBC_ENTRYPOINTS} ${TARGET_LIBM_ENTRYPOINTS} )