Skip to content

Commit abe2ad0

Browse files
committed
[ATfE] Remove experimental status of llvmlibc
Update the LLVM libc doc to remove "experimental" status, clarify the scope, add a more prominent link from the main README.
1 parent 4ff9162 commit abe2ad0

2 files changed

Lines changed: 15 additions & 13 deletions

File tree

arm-software/embedded/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,10 @@ Install appropriate latest supported Microsoft Visual C++ Redistributable packag
104104
> If you are using the toolchain in a shared environment with untrusted input,
105105
> make sure it is sufficiently sandboxed.
106106
107+
> [!NOTE]
108+
> See [Using LLVM libc](docs/llvmlibc.md#using-llvm-libc) for details about
109+
> using LLVM Project standard C library provided with ATfE.
110+
107111
To use the toolchain, on the command line you need to provide the following options:
108112
* The target triple.
109113
* The FPU to use.

arm-software/embedded/docs/llvmlibc.md

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
1-
# Experimental LLVM libc support
1+
# LLVM libc support
22

33
Arm Toolchain for Embedded (ATfE) uses
44
[`picolibc`](https://github.com/picolibc/picolibc) as the standard C
5-
library. For experimental and evaluation purposes, you can instead
6-
choose to use the LLVM project's own C library.
7-
8-
> [!WARNING]
9-
> `llvmlibc` support in Arm Toolchain for Embedded is
10-
> an experimental technology preview, with significant limitations.
5+
library. This will change in a future version to use the [LLVM project's own
6+
C library](https://libc.llvm.org/) that is now provided with ATfE to facilitate
7+
the migration.
118

129
## Building the toolchain with LLVM libc
1310

@@ -300,10 +297,11 @@ $ LIBC=llvmlibc make build
300297

301298
## Limitations of LLVM libc in Arm Toolchain for Embedded
302299

303-
At present, this toolchain builds the C++ libraries limited to what is supported
304-
in conjunction with LLVM libc. For example, file I/O and fstream are not
305-
available - only console iostream can be used.
300+
LLVM libc is a production-quality implementation, but it currently provides only
301+
a subset of the functions defined by the C standard.
302+
Its coverage is sufficient for typical embedded use cases and continues to grow
303+
based on user needs and requests.
306304

307-
LLVM libc is a work in
308-
progress. It is incomplete: not all standard C library functionality
309-
is provided yet.
305+
ATfE builds of the C++ libraries are limited to what is supported
306+
in conjunction with LLVM libc. For example, file I/O and `fstream` are not
307+
available - only console `iostream` can be used.

0 commit comments

Comments
 (0)