Skip to content

Commit

Permalink
[libc][docs] split up platform and arch support (#120125)
Browse files Browse the repository at this point in the history
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 #118964 (comment).
* Moved "Compiler Support" from Status toctree to new Support toctree.

---------

Co-authored-by: Carlo Cabrera <github@carlo.cab>
  • Loading branch information
nickdesaulniers and carlocab authored Dec 16, 2024
1 parent a8456c9 commit 13449c3
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 19 deletions.
19 changes: 19 additions & 0 deletions libc/docs/arch_support.rst
Original file line number Diff line number Diff line change
@@ -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.
28 changes: 9 additions & 19 deletions libc/docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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
Expand Down
22 changes: 22 additions & 0 deletions libc/docs/platform_support.rst
Original file line number Diff line number Diff line change
@@ -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>`__.

0 comments on commit 13449c3

Please sign in to comment.