| CARVIEW |
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.
libc
Navigation
Status & Support
Simple Usage
Advanced Usage
- Full Host Build
- Full Cross Build
- Overlay Mode
- libc for GPUs
- libc for UEFI
- Configure Options
- Hand-in-Hand
Development
- LLVM-libc Maintainers
- Building and Testing the libc
- Developer Guides
- Bringup on a New OS or Architecture
- Contributing to the libc Project
Useful Links