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 # fcntl.h entrypoints 21 libc.src.fcntl.creat 22 libc.src.fcntl.open 23 libc.src.fcntl.openat 24 25 # string.h entrypoints 26 libc.src.string.bcmp 27 libc.src.string.bzero 28 libc.src.string.memccpy 29 libc.src.string.memchr 30 libc.src.string.memcmp 31 libc.src.string.memcpy 32 libc.src.string.memmove 33 libc.src.string.mempcpy 34 libc.src.string.memrchr 35 libc.src.string.memset 36 libc.src.string.stpcpy 37 libc.src.string.stpncpy 38 libc.src.string.strcat 39 libc.src.string.strchr 40 libc.src.string.strcmp 41 libc.src.string.strcpy 42 libc.src.string.strcspn 43 libc.src.string.strlcat 44 libc.src.string.strlcpy 45 libc.src.string.strlen 46 libc.src.string.strncat 47 libc.src.string.strncmp 48 libc.src.string.strncpy 49 libc.src.string.strnlen 50 libc.src.string.strpbrk 51 libc.src.string.strrchr 52 libc.src.string.strspn 53 libc.src.string.strstr 54 libc.src.string.strtok 55 libc.src.string.strtok_r 56 57 # string.h entrypoints that depend on malloc 58 libc.src.string.strdup 59 libc.src.string.strndup 60 61 # inttypes.h entrypoints 62 libc.src.inttypes.imaxabs 63 libc.src.inttypes.imaxdiv 64 libc.src.inttypes.strtoimax 65 libc.src.inttypes.strtoumax 66 67 # stdlib.h entrypoints 68 libc.src.stdlib.abs 69 libc.src.stdlib.atoi 70 libc.src.stdlib.atof 71 libc.src.stdlib.atol 72 libc.src.stdlib.atoll 73 libc.src.stdlib.bsearch 74 libc.src.stdlib.div 75 libc.src.stdlib.labs 76 libc.src.stdlib.ldiv 77 libc.src.stdlib.llabs 78 libc.src.stdlib.lldiv 79 libc.src.stdlib.qsort 80 libc.src.stdlib.strtod 81 libc.src.stdlib.strtof 82 libc.src.stdlib.strtol 83 libc.src.stdlib.strtold 84 libc.src.stdlib.strtoll 85 libc.src.stdlib.strtoul 86 libc.src.stdlib.strtoull 87 88 # stdlib.h external entrypoints 89 libc.src.stdlib.malloc 90 libc.src.stdlib.calloc 91 libc.src.stdlib.realloc 92 libc.src.stdlib.aligned_alloc 93 libc.src.stdlib.free 94 95 # sys/mman.h entrypoints 96 libc.src.sys.mman.mmap 97 libc.src.sys.mman.munmap 98 99 # sys/stat.h entrypoints 100 libc.src.sys.stat.mkdir 101 libc.src.sys.stat.mkdirat 102 103 # unistd.h entrypoints 104 libc.src.unistd.close 105 libc.src.unistd.fsync 106 libc.src.unistd.lseek 107 libc.src.unistd.read 108 libc.src.unistd.rmdir 109 libc.src.unistd.unlink 110 libc.src.unistd.unlinkat 111 libc.src.unistd.write 112) 113 114set(TARGET_LIBM_ENTRYPOINTS 115 # fenv.h entrypoints 116 libc.src.fenv.feclearexcept 117 libc.src.fenv.fedisableexcept 118 libc.src.fenv.feenableexcept 119 libc.src.fenv.fegetenv 120 libc.src.fenv.fegetexcept 121 libc.src.fenv.fegetexceptflag 122 libc.src.fenv.fegetround 123 libc.src.fenv.feholdexcept 124 libc.src.fenv.fesetenv 125 libc.src.fenv.fesetexceptflag 126 libc.src.fenv.fesetround 127 libc.src.fenv.feraiseexcept 128 libc.src.fenv.fetestexcept 129 libc.src.fenv.feupdateenv 130 131 # math.h entrypoints 132 libc.src.math.copysign 133 libc.src.math.copysignf 134 libc.src.math.copysignl 135 libc.src.math.ceil 136 libc.src.math.ceilf 137 libc.src.math.ceill 138 libc.src.math.cos 139 libc.src.math.cosf 140 libc.src.math.expf 141 libc.src.math.exp2f 142 libc.src.math.expm1f 143 libc.src.math.fabs 144 libc.src.math.fabsf 145 libc.src.math.fabsl 146 libc.src.math.fdim 147 libc.src.math.fdimf 148 libc.src.math.fdiml 149 libc.src.math.floor 150 libc.src.math.floorf 151 libc.src.math.floorl 152 libc.src.math.fma 153 libc.src.math.fmaf 154 libc.src.math.fmin 155 libc.src.math.fminf 156 libc.src.math.fminl 157 libc.src.math.fmax 158 libc.src.math.fmaxf 159 libc.src.math.fmaxl 160 libc.src.math.fmod 161 libc.src.math.fmodf 162 libc.src.math.frexp 163 libc.src.math.frexpf 164 libc.src.math.frexpl 165 libc.src.math.hypot 166 libc.src.math.hypotf 167 libc.src.math.ilogb 168 libc.src.math.ilogbf 169 libc.src.math.ilogbl 170 libc.src.math.ldexp 171 libc.src.math.ldexpf 172 libc.src.math.ldexpl 173 libc.src.math.llrint 174 libc.src.math.llrintf 175 libc.src.math.llrintl 176 libc.src.math.llround 177 libc.src.math.llroundf 178 libc.src.math.llroundl 179 libc.src.math.log10f 180 libc.src.math.log1pf 181 libc.src.math.log2f 182 libc.src.math.logf 183 libc.src.math.logb 184 libc.src.math.logbf 185 libc.src.math.logbl 186 libc.src.math.lrint 187 libc.src.math.lrintf 188 libc.src.math.lrintl 189 libc.src.math.lround 190 libc.src.math.lroundf 191 libc.src.math.lroundl 192 libc.src.math.modf 193 libc.src.math.modff 194 libc.src.math.modfl 195 libc.src.math.nearbyint 196 libc.src.math.nearbyintf 197 libc.src.math.nearbyintl 198 libc.src.math.nextafter 199 libc.src.math.nextafterf 200 libc.src.math.nextafterl 201 libc.src.math.remainderf 202 libc.src.math.remainder 203 libc.src.math.remainderl 204 libc.src.math.remquof 205 libc.src.math.remquo 206 libc.src.math.remquol 207 libc.src.math.rint 208 libc.src.math.rintf 209 libc.src.math.rintl 210 libc.src.math.round 211 libc.src.math.roundf 212 libc.src.math.roundl 213 libc.src.math.sin 214 libc.src.math.sincosf 215 libc.src.math.sinf 216 libc.src.math.sqrt 217 libc.src.math.sqrtf 218 libc.src.math.sqrtl 219 libc.src.math.tan 220 libc.src.math.trunc 221 libc.src.math.truncf 222 libc.src.math.truncl 223) 224 225if(LLVM_LIBC_FULL_BUILD) 226 list(APPEND TARGET_LIBC_ENTRYPOINTS 227 # assert.h entrypoints 228 # libc.src.assert.__assert_fail 229 230 # pthread.h entrypoints 231 libc.src.pthread.pthread_attr_destroy 232 libc.src.pthread.pthread_attr_init 233 libc.src.pthread.pthread_attr_getdetachstate 234 libc.src.pthread.pthread_attr_getguardsize 235 libc.src.pthread.pthread_attr_getstack 236 libc.src.pthread.pthread_attr_getstacksize 237 libc.src.pthread.pthread_attr_setdetachstate 238 libc.src.pthread.pthread_attr_setguardsize 239 libc.src.pthread.pthread_attr_setstack 240 libc.src.pthread.pthread_attr_setstacksize 241 libc.src.pthread.pthread_attr_init 242 libc.src.pthread.pthread_create 243 libc.src.pthread.pthread_detach 244 libc.src.pthread.pthread_equal 245 libc.src.pthread.pthread_join 246 libc.src.pthread.pthread_self 247 libc.src.pthread.pthread_mutex_destroy 248 libc.src.pthread.pthread_mutex_init 249 libc.src.pthread.pthread_mutex_lock 250 libc.src.pthread.pthread_mutex_unlock 251 libc.src.pthread.pthread_mutexattr_destroy 252 libc.src.pthread.pthread_mutexattr_init 253 libc.src.pthread.pthread_mutexattr_getpshared 254 libc.src.pthread.pthread_mutexattr_getrobust 255 libc.src.pthread.pthread_mutexattr_gettype 256 libc.src.pthread.pthread_mutexattr_setpshared 257 libc.src.pthread.pthread_mutexattr_setrobust 258 libc.src.pthread.pthread_mutexattr_settype 259 260 # stdlib.h entrypoints 261 libc.src.stdlib._Exit 262 libc.src.stdlib.atexit 263 libc.src.stdlib.exit 264 libc.src.stdlib.getenv 265 266 # stdio.h entrypoints 267 libc.src.stdio.clearerr 268 libc.src.stdio.clearerr_unlocked 269 libc.src.stdio.fclose 270 libc.src.stdio.flockfile 271 libc.src.stdio.feof 272 libc.src.stdio.feof_unlocked 273 libc.src.stdio.ferror 274 libc.src.stdio.ferror_unlocked 275 libc.src.stdio.fflush 276 libc.src.stdio.fopen 277 libc.src.stdio.fopencookie 278 libc.src.stdio.fread 279 libc.src.stdio.fread_unlocked 280 libc.src.stdio.fseek 281 libc.src.stdio.funlockfile 282 libc.src.stdio.fwrite 283 libc.src.stdio.fwrite_unlocked 284 libc.src.stdio.sprintf 285 libc.src.stdio.snprintf 286 libc.src.stdio.fprintf 287 libc.src.stdio.printf 288 libc.src.stdio.stderr 289 libc.src.stdio.stdout 290 291 # signal.h entrypoints 292 # TODO: Enable signal.h entrypoints after fixing signal.h 293 # libc.src.signal.raise 294 # libc.src.signal.sigaction 295 # libc.src.signal.sigdelset 296 # libc.src.signal.sigaddset 297 # libc.src.signal.sigemptyset 298 # libc.src.signal.sigprocmask 299 # libc.src.signal.sigfillset 300 # libc.src.signal.signal 301 302 # threads.h entrypoints 303 libc.src.threads.call_once 304 libc.src.threads.cnd_broadcast 305 libc.src.threads.cnd_destroy 306 libc.src.threads.cnd_init 307 libc.src.threads.cnd_signal 308 libc.src.threads.cnd_wait 309 libc.src.threads.mtx_destroy 310 libc.src.threads.mtx_init 311 libc.src.threads.mtx_lock 312 libc.src.threads.mtx_unlock 313 libc.src.threads.thrd_create 314 libc.src.threads.thrd_current 315 libc.src.threads.thrd_detach 316 libc.src.threads.thrd_equal 317 libc.src.threads.thrd_join 318 319 # time.h entrypoints 320 libc.src.time.asctime 321 libc.src.time.asctime_r 322 libc.src.time.gmtime 323 libc.src.time.gmtime_r 324 libc.src.time.mktime 325 ) 326endif() 327 328set(TARGET_LLVMLIBC_ENTRYPOINTS 329 ${TARGET_LIBC_ENTRYPOINTS} 330 ${TARGET_LIBM_ENTRYPOINTS} 331) 332