https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108969
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #7) > I think they're exported correctly with both versions: > > $ nm -D --defined-only src/.libs/libstdc++.so.6.0.31 | grep '_ZSt[345]c' > 000000000025d7a0 B _ZSt3cin@@GLIBCXX_3.4 > 000000000025d7a0 B _ZSt3cin@@GLIBCXX_3.4.31 > 000000000025d560 B _ZSt4cerr@@GLIBCXX_3.4 > 000000000025d560 B _ZSt4cerr@@GLIBCXX_3.4.31 > 000000000025d440 B _ZSt4clog@@GLIBCXX_3.4 > 000000000025d440 B _ZSt4clog@@GLIBCXX_3.4.31 > 000000000025d680 B _ZSt4cout@@GLIBCXX_3.4.31 > 000000000025d680 B _ZSt4cout@@GLIBCXX_3.4 Note, the GLIBCXX_3.4 ones should be @, not @@. > But Florian's right, they're in the .a too. Unfortunately we build libstdc++ objects just once because even libstdc++.a contains -fPIC code. So not sure how to arrange it to be libstdc++.so only.