https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108261
--- Comment #11 from Gaius Mulley <gaius at gcc dot gnu.org> --- > when a module has the same name but a different interface are the symbols distinct (i.e. mangled differently)? no. So, as you say, the ordering of the static link works fine. I had assumed that dynamic libraries also adhered to a similar ordering. >From what we are observing it seems that all the ctors fire but the API integrity is preserved due to library ordering? (Or have I misunderstood dynamic linking?). (Or worse this might be true on gnu/linux but not on other platforms?).