2
2
The LLVM C Library
3
3
==================
4
4
5
+ .. warning ::
6
+ LLVM-libc is not yet ABI stable; currently only static linking is supported.
7
+ LLVM-libc developers retain the right to modify the ABI of types used
8
+ throughout the library. Another libc should be preferred if ABI stability is
9
+ a requirement.
10
+
5
11
.. note ::
6
12
LLVM-libc is not fully complete right now. Some programs may fail to build due
7
- to missing functions (especially C++ ones) . If you would like to help us
8
- finish LLVM-libc, check out "Contributing to the libc project" in the sidebar
9
- or ask on discord.
13
+ to missing functions. If you would like to help us finish LLVM-libc, check
14
+ out "` Contributing to the libc project < contributing.html >`__ " in the sidebar
15
+ or ask on ` discord < https://discord.com/channels/636084430946959380/636732994891284500 >`__ .
10
16
11
17
Introduction
12
18
============
13
19
14
20
LLVM-libc aspires to a unique place in the software ecosystem. The goals are:
15
21
16
- - Fully compliant with current C standards (C17 and upcoming C2x) and POSIX.
22
+ - Fully compliant with current C23 and POSIX.1-2024 standards .
17
23
- Easily decomposed and embedded: Supplement or replace system C library
18
24
functionality easily. This is useful to get consistent math precision across
19
25
systems, or updated memory operations for newer microarchitectures. These
@@ -27,9 +33,7 @@ LLVM-libc aspires to a unique place in the software ecosystem. The goals are:
27
33
libc functions.
28
34
- A complete testsuite that tests both the public interface and internal
29
35
algorithms.
30
- - `Fuzzing `__
31
-
32
- .. __ : https://github.com/llvm/llvm-project/tree/main/libc/fuzzing
36
+ - `Fuzzing <https://github.com/llvm/llvm-project/tree/main/libc/fuzzing >`__
33
37
34
38
Platform Support
35
39
================
@@ -50,13 +54,6 @@ from ``linux-next``.
50
54
For Windows, we plan to support products within their lifecycle. Please refer to
51
55
`Search Product and Services Lifecycle Information <https://learn.microsoft.com/en-us/lifecycle/products/?products=windows >`_ for more information.
52
56
53
- ABI Compatibility
54
- =================
55
-
56
- The libc is written to be ABI independent. Interfaces are generated using
57
- headergen, so supporting arbitrary ABIs is possible. In it's initial
58
- stages there is no ABI stability in any form.
59
-
60
57
.. toctree ::
61
58
:hidden:
62
59
:maxdepth: 2
0 commit comments