1set(TARGET_LIBC_ENTRYPOINTS 2 # assert.h entrypoints 3 libc.src.assert.__assert_fail 4 5 # ctype.h entrypoints 6 libc.src.ctype.isalnum 7 libc.src.ctype.isalpha 8 libc.src.ctype.isascii 9 libc.src.ctype.isblank 10 libc.src.ctype.iscntrl 11 libc.src.ctype.isdigit 12 libc.src.ctype.isgraph 13 libc.src.ctype.islower 14 libc.src.ctype.isprint 15 libc.src.ctype.ispunct 16 libc.src.ctype.isspace 17 libc.src.ctype.isupper 18 libc.src.ctype.isxdigit 19 libc.src.ctype.toascii 20 libc.src.ctype.tolower 21 libc.src.ctype.toupper 22 23 # compiler entrypoints (no corresponding header) 24 libc.src.compiler.__stack_chk_fail 25 26 # errno.h entrypoints 27 libc.src.errno.errno 28 29 # setjmp.h entrypoints 30 libc.src.setjmp.longjmp 31 libc.src.setjmp.setjmp 32 33 # string.h entrypoints 34 libc.src.string.bcmp 35 libc.src.string.bcopy 36 libc.src.string.bzero 37 libc.src.string.index 38 libc.src.string.memccpy 39 libc.src.string.memchr 40 libc.src.string.memcmp 41 libc.src.string.memcpy 42 libc.src.string.memmem 43 libc.src.string.memmove 44 libc.src.string.mempcpy 45 libc.src.string.memrchr 46 libc.src.string.memset 47 libc.src.string.memset_explicit 48 libc.src.string.rindex 49 libc.src.string.stpcpy 50 libc.src.string.stpncpy 51 libc.src.string.strcasecmp 52 libc.src.string.strcasestr 53 libc.src.string.strcat 54 libc.src.string.strchr 55 libc.src.string.strchrnul 56 libc.src.string.strcmp 57 libc.src.string.strcoll 58 libc.src.string.strcpy 59 libc.src.string.strcspn 60 libc.src.string.strerror 61 libc.src.string.strerror_r 62 libc.src.string.strlcat 63 libc.src.string.strlcpy 64 libc.src.string.strlen 65 libc.src.string.strncasecmp 66 libc.src.string.strncat 67 libc.src.string.strncmp 68 libc.src.string.strncpy 69 libc.src.string.strnlen 70 libc.src.string.strpbrk 71 libc.src.string.strrchr 72 libc.src.string.strsep 73 libc.src.string.strspn 74 libc.src.string.strstr 75 libc.src.string.strtok 76 libc.src.string.strtok_r 77 libc.src.string.strxfrm 78 79 # inttypes.h entrypoints 80 libc.src.inttypes.imaxabs 81 libc.src.inttypes.imaxdiv 82 libc.src.inttypes.strtoimax 83 libc.src.inttypes.strtoumax 84 85 # stdio.h entrypoints 86 libc.src.stdio.getchar 87 libc.src.stdio.printf 88 libc.src.stdio.putchar 89 libc.src.stdio.puts 90 libc.src.stdio.remove 91 libc.src.stdio.snprintf 92 libc.src.stdio.sprintf 93 libc.src.stdio.asprintf 94 libc.src.stdio.vprintf 95 libc.src.stdio.vsnprintf 96 libc.src.stdio.vsprintf 97 libc.src.stdio.vasprintf 98 99 # stdbit.h entrypoints 100 libc.src.stdbit.stdc_bit_ceil_uc 101 libc.src.stdbit.stdc_bit_ceil_ui 102 libc.src.stdbit.stdc_bit_ceil_ul 103 libc.src.stdbit.stdc_bit_ceil_ull 104 libc.src.stdbit.stdc_bit_ceil_us 105 libc.src.stdbit.stdc_bit_floor_uc 106 libc.src.stdbit.stdc_bit_floor_ui 107 libc.src.stdbit.stdc_bit_floor_ul 108 libc.src.stdbit.stdc_bit_floor_ull 109 libc.src.stdbit.stdc_bit_floor_us 110 libc.src.stdbit.stdc_bit_width_uc 111 libc.src.stdbit.stdc_bit_width_ui 112 libc.src.stdbit.stdc_bit_width_ul 113 libc.src.stdbit.stdc_bit_width_ull 114 libc.src.stdbit.stdc_bit_width_us 115 libc.src.stdbit.stdc_count_ones_uc 116 libc.src.stdbit.stdc_count_ones_ui 117 libc.src.stdbit.stdc_count_ones_ul 118 libc.src.stdbit.stdc_count_ones_ull 119 libc.src.stdbit.stdc_count_ones_us 120 libc.src.stdbit.stdc_count_zeros_uc 121 libc.src.stdbit.stdc_count_zeros_ui 122 libc.src.stdbit.stdc_count_zeros_ul 123 libc.src.stdbit.stdc_count_zeros_ull 124 libc.src.stdbit.stdc_count_zeros_us 125 libc.src.stdbit.stdc_first_leading_one_uc 126 libc.src.stdbit.stdc_first_leading_one_ui 127 libc.src.stdbit.stdc_first_leading_one_ul 128 libc.src.stdbit.stdc_first_leading_one_ull 129 libc.src.stdbit.stdc_first_leading_one_us 130 libc.src.stdbit.stdc_first_leading_zero_uc 131 libc.src.stdbit.stdc_first_leading_zero_ui 132 libc.src.stdbit.stdc_first_leading_zero_ul 133 libc.src.stdbit.stdc_first_leading_zero_ull 134 libc.src.stdbit.stdc_first_leading_zero_us 135 libc.src.stdbit.stdc_first_trailing_one_uc 136 libc.src.stdbit.stdc_first_trailing_one_ui 137 libc.src.stdbit.stdc_first_trailing_one_ul 138 libc.src.stdbit.stdc_first_trailing_one_ull 139 libc.src.stdbit.stdc_first_trailing_one_us 140 libc.src.stdbit.stdc_first_trailing_zero_uc 141 libc.src.stdbit.stdc_first_trailing_zero_ui 142 libc.src.stdbit.stdc_first_trailing_zero_ul 143 libc.src.stdbit.stdc_first_trailing_zero_ull 144 libc.src.stdbit.stdc_first_trailing_zero_us 145 libc.src.stdbit.stdc_has_single_bit_uc 146 libc.src.stdbit.stdc_has_single_bit_ui 147 libc.src.stdbit.stdc_has_single_bit_ul 148 libc.src.stdbit.stdc_has_single_bit_ull 149 libc.src.stdbit.stdc_has_single_bit_us 150 libc.src.stdbit.stdc_leading_ones_uc 151 libc.src.stdbit.stdc_leading_ones_ui 152 libc.src.stdbit.stdc_leading_ones_ul 153 libc.src.stdbit.stdc_leading_ones_ull 154 libc.src.stdbit.stdc_leading_ones_us 155 libc.src.stdbit.stdc_leading_zeros_uc 156 libc.src.stdbit.stdc_leading_zeros_ui 157 libc.src.stdbit.stdc_leading_zeros_ul 158 libc.src.stdbit.stdc_leading_zeros_ull 159 libc.src.stdbit.stdc_leading_zeros_us 160 libc.src.stdbit.stdc_trailing_ones_uc 161 libc.src.stdbit.stdc_trailing_ones_ui 162 libc.src.stdbit.stdc_trailing_ones_ul 163 libc.src.stdbit.stdc_trailing_ones_ull 164 libc.src.stdbit.stdc_trailing_ones_us 165 libc.src.stdbit.stdc_trailing_zeros_uc 166 libc.src.stdbit.stdc_trailing_zeros_ui 167 libc.src.stdbit.stdc_trailing_zeros_ul 168 libc.src.stdbit.stdc_trailing_zeros_ull 169 libc.src.stdbit.stdc_trailing_zeros_us 170 171 # stdlib.h entrypoints 172 libc.src.stdlib._Exit 173 libc.src.stdlib.abort 174 libc.src.stdlib.abs 175 libc.src.stdlib.aligned_alloc 176 libc.src.stdlib.atof 177 libc.src.stdlib.atoi 178 libc.src.stdlib.atol 179 libc.src.stdlib.atoll 180 libc.src.stdlib.bsearch 181 libc.src.stdlib.calloc 182 libc.src.stdlib.div 183 libc.src.stdlib.exit 184 libc.src.stdlib.free 185 libc.src.stdlib.freelist_malloc 186 libc.src.stdlib.labs 187 libc.src.stdlib.ldiv 188 libc.src.stdlib.llabs 189 libc.src.stdlib.lldiv 190 libc.src.stdlib.malloc 191 libc.src.stdlib.qsort 192 libc.src.stdlib.rand 193 libc.src.stdlib.realloc 194 libc.src.stdlib.srand 195 libc.src.stdlib.strtod 196 libc.src.stdlib.strtof 197 libc.src.stdlib.strtol 198 libc.src.stdlib.strtold 199 libc.src.stdlib.strtoll 200 libc.src.stdlib.strtoul 201 libc.src.stdlib.strtoull 202 203 # time.h entrypoints 204 libc.src.time.asctime 205 libc.src.time.asctime_r 206 libc.src.time.ctime 207 libc.src.time.ctime_r 208 libc.src.time.difftime 209 libc.src.time.gmtime 210 libc.src.time.gmtime_r 211 libc.src.time.mktime 212 libc.src.time.timespec_get 213 214 # internal entrypoints 215 libc.startup.baremetal.init 216 libc.startup.baremetal.fini 217) 218 219set(TARGET_LIBM_ENTRYPOINTS 220 # fenv.h entrypoints 221 libc.src.fenv.feclearexcept 222 libc.src.fenv.fedisableexcept 223 libc.src.fenv.feenableexcept 224 libc.src.fenv.fegetenv 225 libc.src.fenv.fegetexcept 226 libc.src.fenv.fegetexceptflag 227 libc.src.fenv.fegetround 228 libc.src.fenv.feholdexcept 229 libc.src.fenv.feraiseexcept 230 libc.src.fenv.fesetenv 231 libc.src.fenv.fesetexcept 232 libc.src.fenv.fesetexceptflag 233 libc.src.fenv.fesetround 234 libc.src.fenv.fetestexcept 235 libc.src.fenv.fetestexceptflag 236 libc.src.fenv.feupdateenv 237 238 # math.h entrypoints 239 libc.src.math.acosf 240 libc.src.math.acoshf 241 libc.src.math.asinf 242 libc.src.math.asinhf 243 libc.src.math.atan2 244 libc.src.math.atan2f 245 libc.src.math.atanf 246 libc.src.math.atanhf 247 libc.src.math.canonicalize 248 libc.src.math.canonicalizef 249 libc.src.math.canonicalizel 250 libc.src.math.cbrt 251 libc.src.math.cbrtf 252 libc.src.math.ceil 253 libc.src.math.ceilf 254 libc.src.math.ceill 255 libc.src.math.copysign 256 libc.src.math.copysignf 257 libc.src.math.copysignl 258 libc.src.math.cos 259 libc.src.math.cosf 260 libc.src.math.coshf 261 libc.src.math.erff 262 libc.src.math.exp 263 libc.src.math.exp10 264 libc.src.math.exp10f 265 libc.src.math.exp2 266 libc.src.math.exp2f 267 libc.src.math.exp2m1f 268 libc.src.math.expf 269 libc.src.math.expm1 270 libc.src.math.expm1f 271 libc.src.math.fabs 272 libc.src.math.fabsf 273 libc.src.math.fabsl 274 libc.src.math.fdim 275 libc.src.math.fdimf 276 libc.src.math.fdiml 277 libc.src.math.floor 278 libc.src.math.floorf 279 libc.src.math.floorl 280 libc.src.math.fma 281 libc.src.math.fmaf 282 libc.src.math.fmax 283 libc.src.math.fmaxf 284 libc.src.math.fmaximum 285 libc.src.math.fmaximum_mag 286 libc.src.math.fmaximum_mag_num 287 libc.src.math.fmaximum_mag_numf 288 libc.src.math.fmaximum_mag_numl 289 libc.src.math.fmaximum_magf 290 libc.src.math.fmaximum_magl 291 libc.src.math.fmaximum_num 292 libc.src.math.fmaximum_numf 293 libc.src.math.fmaximum_numl 294 libc.src.math.fmaximumf 295 libc.src.math.fmaximuml 296 libc.src.math.fmaxl 297 libc.src.math.fmin 298 libc.src.math.fminf 299 libc.src.math.fminimum 300 libc.src.math.fminimum_mag 301 libc.src.math.fminimum_mag_num 302 libc.src.math.fminimum_mag_numf 303 libc.src.math.fminimum_mag_numl 304 libc.src.math.fminimum_magf 305 libc.src.math.fminimum_magl 306 libc.src.math.fminimum_num 307 libc.src.math.fminimum_numf 308 libc.src.math.fminimum_numl 309 libc.src.math.fminimumf 310 libc.src.math.fminimuml 311 libc.src.math.fminl 312 libc.src.math.fmod 313 libc.src.math.fmodf 314 libc.src.math.fmodl 315 libc.src.math.fmul 316 libc.src.math.frexp 317 libc.src.math.frexpf 318 libc.src.math.frexpl 319 libc.src.math.fromfp 320 libc.src.math.fromfpf 321 libc.src.math.fromfpl 322 libc.src.math.fromfpx 323 libc.src.math.fromfpxf 324 libc.src.math.fromfpxl 325 libc.src.math.hypot 326 libc.src.math.hypotf 327 libc.src.math.ilogb 328 libc.src.math.ilogbf 329 libc.src.math.ilogbl 330 libc.src.math.isnan 331 libc.src.math.isnanf 332 libc.src.math.isnanl 333 libc.src.math.ldexp 334 libc.src.math.ldexpf 335 libc.src.math.ldexpl 336 libc.src.math.llogb 337 libc.src.math.llogbf 338 libc.src.math.llogbl 339 libc.src.math.llrint 340 libc.src.math.llrintf 341 libc.src.math.llrintl 342 libc.src.math.llround 343 libc.src.math.llroundf 344 libc.src.math.llroundl 345 libc.src.math.log 346 libc.src.math.log10 347 libc.src.math.log10f 348 libc.src.math.log1p 349 libc.src.math.log1pf 350 libc.src.math.log2 351 libc.src.math.log2f 352 libc.src.math.logb 353 libc.src.math.logbf 354 libc.src.math.logbl 355 libc.src.math.logf 356 libc.src.math.lrint 357 libc.src.math.lrintf 358 libc.src.math.lrintl 359 libc.src.math.lround 360 libc.src.math.lroundf 361 libc.src.math.lroundl 362 libc.src.math.modf 363 libc.src.math.modff 364 libc.src.math.modfl 365 libc.src.math.nan 366 libc.src.math.nanf 367 libc.src.math.nanl 368 libc.src.math.nearbyint 369 libc.src.math.nearbyintf 370 libc.src.math.nearbyintl 371 libc.src.math.nextafter 372 libc.src.math.nextafterf 373 libc.src.math.nextafterl 374 libc.src.math.nextdown 375 libc.src.math.nextdownf 376 libc.src.math.nextdownl 377 libc.src.math.nexttoward 378 libc.src.math.nexttowardf 379 libc.src.math.nexttowardl 380 libc.src.math.nextup 381 libc.src.math.nextupf 382 libc.src.math.nextupl 383 libc.src.math.pow 384 libc.src.math.powf 385 libc.src.math.remainder 386 libc.src.math.remainderf 387 libc.src.math.remainderl 388 libc.src.math.remquo 389 libc.src.math.remquof 390 libc.src.math.remquol 391 libc.src.math.rint 392 libc.src.math.rintf 393 libc.src.math.rintl 394 libc.src.math.round 395 libc.src.math.roundeven 396 libc.src.math.roundevenf 397 libc.src.math.roundevenl 398 libc.src.math.roundf 399 libc.src.math.roundl 400 libc.src.math.scalbln 401 libc.src.math.scalblnf 402 libc.src.math.scalblnl 403 libc.src.math.scalbn 404 libc.src.math.scalbnf 405 libc.src.math.scalbnl 406 libc.src.math.sin 407 libc.src.math.sincos 408 libc.src.math.sincosf 409 libc.src.math.sinf 410 libc.src.math.sinhf 411 libc.src.math.sqrt 412 libc.src.math.sqrtf 413 libc.src.math.sqrtl 414 libc.src.math.tan 415 libc.src.math.tanf 416 libc.src.math.tanhf 417 libc.src.math.trunc 418 libc.src.math.truncf 419 libc.src.math.truncl 420 libc.src.math.ufromfp 421 libc.src.math.ufromfpf 422 libc.src.math.ufromfpl 423 libc.src.math.ufromfpx 424 libc.src.math.ufromfpxf 425 libc.src.math.ufromfpxl 426) 427 428if(LIBC_COMPILER_HAS_FIXED_POINT) 429 list(APPEND TARGET_LIBM_ENTRYPOINTS 430 # stdfix.h _Fract and _Accum entrypoints 431 libc.src.stdfix.abshk 432 libc.src.stdfix.abshr 433 libc.src.stdfix.absk 434 libc.src.stdfix.abslk 435 libc.src.stdfix.abslr 436 libc.src.stdfix.absr 437 libc.src.stdfix.exphk 438 libc.src.stdfix.expk 439 libc.src.stdfix.roundhk 440 libc.src.stdfix.roundhr 441 libc.src.stdfix.roundk 442 libc.src.stdfix.roundlk 443 libc.src.stdfix.roundlr 444 libc.src.stdfix.roundr 445 libc.src.stdfix.rounduhk 446 libc.src.stdfix.rounduhr 447 libc.src.stdfix.rounduk 448 libc.src.stdfix.roundulk 449 libc.src.stdfix.roundulr 450 libc.src.stdfix.roundur 451 libc.src.stdfix.sqrtuhk 452 libc.src.stdfix.sqrtuhr 453 libc.src.stdfix.sqrtuk 454 libc.src.stdfix.sqrtur 455 # libc.src.stdfix.sqrtulk 456 libc.src.stdfix.sqrtulr 457 libc.src.stdfix.uhksqrtus 458 libc.src.stdfix.uksqrtui 459 libc.src.stdfix.hrbits 460 libc.src.stdfix.uhrbits 461 libc.src.stdfix.rbits 462 libc.src.stdfix.urbits 463 libc.src.stdfix.lrbits 464 libc.src.stdfix.ulrbits 465 libc.src.stdfix.hkbits 466 libc.src.stdfix.uhkbits 467 libc.src.stdfix.kbits 468 libc.src.stdfix.ukbits 469 libc.src.stdfix.lkbits 470 libc.src.stdfix.ulkbits 471 ) 472endif() 473 474set(TARGET_LLVMLIBC_ENTRYPOINTS 475 ${TARGET_LIBC_ENTRYPOINTS} 476 ${TARGET_LIBM_ENTRYPOINTS} 477) 478