https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113403
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Note, normally libgcc.a symbols are made .hidden (and that is the case of even these 2 functions). So, when not using -shared-libgcc (implicitly or explicitly), every shared library or binary uses its own copy of the registry, rather than a shared one. So, if we wanted to make the symbols STB_GNU_UNIQUE, we'd also need to stop making them .hidden.