[libcxx-commits] [libcxx] [libc++] Document our ABI guarantees and what ABI flags exist to modify these guarantees (PR #132615)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Jun 6 07:41:54 PDT 2025
================
@@ -0,0 +1,207 @@
+.. _ABIGuarantees:
+
+=======================
+libc++'s ABI Guarantees
+=======================
+
+libc++ provides multiple types of ABI guarantees. These include stability of the layout of structs, the linking of TUs
+built against different versions and configurations of the library, and more. This document describes what guarantees
+libc++ provides in these different areas as well as what options exist for vendors to affect these guarantees.
+
+Note that all of the guarantees listed below come with an asterisk that there may be circumstances where we deem it
+worth it to break that guarantee. These breaks are communicated to vendors by CCing #libcxx-vendors on GitHub. If you
+are a vendor, please ask to be added to that group to be notified about changes that potentially affect you.
+
+ABI flags
+=========
+All the ABI flags listed below can be added to the ``__config_site`` header by the vendor to opt in to an ABI breaking
+change. These flags should never be set by the user. When porting libc++ to a new platform it should be considered by
+the vendor which flags should be enabled, assuming ABI stability is relevant to them. Please contact the libc++ team on
----------------
ldionne wrote:
```suggestion
change. These flags should never be set by the user. When porting libc++ to a new platform, vendors should consider which flags to enable, assuming that ABI stability is relevant to them. Please contact the libc++ team on
```
https://github.com/llvm/llvm-project/pull/132615
More information about the libcxx-commits
mailing list