This patch adds the initial support required to support basic priting in `stdio.h` via `puts` and `fputs`. This is done using the existing LLVM C library `File` API. In this sense we can think of the RPC interface as our system call to dump the character string to the file. We carry a `uintptr_t` reference as our native "file descriptor" as it will be used as an opaque reference to the host's version once functions like `fopen` are supported. For some unknown reason the declaration of the `StdIn` variable causes both the AMDGPU and NVPTX backends to crash if I use the `READ` flag. This is not used currently as we only support output now, but it needs to be fixed Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D151282
88 lines
2.1 KiB
Plaintext
88 lines
2.1 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.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.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.strspn
|
|
libc.src.string.strstr
|
|
libc.src.string.strtok
|
|
libc.src.string.strtok_r
|
|
|
|
# stdlib.h entrypoints
|
|
libc.src.stdlib.abs
|
|
libc.src.stdlib.labs
|
|
libc.src.stdlib.llabs
|
|
|
|
# stdlib.h entrypoints
|
|
libc.src.stdlib._Exit
|
|
libc.src.stdlib.atexit
|
|
libc.src.stdlib.exit
|
|
|
|
# Only implemented in the test suite
|
|
libc.src.stdlib.malloc
|
|
libc.src.stdlib.aligned_alloc
|
|
libc.src.stdlib.realloc
|
|
libc.src.stdlib.free
|
|
|
|
# errno.h entrypoints
|
|
libc.src.errno.errno
|
|
|
|
# stdio.h entrypoints
|
|
libc.src.stdio.puts
|
|
libc.src.stdio.fputs
|
|
libc.src.stdio.stdin
|
|
libc.src.stdio.stdout
|
|
libc.src.stdio.stderr
|
|
)
|
|
|
|
set(TARGET_LLVMLIBC_ENTRYPOINTS
|
|
${TARGET_LIBC_ENTRYPOINTS}
|
|
)
|
|
|