6 LLVM-libc is not fully complete right now. Some programs may fail to build due
7 to missing functions (especially C++ ones). If you would like to help us
8 finish LLVM-libc, check out "Contributing to the libc project" in the sidebar
14 LLVM-libc aspires to a unique place in the software ecosystem. The goals are:
16 - Fully compliant with current C standards (C17 and upcoming C2x) and POSIX.
17 - Easily decomposed and embedded: Supplement or replace system C library
18 functionality easily. This is useful to get consistent math precision across
19 systems, or updated memory operations for newer microarchitectures. These
20 pieces will work on Linux, MacOS, Windows, and Fuchsia.
21 - The creation of fully static binaries without license implications.
22 - Increase whole program optimization opportunities for static binaries through
23 ability to inline math and memory operations.
24 - Reduce coding errors by coding in modern C++ through the use of lightweight
25 containers during coding that can be optimized away at runtime.
26 - Permit fuzzing and sanitizer instrumentation of user binaries including the
28 - A complete testsuite that tests both the public interface and internal
32 .. __: https://github.com/llvm/llvm-project/tree/main/libc/fuzzing
37 Most development is currently targeting Linux on x86_64, aarch64, arm, and
38 RISC-V. Embedded/baremetal targets are supported on arm and RISC-V, and Windows
39 and MacOS have limited support (may be broken). The Fuchsia platform is
40 slowly replacing functions from its bundled libc with functions from this
46 The libc is written to be ABI independent. Interfaces are generated using
47 headergen, so supporting arbitrary ABIs is possible. In it's initial
48 stages there is no ABI stability in any form.
95 :caption: External Links
97 Source Code <https://github.com/llvm/llvm-project/tree/main/libc>
98 Bug Reports <https://github.com/llvm/llvm-project/labels/libc>
99 Discourse <https://discourse.llvm.org/c/runtimes/libc>
100 Join the Discord <https://discord.gg/xS7Z362>
101 Discord Channel <https://discord.com/channels/636084430946959380/636732994891284500>
102 Buildbot <https://lab.llvm.org/buildbot/#/builders?tags=libc>