@@ -91,12 +91,16 @@ set(TARGET_LIBC_ENTRYPOINTS
91
91
libc.src.string.strxfrm
92
92
93
93
# strings.h entrypoints
94
- libc.src.strings.index
95
- libc.src.strings.rindex
96
94
libc.src.strings.bcmp
97
95
libc.src.strings.bcopy
98
96
libc.src.strings.bzero
97
+ libc.src.strings.ffs
98
+ libc.src.strings.ffsl
99
+ libc.src.strings.ffsll
100
+ libc.src.strings.index
101
+ libc.src.strings.rindex
99
102
libc.src.strings.strcasecmp
103
+ libc.src.strings.strncasecmp
100
104
101
105
# inttypes.h entrypoints
102
106
libc.src.inttypes.imaxabs
@@ -177,13 +181,15 @@ set(TARGET_LIBC_ENTRYPOINTS
177
181
libc.src.stdbit.stdc_trailing_zeros_us
178
182
179
183
# stdlib.h entrypoints
184
+ libc.src.stdlib.a64l
180
185
libc.src.stdlib.abs
181
186
libc.src.stdlib.atof
182
187
libc.src.stdlib.atoi
183
188
libc.src.stdlib.atol
184
189
libc.src.stdlib.atoll
185
190
libc.src.stdlib.bsearch
186
191
libc.src.stdlib.div
192
+ libc.src.stdlib.l64a
187
193
libc.src.stdlib.labs
188
194
libc.src.stdlib.ldiv
189
195
libc.src.stdlib.llabs
@@ -248,6 +254,7 @@ set(TARGET_LIBC_ENTRYPOINTS
248
254
libc.src.sys.mman.mlock2
249
255
libc.src.sys.mman.mlockall
250
256
libc.src.sys.mman.mmap
257
+ libc.src.sys.mman.mremap
251
258
libc.src.sys.mman.mprotect
252
259
libc.src.sys.mman.msync
253
260
libc.src.sys.mman.munlock
@@ -282,6 +289,9 @@ set(TARGET_LIBC_ENTRYPOINTS
282
289
libc.src.sys.statvfs.fstatvfs
283
290
libc.src.sys.statvfs.statvfs
284
291
292
+ # sys/utimes.h entrypoints
293
+ # libc.src.sys.time.utimes
294
+
285
295
# sys/utsname.h entrypoints
286
296
libc.src.sys.utsname.uname
287
297
@@ -322,6 +332,7 @@ set(TARGET_LIBC_ENTRYPOINTS
322
332
libc.src.unistd.fsync
323
333
libc.src.unistd.ftruncate
324
334
libc.src.unistd.getcwd
335
+ libc.src.unistd.getentropy
325
336
libc.src.unistd.geteuid
326
337
libc.src.unistd.getpid
327
338
libc.src.unistd.getppid
@@ -351,8 +362,17 @@ set(TARGET_LIBC_ENTRYPOINTS
351
362
libc.src.unistd.write
352
363
353
364
# wchar.h entrypoints
365
+ libc.src.wchar.btowc
354
366
libc.src.wchar.wcslen
355
367
libc.src.wchar.wctob
368
+
369
+ # sys/uio.h entrypoints
370
+ libc.src.sys.uio.writev
371
+ libc.src.sys.uio.readv
372
+
373
+ # sys/time.h entrypoints
374
+ # libc.src.sys.time.setitimer
375
+ # libc.src.sys.time.getitimer
356
376
)
357
377
358
378
if(LLVM_LIBC_INCLUDE_SCUDO)
@@ -431,6 +451,7 @@ set(TARGET_LIBM_ENTRYPOINTS
431
451
libc.src.math.exp
432
452
libc.src.math.exp10
433
453
libc.src.math.exp10f
454
+ # libc.src.math.exp10m1f
434
455
libc.src.math.exp2
435
456
libc.src.math.exp2f
436
457
libc.src.math.exp2m1f
@@ -627,6 +648,130 @@ set(TARGET_LIBM_ENTRYPOINTS
627
648
libc.src.math.ufromfpxf
628
649
libc.src.math.ufromfpxl
629
650
)
651
+ if(LIBC_TYPES_HAS_CFLOAT16)
652
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
653
+ # complex.h C23 _Complex _Float16 entrypoints
654
+ libc.src.complex.crealf16
655
+ libc.src.complex.cimagf16
656
+ libc.src.complex.conjf16
657
+ libc.src.complex.cprojf16
658
+ )
659
+ endif()
660
+
661
+ if(LIBC_TYPES_HAS_FLOAT16)
662
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
663
+ # math.h C23 _Float16 entrypoints
664
+ libc.src.math.acosf16
665
+ libc.src.math.acoshf16
666
+ libc.src.math.acospif16
667
+ libc.src.math.asinf16
668
+ libc.src.math.asinhf16
669
+ libc.src.math.atanhf16
670
+ libc.src.math.canonicalizef16
671
+ libc.src.math.ceilf16
672
+ libc.src.math.copysignf16
673
+ libc.src.math.cosf16
674
+ libc.src.math.coshf16
675
+ libc.src.math.cospif16
676
+ libc.src.math.exp10f16
677
+ libc.src.math.exp10m1f16
678
+ libc.src.math.exp2f16
679
+ libc.src.math.exp2m1f16
680
+ libc.src.math.expf16
681
+ libc.src.math.expm1f16
682
+ libc.src.math.f16add
683
+ libc.src.math.f16addf
684
+ libc.src.math.f16addl
685
+ libc.src.math.f16div
686
+ libc.src.math.f16divf
687
+ libc.src.math.f16divl
688
+ libc.src.math.f16fma
689
+ libc.src.math.f16fmaf
690
+ libc.src.math.f16fmal
691
+ libc.src.math.f16mul
692
+ libc.src.math.f16mulf
693
+ libc.src.math.f16mull
694
+ libc.src.math.f16sqrt
695
+ libc.src.math.f16sqrtf
696
+ libc.src.math.f16sqrtl
697
+ libc.src.math.f16sub
698
+ libc.src.math.f16subf
699
+ libc.src.math.f16subl
700
+ libc.src.math.fabsf16
701
+ libc.src.math.fdimf16
702
+ libc.src.math.floorf16
703
+ libc.src.math.fmaf16
704
+ libc.src.math.fmaxf16
705
+ libc.src.math.fmaximum_mag_numf16
706
+ libc.src.math.fmaximum_magf16
707
+ libc.src.math.fmaximum_numf16
708
+ libc.src.math.fmaximumf16
709
+ libc.src.math.fminf16
710
+ libc.src.math.fminimum_mag_numf16
711
+ libc.src.math.fminimum_magf16
712
+ libc.src.math.fminimum_numf16
713
+ libc.src.math.fminimumf16
714
+ libc.src.math.fmodf16
715
+ libc.src.math.frexpf16
716
+ libc.src.math.fromfpf16
717
+ libc.src.math.fromfpxf16
718
+ libc.src.math.getpayloadf16
719
+ libc.src.math.hypotf16
720
+ libc.src.math.ilogbf16
721
+ libc.src.math.iscanonicalf16
722
+ libc.src.math.issignalingf16
723
+ libc.src.math.ldexpf16
724
+ libc.src.math.llogbf16
725
+ libc.src.math.llrintf16
726
+ libc.src.math.llroundf16
727
+ libc.src.math.log10f16
728
+ libc.src.math.log2f16
729
+ libc.src.math.logbf16
730
+ libc.src.math.logf16
731
+ libc.src.math.lrintf16
732
+ libc.src.math.lroundf16
733
+ libc.src.math.modff16
734
+ libc.src.math.nanf16
735
+ libc.src.math.nearbyintf16
736
+ libc.src.math.nextafterf16
737
+ libc.src.math.nextdownf16
738
+ libc.src.math.nexttowardf16
739
+ libc.src.math.nextupf16
740
+ libc.src.math.remainderf16
741
+ libc.src.math.remquof16
742
+ libc.src.math.rintf16
743
+ libc.src.math.roundevenf16
744
+ libc.src.math.roundf16
745
+ libc.src.math.scalblnf16
746
+ libc.src.math.scalbnf16
747
+ libc.src.math.setpayloadf16
748
+ libc.src.math.setpayloadsigf16
749
+ libc.src.math.sinf16
750
+ libc.src.math.sinhf16
751
+ libc.src.math.sinpif16
752
+ libc.src.math.sqrtf16
753
+ libc.src.math.tanf16
754
+ libc.src.math.tanhf16
755
+ libc.src.math.tanpif16
756
+ libc.src.math.totalorderf16
757
+ libc.src.math.totalordermagf16
758
+ libc.src.math.truncf16
759
+ libc.src.math.ufromfpf16
760
+ libc.src.math.ufromfpxf16
761
+ )
762
+
763
+ if(LIBC_TYPES_HAS_FLOAT128)
764
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
765
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
766
+ libc.src.math.f16addf128
767
+ libc.src.math.f16divf128
768
+ libc.src.math.f16fmaf128
769
+ libc.src.math.f16mulf128
770
+ libc.src.math.f16sqrtf128
771
+ libc.src.math.f16subf128
772
+ )
773
+ endif()
774
+ endif()
630
775
631
776
if(LIBC_TYPES_HAS_CFLOAT128)
632
777
list(APPEND TARGET_LIBM_ENTRYPOINTS
@@ -736,6 +881,7 @@ if(LIBC_COMPILER_HAS_FIXED_POINT)
736
881
libc.src.stdfix.sqrtuhr
737
882
libc.src.stdfix.sqrtuk
738
883
libc.src.stdfix.sqrtur
884
+ # libc.src.stdfix.sqrtulk
739
885
libc.src.stdfix.sqrtulr
740
886
libc.src.stdfix.uhksqrtus
741
887
libc.src.stdfix.uksqrtui
@@ -749,7 +895,6 @@ if(LIBC_COMPILER_HAS_FIXED_POINT)
749
895
libc.src.stdfix.uhkbits
750
896
libc.src.stdfix.kbits
751
897
libc.src.stdfix.ukbits
752
- # TODO: https://github.com/llvm/llvm-project/issues/115778
753
898
libc.src.stdfix.lkbits
754
899
libc.src.stdfix.ulkbits
755
900
libc.src.stdfix.bitshr
@@ -789,6 +934,39 @@ endif()
789
934
790
935
if(LLVM_LIBC_FULL_BUILD)
791
936
list(APPEND TARGET_LIBC_ENTRYPOINTS
937
+ # ctype.h entrypoints
938
+ libc.src.ctype.isalnum_l
939
+ libc.src.ctype.isalpha_l
940
+ libc.src.ctype.isblank_l
941
+ libc.src.ctype.iscntrl_l
942
+ libc.src.ctype.isdigit_l
943
+ libc.src.ctype.isgraph_l
944
+ libc.src.ctype.islower_l
945
+ libc.src.ctype.isprint_l
946
+ libc.src.ctype.ispunct_l
947
+ libc.src.ctype.isspace_l
948
+ libc.src.ctype.isupper_l
949
+ libc.src.ctype.isxdigit_l
950
+ libc.src.ctype.tolower_l
951
+ libc.src.ctype.toupper_l
952
+
953
+ # stdlib.h entrypoints
954
+ libc.src.stdlib.strtod_l
955
+ libc.src.stdlib.strtof_l
956
+ libc.src.stdlib.strtol_l
957
+ libc.src.stdlib.strtold_l
958
+ libc.src.stdlib.strtoll_l
959
+ libc.src.stdlib.strtoul_l
960
+ libc.src.stdlib.strtoull_l
961
+
962
+ # string.h entrypoints
963
+ libc.src.string.strcoll_l
964
+ libc.src.string.strxfrm_l
965
+
966
+ # strings.h entrypoints
967
+ libc.src.strings.strcasecmp_l
968
+ libc.src.strings.strncasecmp_l
969
+
792
970
# assert.h entrypoints
793
971
libc.src.assert.__assert_fail
794
972
@@ -864,6 +1042,11 @@ if(LLVM_LIBC_FULL_BUILD)
864
1042
libc.src.pthread.pthread_rwlockattr_init
865
1043
libc.src.pthread.pthread_rwlockattr_setkind_np
866
1044
libc.src.pthread.pthread_rwlockattr_setpshared
1045
+ libc.src.pthread.pthread_spin_destroy
1046
+ libc.src.pthread.pthread_spin_init
1047
+ libc.src.pthread.pthread_spin_lock
1048
+ libc.src.pthread.pthread_spin_trylock
1049
+ libc.src.pthread.pthread_spin_unlock
867
1050
libc.src.pthread.pthread_self
868
1051
libc.src.pthread.pthread_setname_np
869
1052
libc.src.pthread.pthread_setspecific
@@ -998,9 +1181,20 @@ if(LLVM_LIBC_FULL_BUILD)
998
1181
libc.src.time.gmtime_r
999
1182
libc.src.time.mktime
1000
1183
libc.src.time.nanosleep
1184
+ libc.src.time.strftime
1185
+ libc.src.time.strftime_l
1001
1186
libc.src.time.time
1002
1187
libc.src.time.timespec_get
1003
1188
1189
+ # locale.h entrypoints
1190
+ libc.src.locale.localeconv
1191
+ libc.src.locale.duplocale
1192
+ libc.src.locale.freelocale
1193
+ libc.src.locale.localeconv
1194
+ libc.src.locale.newlocale
1195
+ libc.src.locale.setlocale
1196
+ libc.src.locale.uselocale
1197
+
1004
1198
# unistd.h entrypoints
1005
1199
libc.src.unistd.__llvm_libc_syscall
1006
1200
libc.src.unistd._exit
@@ -1020,6 +1214,13 @@ if(LLVM_LIBC_FULL_BUILD)
1020
1214
# sys/socket.h entrypoints
1021
1215
libc.src.sys.socket.bind
1022
1216
libc.src.sys.socket.socket
1217
+ libc.src.sys.socket.socketpair
1218
+ libc.src.sys.socket.send
1219
+ libc.src.sys.socket.sendto
1220
+ libc.src.sys.socket.sendmsg
1221
+ libc.src.sys.socket.recv
1222
+ libc.src.sys.socket.recvfrom
1223
+ libc.src.sys.socket.recvmsg
1023
1224
)
1024
1225
endif()
1025
1226
0 commit comments