https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108261
--- Comment #12 from Iain Sandoe <iains at gcc dot gnu.org> --- (In reply to Gaius Mulley from comment #11) > > 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?). comment #6 seems to indicate possible issues on linux too? (or I misunderstand) To find out what's actually happening will mean digging through the init in the debugger .. but yeah, there are clearly some differences (in some way) but honestly I'm not sure we can say exactly where yet. (I have a patch in the works that implements the v4 changes using the regular FE include additions that should fix the relocatable compiler issues + avoid some of the more intrusive changes ... after that I'll try to look at the init stuff when next I have some time)