__stack_chk_fail should be provided by libc.a, not startup files. Add __stack_chk_fail to existing linux and arm entrypoints. On Windows (when not targeting MinGW), it seems that the corresponding function identifier is __security_check_cookie, so no entrypoint is added for Windows. Baremetal targets also ought to be compileable with `-fstack-protector*` There is no common header for this prototype, since calls to __stack_chk_fail are meant to be inserted by the compiler upon function return when compiled `-fstack-protector*`.
136 lines
3.3 KiB
Plaintext
136 lines
3.3 KiB
Plaintext
set(TARGET_LIBC_ENTRYPOINTS
|
|
# ctype.h entrypoints
|
|
libc.src.ctype.isalnum
|
|
libc.src.ctype.isalpha
|
|
libc.src.ctype.isascii
|
|
libc.src.ctype.isblank
|
|
libc.src.ctype.iscntrl
|
|
libc.src.ctype.isdigit
|
|
libc.src.ctype.isgraph
|
|
libc.src.ctype.islower
|
|
libc.src.ctype.isprint
|
|
libc.src.ctype.ispunct
|
|
libc.src.ctype.isspace
|
|
libc.src.ctype.isupper
|
|
libc.src.ctype.isxdigit
|
|
libc.src.ctype.toascii
|
|
libc.src.ctype.tolower
|
|
libc.src.ctype.toupper
|
|
|
|
# errno.h entrypoints
|
|
libc.src.errno.errno
|
|
|
|
# string.h 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
|
|
libc.src.string.memcpy
|
|
libc.src.string.memmem
|
|
libc.src.string.memmove
|
|
libc.src.string.mempcpy
|
|
libc.src.string.memrchr
|
|
libc.src.string.memset
|
|
libc.src.string.rindex
|
|
libc.src.string.stpcpy
|
|
libc.src.string.stpncpy
|
|
libc.src.string.strcasecmp
|
|
libc.src.string.strcasestr
|
|
libc.src.string.strcat
|
|
libc.src.string.strchr
|
|
libc.src.string.strchrnul
|
|
libc.src.string.strcmp
|
|
libc.src.string.strcpy
|
|
libc.src.string.strcspn
|
|
libc.src.string.strlcat
|
|
libc.src.string.strlcpy
|
|
libc.src.string.strlen
|
|
libc.src.string.strncasecmp
|
|
libc.src.string.strncat
|
|
libc.src.string.strncmp
|
|
libc.src.string.strncpy
|
|
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
|
|
|
|
# inttypes.h entrypoints
|
|
libc.src.inttypes.imaxabs
|
|
libc.src.inttypes.imaxdiv
|
|
libc.src.inttypes.strtoimax
|
|
libc.src.inttypes.strtoumax
|
|
|
|
# stdlib.h entrypoints
|
|
libc.src.stdlib.abs
|
|
libc.src.stdlib.atoi
|
|
libc.src.stdlib.atof
|
|
libc.src.stdlib.atol
|
|
libc.src.stdlib.atoll
|
|
libc.src.stdlib.bsearch
|
|
libc.src.stdlib.div
|
|
libc.src.stdlib.labs
|
|
libc.src.stdlib.ldiv
|
|
libc.src.stdlib.llabs
|
|
libc.src.stdlib.lldiv
|
|
libc.src.stdlib.qsort
|
|
libc.src.stdlib.qsort_r
|
|
libc.src.stdlib.strtod
|
|
libc.src.stdlib.strtof
|
|
libc.src.stdlib.strtol
|
|
libc.src.stdlib.strtold
|
|
libc.src.stdlib.strtoll
|
|
libc.src.stdlib.strtoul
|
|
libc.src.stdlib.strtoull
|
|
|
|
# sys/mman.h entrypoints
|
|
libc.src.sys.mman.mmap
|
|
libc.src.sys.mman.munmap
|
|
|
|
# sys/prctl.h entrypoints
|
|
libc.src.sys.prctl.prctl
|
|
)
|
|
|
|
set(TARGET_LIBM_ENTRYPOINTS
|
|
# fenv.h entrypoints
|
|
libc.src.fenv.feclearexcept
|
|
libc.src.fenv.fedisableexcept
|
|
libc.src.fenv.feenableexcept
|
|
libc.src.fenv.fegetenv
|
|
libc.src.fenv.fegetexcept
|
|
libc.src.fenv.fegetexceptflag
|
|
libc.src.fenv.fegetround
|
|
libc.src.fenv.feholdexcept
|
|
libc.src.fenv.fesetenv
|
|
libc.src.fenv.fesetexceptflag
|
|
libc.src.fenv.fesetround
|
|
libc.src.fenv.feraiseexcept
|
|
libc.src.fenv.fetestexcept
|
|
libc.src.fenv.feupdateenv
|
|
|
|
# math.h entrypoints
|
|
libc.src.math.fabs
|
|
libc.src.math.fabsf
|
|
libc.src.math.fabsl
|
|
libc.src.math.fdim
|
|
libc.src.math.fdimf
|
|
libc.src.math.fdiml
|
|
libc.src.math.fmax
|
|
libc.src.math.fmaxf
|
|
libc.src.math.fmaxl
|
|
libc.src.math.fmin
|
|
libc.src.math.fminf
|
|
libc.src.math.fminl
|
|
)
|
|
|
|
set(TARGET_LLVMLIBC_ENTRYPOINTS
|
|
${TARGET_LIBC_ENTRYPOINTS}
|
|
${TARGET_LIBM_ENTRYPOINTS}
|
|
)
|