[libc] Enable __llvm_libc_syscall and fork
authorMikhail R. Gadelha <mikhail@igalia.com>
Wed, 15 Mar 2023 17:10:54 +0000 (14:10 -0300)
committerMikhail R. Gadelha <mikhail@igalia.com>
Thu, 16 Mar 2023 09:16:14 +0000 (06:16 -0300)
commit1990ce74dcbd5fbb5c71672b50730007be3dcd5e
tree53e810995cbcd73a40b367770e167786a0d77549
parentfe99de31d949187fa9759de581041bb1aff460ea
[libc] Enable __llvm_libc_syscall and fork

This patch enables the remaining calls from unistd.

The test cases had to be updated to:
1. Use SYS_symlinkat if SYS_symlink is not available
2. Use SYS_readlinkat if SYS_readlink is not available
3. Use SYS_unlinkat if SYS_unlink is not available
4. Use SYS_openat if SYS_open is not available

We also abort compilation if neither of the syscalls mentioned above are
available.

Differential Revision: https://reviews.llvm.org/D146161
libc/config/linux/riscv64/entrypoints.txt
libc/src/unistd/linux/fork.cpp
libc/test/src/unistd/syscall_test.cpp