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