|
1 | | -# Experimental LLVM libc support |
| 1 | +# LLVM libc support |
2 | 2 |
|
3 | 3 | Arm Toolchain for Embedded (ATfE) uses |
4 | 4 | [`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. |
11 | 8 |
|
12 | 9 | ## Building the toolchain with LLVM libc |
13 | 10 |
|
@@ -300,10 +297,11 @@ $ LIBC=llvmlibc make build |
300 | 297 |
|
301 | 298 | ## Limitations of LLVM libc in Arm Toolchain for Embedded |
302 | 299 |
|
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. |
306 | 304 |
|
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