1================== 2The LLVM C Library 3================== 4 5.. warning:: 6 LLVM-libc is not yet ABI stable; currently only static linking is supported. 7 LLVM-libc developers retain the right to modify the ABI of types used 8 throughout the library. Another libc should be preferred if ABI stability is 9 a requirement. 10 11.. note:: 12 LLVM-libc is not fully complete right now. Some programs may fail to build due 13 to missing functions. If you would like to help us finish LLVM-libc, check 14 out "`Contributing to the libc project <contributing.html>`__" in the sidebar 15 or ask on `discord <https://discord.com/channels/636084430946959380/636732994891284500>`__. 16 17Introduction 18============ 19 20LLVM-libc aspires to a unique place in the software ecosystem. The goals are: 21 22- Fully compliant with current C23 and POSIX.1-2024 standards. 23- Easily decomposed and embedded: Supplement or replace system C library 24 functionality easily. This is useful to get consistent math precision across 25 systems, or updated memory operations for newer microarchitectures. These 26 pieces will work on Linux, MacOS, Windows, and Fuchsia. 27- The creation of fully static binaries without license implications. 28- Increase whole program optimization opportunities for static binaries through 29 ability to inline math and memory operations. 30- Reduce coding errors by coding in modern C++ through the use of lightweight 31 containers during coding that can be optimized away at runtime. 32- Permit fuzzing and sanitizer instrumentation of user binaries including the 33 libc functions. 34- A complete testsuite that tests both the public interface and internal 35 algorithms. 36- `Fuzzing <https://github.com/llvm/llvm-project/tree/main/libc/fuzzing>`__ 37 38 39.. toctree:: 40 :hidden: 41 :maxdepth: 1 42 :caption: Status & Support 43 44 headers/index.rst 45 arch_support 46 platform_support 47 compiler_support 48 49.. toctree:: 50 :hidden: 51 :maxdepth: 1 52 :caption: Simple Usage 53 54 getting_started 55 56.. toctree:: 57 :hidden: 58 :maxdepth: 1 59 :caption: Advanced Usage 60 61 full_host_build 62 full_cross_build 63 overlay_mode 64 gpu/index.rst 65 configure 66 67.. toctree:: 68 :hidden: 69 :maxdepth: 1 70 :caption: Development 71 72 build_and_test 73 dev/index.rst 74 porting 75 contributing 76 77.. toctree:: 78 :hidden: 79 :maxdepth: 1 80 :caption: Useful Links 81 82 talks 83 Source Code <https://github.com/llvm/llvm-project/tree/main/libc> 84 Bug Reports <https://github.com/llvm/llvm-project/labels/libc> 85 Discourse <https://discourse.llvm.org/c/runtimes/libc> 86 Join the Discord <https://discord.gg/xS7Z362> 87 Discord Channel <https://discord.com/channels/636084430946959380/636732994891284500> 88 Buildbot <https://lab.llvm.org/buildbot/#/builders?tags=libc> 89