This patch primarily fixes the fenv implementation on Windows, since Windows uses the MXCSR in place of the x87 status registers for storing information about the floating point environment. This allows FEnv to work correctly on Windows, and successfully build. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D121839
162 lines
4.0 KiB
Plaintext
162 lines
4.0 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
|
|
|
|
# string.h entrypoints
|
|
libc.src.string.bcmp
|
|
libc.src.string.bzero
|
|
libc.src.string.memchr
|
|
libc.src.string.memcmp
|
|
libc.src.string.memcpy
|
|
libc.src.string.memmove
|
|
libc.src.string.memrchr
|
|
libc.src.string.memset
|
|
libc.src.string.strcat
|
|
libc.src.string.strchr
|
|
libc.src.string.strcmp
|
|
libc.src.string.strcpy
|
|
libc.src.string.strcspn
|
|
libc.src.string.strlen
|
|
libc.src.string.strncmp
|
|
libc.src.string.strncpy
|
|
libc.src.string.strnlen
|
|
libc.src.string.strpbrk
|
|
libc.src.string.strrchr
|
|
libc.src.string.strspn
|
|
libc.src.string.strstr
|
|
libc.src.string.strtok
|
|
libc.src.string.strtok_r
|
|
|
|
# inttypes.h entrypoints
|
|
libc.src.inttypes.strtoimax
|
|
libc.src.inttypes.strtoumax
|
|
|
|
# stdlib.h entrypoints
|
|
libc.src.stdlib.atoi
|
|
libc.src.stdlib.atol
|
|
libc.src.stdlib.atoll
|
|
libc.src.stdlib.strtol
|
|
libc.src.stdlib.strtoll
|
|
libc.src.stdlib.strtoul
|
|
libc.src.stdlib.strtoull
|
|
)
|
|
|
|
set(TARGET_LIBM_ENTRYPOINTS
|
|
# fenv.h entrypoints
|
|
libc.src.fenv.feclearexcept
|
|
libc.src.fenv.fegetenv
|
|
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
|
|
# TODO: Add double precision sin, cos and tan to this list.
|
|
# They are currently disabled because of a problem with the
|
|
# bot hardware.
|
|
libc.src.math.copysign
|
|
libc.src.math.copysignf
|
|
libc.src.math.copysignl
|
|
libc.src.math.ceil
|
|
libc.src.math.ceilf
|
|
libc.src.math.ceill
|
|
libc.src.math.cosf
|
|
libc.src.math.expf
|
|
libc.src.math.exp2f
|
|
libc.src.math.expm1f
|
|
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.floor
|
|
libc.src.math.floorf
|
|
libc.src.math.floorl
|
|
libc.src.math.fma
|
|
libc.src.math.fmaf
|
|
libc.src.math.fmin
|
|
libc.src.math.fminf
|
|
libc.src.math.fminl
|
|
libc.src.math.fmax
|
|
libc.src.math.fmaxf
|
|
libc.src.math.fmaxl
|
|
libc.src.math.frexp
|
|
libc.src.math.frexpf
|
|
libc.src.math.frexpl
|
|
libc.src.math.hypot
|
|
libc.src.math.hypotf
|
|
libc.src.math.ilogb
|
|
libc.src.math.ilogbf
|
|
libc.src.math.ilogbl
|
|
libc.src.math.ldexp
|
|
libc.src.math.ldexpf
|
|
libc.src.math.ldexpl
|
|
libc.src.math.llround
|
|
libc.src.math.llroundf
|
|
libc.src.math.llroundl
|
|
libc.src.math.log1pf
|
|
libc.src.math.log2f
|
|
libc.src.math.logf
|
|
libc.src.math.logb
|
|
libc.src.math.logbf
|
|
libc.src.math.logbl
|
|
libc.src.math.lround
|
|
libc.src.math.lroundf
|
|
libc.src.math.lroundl
|
|
libc.src.math.modf
|
|
libc.src.math.modff
|
|
libc.src.math.modfl
|
|
libc.src.math.nearbyint
|
|
libc.src.math.nearbyintf
|
|
libc.src.math.nearbyintl
|
|
libc.src.math.nextafter
|
|
libc.src.math.nextafterf
|
|
libc.src.math.nextafterl
|
|
libc.src.math.remainderf
|
|
libc.src.math.remainder
|
|
libc.src.math.remainderl
|
|
libc.src.math.remquof
|
|
libc.src.math.remquo
|
|
libc.src.math.remquol
|
|
libc.src.math.rint
|
|
libc.src.math.rintf
|
|
libc.src.math.rintl
|
|
libc.src.math.round
|
|
libc.src.math.roundf
|
|
libc.src.math.roundl
|
|
libc.src.math.sincosf
|
|
libc.src.math.sinf
|
|
libc.src.math.sqrt
|
|
libc.src.math.sqrtf
|
|
libc.src.math.sqrtl
|
|
libc.src.math.trunc
|
|
libc.src.math.truncf
|
|
libc.src.math.truncl
|
|
)
|
|
|
|
set(TARGET_LLVMLIBC_ENTRYPOINTS
|
|
${TARGET_LIBC_ENTRYPOINTS}
|
|
${TARGET_LIBM_ENTRYPOINTS}
|
|
)
|