https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68016
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Maxim Ostapenko from comment #8) > Jakub is right, here an example, where I believe COPY relocations are not > involved: Yeah, that, semantic interposition is used heavily not just by libasan itself, so trying to pretend it does not exist is wrong (GCC carefully distinguishes what can and what can't be interposed based on visibility attributes etc.). But instead of those h and f variables you can e.g just use static block scope variables in C++ inline functions inlined in multiple shared libraries, those also have COMDAT linkage and one of the definitions will be used while the other one will refer to the other library's definition instead (whether using STB_GNU_UNIQUE or not). Or template variables etc.