https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108969
--- Comment #6 from Florian Weimer <fw at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #2) > --- a/libstdc++-v3/src/c++98/globals_io.cc > +++ b/libstdc++-v3/src/c++98/globals_io.cc > @@ -43,6 +43,12 @@ > // In macro form: > // _GLIBCXX_ASM_SYMVER(currentname, oldname, GLIBCXX_3.2) > > +#if __has_attribute(symver) && !_GLIBCXX_INLINE_VERSION > +# define SYMVER(sym) __attribute__((symver(#sym "@@GLIBCXX_3.4.31"))) > +#else > +# define SYMVER(sym) > +#endif Is there anything that prevents these symbol versions getting added for libstdc++.a? I think that could be problematic because a custom DSO typically will not have a version node for GLIBCXX_3.4.31.