https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108969
--- Comment #24 from Jakub Jelinek <jakub at gcc dot gnu.org> --- You're right. libstdc++.so.6 would then initialize just the old symver copy and not the new one, which could be used by newer shared libraries. So that leaves the asm (".globl _Zwhatever"); in the header file.