[libc] Is the llvm-libc incomplete?

The level of completeness depends on your use case. If you need full POSIX compliance, then there are many missing pieces and holes. But, if you want a C standard compliant implementation, then the main missing pieces are:

  1. locale and i8n support.
  2. Double and higher precision math functions

With respect to RISC-V support, the RISC-V 64-bit support is more comprehensive than the aarch64 support and has only one missing piece in comparison to the x86_64 support. That missing piece is actively being worked on: ⚙ D147738 [libc] Enable linux directory entries syscalls in riscv64. Most of it will just work for RISC-V 32-bit also but bringing it up on par with the 64-bit support is also actively being worked on: ⚙ D148371 [libc] Add support to compile some syscalls on 32 bit platform.

3 Likes