C++ Logo

liaison

Advanced search

[wg14/wg21 liaison] Tracking C ABIs and ABI issues

From: Joseph Myers <joseph_at_[hidden]>
Date: Thu, 2 Sep 2021 18:57:34 +0000
To expand on something I mentioned in the atomics discussion in today's
WG14 meeting:

When new ABI-relevant features have been added to C, the community of
people involved in C implementations hasn't always done well at updating
relevant ABIs to achieve consistency between implementations for those new
features (where those implementations aim to allow mixing code built with
different implementations for the same architecture/OS - this isn't
relevant for all C implementations). Atomics are just one example where
the ABI issues are more complicated than usual, and where actual
incompatibilities have arisen between implementations as well as between C
and C++.

Should there be some maintained public list of C-relevant ABI documents
(mainly, not entirely, psABI documents for various architectures), and of
where they are maintained (if they are) / who the maintainer contacts are?
What about lists of ABI-relevant new features in different C versions that
ABIs may need to be updated for (and, for that matter, common extensions
it may be helpful to consider in ABIs), or some mailing list or other
location to help psABI maintainers (and other relevant ABI maintainers -
for example, new features often need to be handled by debug info formats
such as DWARF as well) track new features they need to pay attention to?
Or guidance on issues to consider when writing a psABI document? Do such
lists already exist somewhere?

As an example of the sort of thing I might hope to find in such a list of
ABI documents / contacts:

* x86-64:

PDFs https://gitlab.com/x86-psABIs/x86-64-ABI/-/wikis/x86-64-psABI
repository https://gitlab.com/x86-psABIs/x86-64-ABI
mailing list https://groups.google.com/g/x86-64-abi

* i386:

PDFs https://gitlab.com/x86-psABIs/i386-ABI/-/wikis/Intel386-psABI
repository https://gitlab.com/x86-psABIs/i386-ABI/-/tree/hjl/x86/master
mailing list https://groups.google.com/g/ia32-abi

* Arm and AArch64:

PDFs https://github.com/ARM-software/abi-aa/releases
repository https://github.com/ARM-software/abi-aa

* RISC-V:

PDFs https://github.com/riscv/riscv-elf-psabi-doc/releases
repository https://github.com/riscv/riscv-elf-psabi-doc

(but hopefully covering more architectures than that).

-- 
Joseph S. Myers
joseph_at_[hidden]

Received on 2021-09-02 13:57:42