[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:16:53 PST 2024


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

>From d367b0667df876a763bc776ef322b0f0d79750e9 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            | 28 +++++++++-------------------
 libc/docs/platform_support.rst | 20 ++++++++++++++++++++
 3 files changed, 51 insertions(+), 19 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 c1fa4bb0f31468..0cbf75f5e0ef2d 100644
--- a/libc/docs/index.rst
+++ b/libc/docs/index.rst
@@ -35,24 +35,6 @@ LLVM-libc aspires to a unique place in the software ecosystem.  The goals are:
   algorithms.
 - `Fuzzing <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.
 
 .. toctree::
    :hidden:
@@ -70,10 +52,18 @@ For Windows, we plan to support products within their lifecycle. Please refer to
    :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 8f71bb6646ba0e4a330e5bad39f28759e5c7ecfc 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 cf11075396dcadf9783f4e5bfe083ef0d2551f03 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 4cb81c147c6dea1818d98ac9012d3f62c55d3097 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