From f9272f312c197fad48683334129239799d9955af Mon Sep 17 00:00:00 2001 From: Nick Desaulniers Date: Mon, 16 Dec 2024 10:06:32 -0800 Subject: [PATCH] [libc][docs] Refresh landing page - Replace section on ABI Compatibility with a rephrased warning at the top of the page. - Add links to the Note. - Update C and POSIX standards. - Inline link to fuzzing. --- libc/docs/index.rst | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/libc/docs/index.rst b/libc/docs/index.rst index a17717aff9f78..c1fa4bb0f3146 100644 --- a/libc/docs/index.rst +++ b/libc/docs/index.rst @@ -2,18 +2,24 @@ 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 (especially C++ ones). If you would like to help us - finish LLVM-libc, check out "Contributing to the libc project" in the sidebar - or ask on discord. + 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 `__. Introduction ============ LLVM-libc aspires to a unique place in the software ecosystem. The goals are: -- Fully compliant with current C standards (C17 and upcoming C2x) and POSIX. +- 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 @@ -27,9 +33,7 @@ LLVM-libc aspires to a unique place in the software ecosystem. The goals are: 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 +- `Fuzzing `__ Platform Support ================ @@ -50,13 +54,6 @@ from ``linux-next``. For Windows, we plan to support products within their lifecycle. Please refer to `Search Product and Services Lifecycle Information `_ for more information. -ABI Compatibility -================= - -The libc is written to be ABI independent. Interfaces are generated using -headergen, so supporting arbitrary ABIs is possible. In it's initial -stages there is no ABI stability in any form. - .. toctree:: :hidden: :maxdepth: 2