Files
RedBear-OS/local/recipes/dev/libclc/source/libc/docs/index.rst
T
vasilito cb424d7448 build: static patch-sanity linter (shift-left the malformed-patch class)
verify-patch-sanity.py validates every active recipe .patch has internally-
consistent hunk line counts — catching the 'malformed patch at line N' failure
at commit/CI/preflight time instead of hours into a cook. This cycle hit that
class three times (qtwaylandscanner, sddm, xwayland), each only discovered when
cookbook tried to apply the patch.

Running it across the repo found 29 latent malformed patches (validated against
GNU patch: e.g. relibc/P3-sysv-ipc reproduces 'malformed patch at line 22').
They were harmless only because they sit in vendored recipes (baked, not re-
applied) — but would fail on any version-bump re-derivation. --fix recounts the
hunk headers (body untouched) and repaired all 29.

Wired into build-preflight.sh (Phase 1.0D) and redbear-ci.yml, with a unit test
(test-patch-sanity.sh). Skips archived/legacy trees and unvalidatable formats
(empty placeholders, bare-@@ git hunks).
2026-08-01 05:13:02 +03:00

92 lines
2.7 KiB
ReStructuredText

==================
The LLVM C Library
==================
.. warning::
LLVM-libc is not yet ABI stable; currently only static linking is supported.
LLVM-libc developers retain the right to modify the ABI of types used
throughout the library. Another libc should be preferred if ABI stability is
a requirement.
.. 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 <contributing.html>`__" in the sidebar
or ask on `discord <https://discord.com/channels/636084430946959380/636732994891284500>`__
(`invite link <https://discord.gg/xS7Z362>`__).
Introduction
============
LLVM-libc aspires to a unique place in the software ecosystem. The goals are:
- Fully compliant with current C23 and POSIX.1-2024 standards.
- Easily decomposed and embedded: Supplement or replace system C library
functionality easily. This is useful to get consistent math precision across
systems, or updated memory operations for newer microarchitectures. These
pieces will work on Linux, MacOS, Windows, and Fuchsia.
- The creation of fully static binaries without license implications.
- Increase whole program optimization opportunities for static binaries through
ability to inline math and memory operations.
- Reduce coding errors by coding in modern C++ through the use of lightweight
containers during coding that can be optimized away at runtime.
- Permit fuzzing and sanitizer instrumentation of user binaries including the
libc functions.
- A complete testsuite that tests both the public interface and internal
algorithms.
- `Fuzzing <https://github.com/llvm/llvm-project/tree/main/libc/fuzzing>`__
.. toctree::
:hidden:
:maxdepth: 1
:caption: Status & Support
headers/index.rst
arch_support
platform_support
compiler_support
.. toctree::
:hidden:
:maxdepth: 1
:caption: Simple Usage
getting_started
.. toctree::
:hidden:
:maxdepth: 1
:caption: Advanced Usage
full_host_build
full_cross_build
overlay_mode
gpu/index.rst
uefi/index.rst
configure
.. toctree::
:hidden:
:maxdepth: 1
:caption: Development
Maintainers
build_and_test
dev/index.rst
porting
contributing
.. toctree::
:hidden:
:maxdepth: 1
:caption: Useful 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>