[libc-commits] [libc] [libc][docs] split up platform and arch support (PR #120125)

Nick Desaulniers via libc-commits libc-commits at lists.llvm.org
Mon Dec 16 15:12:29 PST 2024


https://github.com/nickdesaulniers updated https://github.com/llvm/llvm-project/pull/120125

>From 21acfea94855dfd0744de87056112e25c335f18f Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers at google.com>
Date: Mon, 16 Dec 2024 10:56:24 -0800
Subject: [PATCH 1/4] [libc][docs] split up platform and arch support

Creates a new toctree "Support" under which we have distinct links to arch,
platform, and compiler support.

* Moved "Platform Support" from index landing page to new doc.
* Created explicit "Architecture Support". Requested in
  https://github.com/llvm/llvm-project/issues/118964#issuecomment-2531503046.
* Moved "Compiler Support" from Status toctree to new Support toctree.
---
 libc/docs/arch_support.rst     | 22 ++++++++++++++++++++++
 libc/docs/index.rst            | 29 +++++++++--------------------
 libc/docs/platform_support.rst | 20 ++++++++++++++++++++
 3 files changed, 51 insertions(+), 20 deletions(-)
 create mode 100644 libc/docs/arch_support.rst
 create mode 100644 libc/docs/platform_support.rst

diff --git a/libc/docs/arch_support.rst b/libc/docs/arch_support.rst
new file mode 100644
index 00000000000000..ad8e85679c5c18
--- /dev/null
+++ b/libc/docs/arch_support.rst
@@ -0,0 +1,22 @@
+Architecture Support
+====================
+
+The currently continuously tested CPU architures are:
+
+* x86_64
+* aarch64
+* arm
+* riscv32
+* riscv64
+
+i386 support is in the works.
+
+The currently continuously tested GPU architures are:
+
+* amdgcn-amd-amdhsa
+* nvptx64-nvidia-cuda
+
+See "`Bringup on a New OS or Architecture <porting.html>`__" for more
+information. Please do first file a bug in
+`our issue tracker <https://github.com/llvm/llvm-project/labels/libc>`__ before
+starting a port that you plan to upstream.
diff --git a/libc/docs/index.rst b/libc/docs/index.rst
index a17717aff9f781..ad06547f8e6e16 100644
--- a/libc/docs/index.rst
+++ b/libc/docs/index.rst
@@ -31,25 +31,6 @@ LLVM-libc aspires to a unique place in the software ecosystem.  The goals are:
 
 .. __: https://github.com/llvm/llvm-project/tree/main/libc/fuzzing
 
-Platform Support
-================
-
-Most development is currently targeting Linux on x86_64, aarch64, arm, and
-RISC-V. Embedded/baremetal targets are supported on arm and RISC-V, and Windows
-and MacOS have limited support (may be broken).  The Fuchsia platform is
-slowly replacing functions from its bundled libc with functions from this
-project.
-
-LLVM-libc does not guarantee backward compatibility with operating systems that have reached their EOL.
-Compatibility patches for obsolete operating systems will not be accepted.
-
-For Linux, we support kernel versions as listed on `kernel.org <https://kernel.org/>`_, including
-``longterm`` (not past EOL date), ``stable``, and ``mainline`` versions. We actively adopt new features
-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
 =================
 
@@ -73,10 +54,18 @@ stages there is no ABI stability in any form.
    :maxdepth: 1
    :caption: Status
 
-   compiler_support
    headers/index.rst
    c23
 
+.. toctree::
+   :hidden:
+   :maxdepth: 1
+   :caption: Support
+
+   arch_support
+   platform_support
+   compiler_support
+
 .. toctree::
    :hidden:
    :maxdepth: 1
diff --git a/libc/docs/platform_support.rst b/libc/docs/platform_support.rst
new file mode 100644
index 00000000000000..e3ee9246e2563e
--- /dev/null
+++ b/libc/docs/platform_support.rst
@@ -0,0 +1,20 @@
+Platform Support
+================
+
+Development is currently mostly focused on Linux.  MacOS and Windows has
+partial support, but has bitrot and isn't being tested continuously.
+
+LLVM-libc is currently being integrated into Android and Fuchsia operating
+systems via `overlay move <overlay_mode.html>`__.
+
+For Linux, we support kernel versions as listed on
+`kernel.org <https://kernel.org/>`_, including ``longterm`` (not past EOL
+date), ``stable``, and ``mainline`` versions. We actively adopt new features
+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.
+
+LLVM-libc does not guarantee backward compatibility with operating systems that
+have reached their EOL. Compatibility patches for obsolete operating systems
+will not be accepted.

>From 43c4a93a4c1b30dc3a9cb90709b872187b8a7d42 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: Mon, 16 Dec 2024 13:28:34 -0800
Subject: [PATCH 2/4] Update libc/docs/platform_support.rst

Co-authored-by: Carlo Cabrera <github at carlo.cab>
---
 libc/docs/platform_support.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libc/docs/platform_support.rst b/libc/docs/platform_support.rst
index e3ee9246e2563e..74c002669b1bbb 100644
--- a/libc/docs/platform_support.rst
+++ b/libc/docs/platform_support.rst
@@ -5,7 +5,7 @@ Development is currently mostly focused on Linux.  MacOS and Windows has
 partial support, but has bitrot and isn't being tested continuously.
 
 LLVM-libc is currently being integrated into Android and Fuchsia operating
-systems via `overlay move <overlay_mode.html>`__.
+systems via `overlay mode <overlay_mode.html>`__.
 
 For Linux, we support kernel versions as listed on
 `kernel.org <https://kernel.org/>`_, including ``longterm`` (not past EOL

>From 5785d5b100c8efd3a07ab719b62803628a2341e6 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers at google.com>
Date: Mon, 16 Dec 2024 14:53:38 -0800
Subject: [PATCH 3/4] fix typos, combine lists of CPU+GPU arches

---
 libc/docs/arch_support.rst | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/libc/docs/arch_support.rst b/libc/docs/arch_support.rst
index ad8e85679c5c18..6ab0486c7ea22f 100644
--- a/libc/docs/arch_support.rst
+++ b/libc/docs/arch_support.rst
@@ -1,20 +1,17 @@
 Architecture Support
 ====================
 
-The currently continuously tested CPU architures are:
+The currently continuously tested architectures are:
 
-* x86_64
 * aarch64
+* amdgpu
 * arm
+* nvptx
 * riscv32
 * riscv64
+* x86_64
 
-i386 support is in the works.
-
-The currently continuously tested GPU architures are:
-
-* amdgcn-amd-amdhsa
-* nvptx64-nvidia-cuda
+i386 support is [in the works](https://github.com/llvm/llvm-project/issues/93709).
 
 See "`Bringup on a New OS or Architecture <porting.html>`__" for more
 information. Please do first file a bug in

>From 28abaef6227330c1ec28a6575e0f1a008cc4072c Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers at google.com>
Date: Mon, 16 Dec 2024 15:12:16 -0800
Subject: [PATCH 4/4] add link for GPU

---
 libc/docs/platform_support.rst | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libc/docs/platform_support.rst b/libc/docs/platform_support.rst
index 74c002669b1bbb..2ce3d7282b304f 100644
--- a/libc/docs/platform_support.rst
+++ b/libc/docs/platform_support.rst
@@ -18,3 +18,5 @@ For Windows, we plan to support products within their lifecycle. Please refer to
 LLVM-libc does not guarantee backward compatibility with operating systems that
 have reached their EOL. Compatibility patches for obsolete operating systems
 will not be accepted.
+
+For GPU, reference `our GPU docs <gpu/index.html>`__.



More information about the libc-commits mailing list