The LLVM C Library¶
Note
LLVM-libc is not fully complete right now. Some programs may fail to build due to missing functions. If you would like to help us finish LLVM-libc, check out “Contributing to the libc project” in the sidebar or ask on discord (invite link).
Introduction¶
LLVM-libc is an implementation of the C standard library written in C++ focused on embodying three main principles:
-
Modular
Multiplatform
Community Oriented
Our current goal is to support users who want to make libc part of their application. This can be through static linking libc into the application, which is common for containerized servers or embedded devices. It can also be through using the LLVM-libc internal sources as a library, such as through the Hand-in-Hand interface.
For more details please watch the talk “Climbing the ladder of Complete by Michael Jones.”.
LLVM-libc is currently used in Google servers, Pixel Buds, and other Google projects. Through Project Hand-in-Hand LLVM-libc’s code is used in other LLVM projects, specifically libc++ and the offloading runtime. There is an experiemental config to use LLVM-libc in Emscripten and the ARM embedded toolchain. Pieces of LLVM-libc are being used in Bionic (Android’s libc) and Fuchsia.