Skip to content

Commit

Permalink
[libc] Include additional baremetal entrypoints (#85020)
Browse files Browse the repository at this point in the history
These functions are usable on embedded platforms and are sometimes used
in various baremetal projects.
  • Loading branch information
petrhosek authored Mar 13, 2024
1 parent e25bf70 commit a028398
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 0 deletions.
1 change: 1 addition & 0 deletions libc/config/baremetal/api.td
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ include "config/public_api.td"

include "spec/stdc.td"
include "spec/stdc_ext.td"
include "spec/bsd_ext.td"
include "spec/llvm_libc_stdfix_ext.td"

def AssertMacro : MacroDef<"assert"> {
Expand Down
45 changes: 45 additions & 0 deletions libc/config/baremetal/arm/entrypoints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.string.bcmp
libc.src.string.bcopy
libc.src.string.bzero
libc.src.string.index
libc.src.string.memccpy
libc.src.string.memchr
libc.src.string.memcmp
Expand All @@ -39,6 +40,8 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.string.mempcpy
libc.src.string.memrchr
libc.src.string.memset
libc.src.string.memset_explicit
libc.src.string.rindex
libc.src.string.stpcpy
libc.src.string.stpncpy
libc.src.string.strcasecmp
Expand All @@ -47,8 +50,11 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.string.strchr
libc.src.string.strchrnul
libc.src.string.strcmp
libc.src.string.strcoll
libc.src.string.strcpy
libc.src.string.strcspn
libc.src.string.strerror
libc.src.string.strerror_r
libc.src.string.strlcat
libc.src.string.strlcpy
libc.src.string.strlen
Expand All @@ -59,10 +65,12 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.string.strnlen
libc.src.string.strpbrk
libc.src.string.strrchr
libc.src.string.strsep
libc.src.string.strspn
libc.src.string.strstr
libc.src.string.strtok
libc.src.string.strtok_r
libc.src.string.strxfrm

# inttypes.h entrypoints
libc.src.inttypes.imaxabs
Expand Down Expand Up @@ -117,6 +125,36 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.stdbit.stdc_first_trailing_one_ui
libc.src.stdbit.stdc_first_trailing_one_ul
libc.src.stdbit.stdc_first_trailing_one_ull
libc.src.stdbit.stdc_count_zeros_uc
libc.src.stdbit.stdc_count_zeros_us
libc.src.stdbit.stdc_count_zeros_ui
libc.src.stdbit.stdc_count_zeros_ul
libc.src.stdbit.stdc_count_zeros_ull
libc.src.stdbit.stdc_count_ones_uc
libc.src.stdbit.stdc_count_ones_us
libc.src.stdbit.stdc_count_ones_ui
libc.src.stdbit.stdc_count_ones_ul
libc.src.stdbit.stdc_count_ones_ull
libc.src.stdbit.stdc_has_single_bit_uc
libc.src.stdbit.stdc_has_single_bit_us
libc.src.stdbit.stdc_has_single_bit_ui
libc.src.stdbit.stdc_has_single_bit_ul
libc.src.stdbit.stdc_has_single_bit_ull
libc.src.stdbit.stdc_bit_width_uc
libc.src.stdbit.stdc_bit_width_us
libc.src.stdbit.stdc_bit_width_ui
libc.src.stdbit.stdc_bit_width_ul
libc.src.stdbit.stdc_bit_width_ull
libc.src.stdbit.stdc_bit_floor_uc
libc.src.stdbit.stdc_bit_floor_us
libc.src.stdbit.stdc_bit_floor_ui
libc.src.stdbit.stdc_bit_floor_ul
libc.src.stdbit.stdc_bit_floor_ull
libc.src.stdbit.stdc_bit_ceil_uc
libc.src.stdbit.stdc_bit_ceil_us
libc.src.stdbit.stdc_bit_ceil_ui
libc.src.stdbit.stdc_bit_ceil_ul
libc.src.stdbit.stdc_bit_ceil_ull

# stdlib.h entrypoints
libc.src.stdlib.abort
Expand All @@ -132,6 +170,9 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.stdlib.llabs
libc.src.stdlib.lldiv
libc.src.stdlib.qsort
libc.src.stdlib.qsort_r
libc.src.stdlib.rand
libc.src.stdlib.srand
libc.src.stdlib.strtod
libc.src.stdlib.strtof
libc.src.stdlib.strtol
Expand Down Expand Up @@ -201,6 +242,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.fminl
libc.src.math.fmod
libc.src.math.fmodf
libc.src.math.fmodl
libc.src.math.frexp
libc.src.math.frexpf
libc.src.math.frexpl
Expand All @@ -212,6 +254,9 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ldexp
libc.src.math.ldexpf
libc.src.math.ldexpl
libc.src.math.llogb
libc.src.math.llogbf
libc.src.math.llogbl
libc.src.math.llrint
libc.src.math.llrintf
libc.src.math.llrintl
Expand Down
44 changes: 44 additions & 0 deletions libc/config/baremetal/riscv/entrypoints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.string.bcmp
libc.src.string.bcopy
libc.src.string.bzero
libc.src.string.index
libc.src.string.memccpy
libc.src.string.memchr
libc.src.string.memcmp
Expand All @@ -39,6 +40,8 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.string.mempcpy
libc.src.string.memrchr
libc.src.string.memset
libc.src.string.memset_explicit
libc.src.string.rindex
libc.src.string.stpcpy
libc.src.string.stpncpy
libc.src.string.strcasecmp
Expand All @@ -47,8 +50,11 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.string.strchr
libc.src.string.strchrnul
libc.src.string.strcmp
libc.src.string.strcoll
libc.src.string.strcpy
libc.src.string.strcspn
libc.src.string.strerror
libc.src.string.strerror_r
libc.src.string.strlcat
libc.src.string.strlcpy
libc.src.string.strlen
Expand All @@ -59,10 +65,12 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.string.strnlen
libc.src.string.strpbrk
libc.src.string.strrchr
libc.src.string.strsep
libc.src.string.strspn
libc.src.string.strstr
libc.src.string.strtok
libc.src.string.strtok_r
libc.src.string.strxfrm

# inttypes.h entrypoints
libc.src.inttypes.imaxabs
Expand Down Expand Up @@ -117,6 +125,36 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.stdbit.stdc_first_trailing_one_ui
libc.src.stdbit.stdc_first_trailing_one_ul
libc.src.stdbit.stdc_first_trailing_one_ull
libc.src.stdbit.stdc_count_zeros_uc
libc.src.stdbit.stdc_count_zeros_us
libc.src.stdbit.stdc_count_zeros_ui
libc.src.stdbit.stdc_count_zeros_ul
libc.src.stdbit.stdc_count_zeros_ull
libc.src.stdbit.stdc_count_ones_uc
libc.src.stdbit.stdc_count_ones_us
libc.src.stdbit.stdc_count_ones_ui
libc.src.stdbit.stdc_count_ones_ul
libc.src.stdbit.stdc_count_ones_ull
libc.src.stdbit.stdc_has_single_bit_uc
libc.src.stdbit.stdc_has_single_bit_us
libc.src.stdbit.stdc_has_single_bit_ui
libc.src.stdbit.stdc_has_single_bit_ul
libc.src.stdbit.stdc_has_single_bit_ull
libc.src.stdbit.stdc_bit_width_uc
libc.src.stdbit.stdc_bit_width_us
libc.src.stdbit.stdc_bit_width_ui
libc.src.stdbit.stdc_bit_width_ul
libc.src.stdbit.stdc_bit_width_ull
libc.src.stdbit.stdc_bit_floor_uc
libc.src.stdbit.stdc_bit_floor_us
libc.src.stdbit.stdc_bit_floor_ui
libc.src.stdbit.stdc_bit_floor_ul
libc.src.stdbit.stdc_bit_floor_ull
libc.src.stdbit.stdc_bit_ceil_uc
libc.src.stdbit.stdc_bit_ceil_us
libc.src.stdbit.stdc_bit_ceil_ui
libc.src.stdbit.stdc_bit_ceil_ul
libc.src.stdbit.stdc_bit_ceil_ull

# stdlib.h entrypoints
libc.src.stdlib.abort
Expand All @@ -132,6 +170,9 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.stdlib.llabs
libc.src.stdlib.lldiv
libc.src.stdlib.qsort
libc.src.stdlib.qsort_r
libc.src.stdlib.rand
libc.src.stdlib.srand
libc.src.stdlib.strtod
libc.src.stdlib.strtof
libc.src.stdlib.strtol
Expand Down Expand Up @@ -212,6 +253,9 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ldexp
libc.src.math.ldexpf
libc.src.math.ldexpl
libc.src.math.llogb
libc.src.math.llogbf
libc.src.math.llogbl
libc.src.math.llrint
libc.src.math.llrintf
libc.src.math.llrintl
Expand Down

0 comments on commit a028398

Please sign in to comment.