Jonathan Wakely <jwak...@redhat.com> writes: > This looks more accurate than the current wording, yes. > > Specifically, only objects/libraries "built with experimental standard > support" need to be recompiled. > > LGTM, but I'll let Jason give approval. >
ping (I've found myself citing this section a few times recently and don't want people to get the wrong idea). > > > > On Wed, 12 Feb 2025 at 09:30, Sam James <s...@gentoo.org> wrote: >> >> C++ ABI for C++ standards with full support by GCC (rather than those >> marked as experimental per https://gcc.gnu.org/projects/cxx-status.html) >> should be stable. It's certainly not the case in 2025 that one needs a >> full world rebuild for C++ libraries using e.g. the default standard >> or any other supported standard by C++, unless it is marked experimental >> where we provide no guarantees. >> --- >> htdocs/bugs/index.html | 16 ++++++++-------- >> 1 file changed, 8 insertions(+), 8 deletions(-) >> >> diff --git a/htdocs/bugs/index.html b/htdocs/bugs/index.html >> index d6556b26..99d19095 100644 >> --- a/htdocs/bugs/index.html >> +++ b/htdocs/bugs/index.html >> @@ -633,14 +633,14 @@ changed the parser rules so that <code><::</code> >> works as expected. >> components: the first defines how the elements of classes are laid >> out, how functions are called, how function names are mangled, etc; >> the second part deals with the internals of the objects in libstdc++. >> -Although we strive for a non-changing ABI, so far we have had to >> -modify it with each major release. If you change your compiler to a >> -different major release <em>you must recompile all libraries that >> -contain C++ code</em>. If you fail to do so you risk getting linker >> -errors or malfunctioning programs. >> -It should not be necessary to recompile if you have changed >> -to a bug-fix release of the same version of the compiler; bug-fix >> -releases are careful to avoid ABI changes. See also the >> +For C++ standards marked as >> +<a href="https://gcc.gnu.org/projects/cxx-status.html">experimental</a>, >> +stable ABI is not guaranteed: for these, if you change your compiler to a >> +different major release <em>you must recompile any such libraries built >> +with experimental standard support that contain C++ code</em>. If you fail >> +to do so, you risk getting linker errors or malfunctioning programs. >> +It should not be necessary to recompile for C++ standards supported fully >> +by GCC, such as the default standard. See also the >> <a >> href="https://gcc.gnu.org/onlinedocs/gcc/Compatibility.html">compatibility >> section</a> of the GCC manual.</p> >> >> -- >> 2.48.1 >>