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

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.

---------

Co-authored-by: Carlo Cabrera <github@carlo.cab>
This commit is contained in:
Nick Desaulniers
2024-12-16 15:17:18 -08:00
committed by GitHub
parent a8456c9a2f
commit 13449c3de4
3 changed files with 50 additions and 19 deletions

View File

@@ -0,0 +1,19 @@
Architecture Support
====================
The currently continuously tested architectures are:
* aarch64
* amdgpu
* arm
* nvptx
* riscv32
* riscv64
* x86_64
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
`our issue tracker <https://github.com/llvm/llvm-project/labels/libc>`__ before
starting a port that you plan to upstream.

View File

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

View File

@@ -0,0 +1,22 @@
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 mode <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.
For GPU, reference `our GPU docs <gpu/index.html>`__.