[libc-commits] [libc] [libc][docs] Refresh landing page (PR #120122)

Nick Desaulniers via libc-commits libc-commits at lists.llvm.org
Mon Dec 16 10:22:31 PST 2024


https://github.com/nickdesaulniers created https://github.com/llvm/llvm-project/pull/120122

- 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.


>From f9272f312c197fad48683334129239799d9955af Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers at google.com>
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 a17717aff9f781..c1fa4bb0f31468 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 <contributing.html>`__" in the sidebar
+  or ask on `discord <https://discord.com/channels/636084430946959380/636732994891284500>`__.
 
 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 <https://github.com/llvm/llvm-project/tree/main/libc/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 <https://learn.microsoft.com/en-us/lifecycle/products/?products=windows>`_ 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



More information about the libc-commits mailing list