https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103364
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I really doubt this would be a gcc issue. Binutils has check is: if (oldbfd != NULL && (oldbfd->flags & BFD_PLUGIN) == 0 && (abfd->flags & BFD_PLUGIN) == 0 && ELF_ST_TYPE (sym->st_info) != h->type && (ELF_ST_TYPE (sym->st_info) == STT_TLS || h->type == STT_TLS))