CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
113 lines
3.5 KiB
ReStructuredText
113 lines
3.5 KiB
ReStructuredText
==================
|
|
The LLVM C Library
|
|
==================
|
|
|
|
LLVM-libc is a from-scratch implementation of the C standard library, built as
|
|
part of the LLVM project. It is designed to be **modular** (any piece can be
|
|
used independently), **multiplatform** (Linux, GPU, baremetal embedded, UEFI,
|
|
macOS, Windows), and written in modern C++ for correctness, performance, and
|
|
safety.
|
|
|
|
What Works Today
|
|
================
|
|
|
|
LLVM-libc is **actively used in production** for a targeted set of use cases,
|
|
though coverage is still growing and many programs that depend on the full C
|
|
standard library (regex, locale, wide-character I/O, etc.) will not yet compile
|
|
against it:
|
|
|
|
* **Static-linked Linux servers and containers** — used in production at Google
|
|
(servers and Pixel Buds) on x86-64 and AArch64.
|
|
* **GPU compute (AMDGPU, NVPTX)** — libc functions available in GPU kernels
|
|
via LLVM's offloading runtime. :doc:`GPU docs <gpu/index>`
|
|
* **Baremetal embedded (ARM, RISC-V, AArch64)** — minimal footprint builds
|
|
for microcontrollers and custom hardware.
|
|
* **UEFI applications** — experimental support for firmware development.
|
|
:doc:`UEFI docs <uefi/index>`
|
|
* **LLVM ecosystem internals** — libc++ and the offloading runtime consume
|
|
LLVM-libc directly via :doc:`Hand-in-Hand <hand_in_hand>`.
|
|
* **Toolchain integrations** — pieces of LLVM-libc are used in Android Bionic,
|
|
Fuchsia, Emscripten, and the ARM embedded toolchain.
|
|
|
|
Coverage is still growing. See the :doc:`implementation status <headers/index>`
|
|
pages for per-header detail, and the
|
|
:doc:`platform support <platform_support>` page for OS/architecture coverage.
|
|
|
|
Getting Started
|
|
===============
|
|
|
|
If you are new to LLVM-libc, :doc:`getting_started` is the right first stop.
|
|
It covers cloning, building, testing, and verifying your installation in one
|
|
place.
|
|
|
|
Want to use LLVM-libc *alongside* your system libc instead of replacing it?
|
|
See :doc:`overlay_mode`.
|
|
|
|
Get Involved
|
|
============
|
|
|
|
LLVM-libc is an active project and welcomes contributors of all experience
|
|
levels. See :doc:`contributing` to learn how to help.
|
|
|
|
* `Source code <https://github.com/llvm/llvm-project/tree/main/libc>`__
|
|
* `Bug reports <https://github.com/llvm/llvm-project/labels/libc>`__
|
|
* `Discourse <https://discourse.llvm.org/c/runtimes/libc>`__
|
|
* `Discord <https://discord.com/channels/636084430946959380/636732994891284500>`__
|
|
(`invite <https://discord.gg/xS7Z362>`__)
|
|
* `Buildbot <https://lab.llvm.org/buildbot/#/builders?tags=libc>`__
|
|
|
|
.. toctree::
|
|
:hidden:
|
|
:maxdepth: 1
|
|
:caption: Using LLVM-libc
|
|
|
|
getting_started
|
|
build_concepts
|
|
overlay_mode
|
|
full_host_build
|
|
full_cross_build
|
|
configure
|
|
hand_in_hand
|
|
|
|
.. toctree::
|
|
:hidden:
|
|
:maxdepth: 1
|
|
:caption: Platforms
|
|
|
|
gpu/index.rst
|
|
uefi/index.rst
|
|
|
|
.. toctree::
|
|
:hidden:
|
|
:maxdepth: 1
|
|
:caption: Implementation Status
|
|
|
|
headers/index.rst
|
|
arch_support
|
|
platform_support
|
|
compiler_support
|
|
|
|
.. toctree::
|
|
:hidden:
|
|
:maxdepth: 1
|
|
:caption: Development
|
|
|
|
contributing
|
|
build_and_test
|
|
dev/index.rst
|
|
porting
|
|
Maintainers
|
|
|
|
.. toctree::
|
|
:hidden:
|
|
:maxdepth: 1
|
|
:caption: Links
|
|
|
|
talks
|
|
Source Code <https://github.com/llvm/llvm-project/tree/main/libc>
|
|
Bug Reports <https://github.com/llvm/llvm-project/labels/libc>
|
|
Discourse <https://discourse.llvm.org/c/runtimes/libc>
|
|
Join the Discord <https://discord.gg/xS7Z362>
|
|
Discord Channel <https://discord.com/channels/636084430946959380/636732994891284500>
|
|
Buildbot <https://lab.llvm.org/buildbot/#/builders?tags=libc>
|