• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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