http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52571
--- Comment #14 from mrs at gcc dot gnu.org <mrs at gcc dot gnu.org> 2012-05-10 16:06:20 UTC --- I'd disagree with that. I suspect 99% of them are not overridden, just like 99% of C functions are not weak and not overridden either. As for what should be done, doesn't matter, as since the system places no constraint on selection for the linker, there simply is nothing one can depend upon. I agree, selecting the one with the maximal alignment would be nice, but, just be wary this may cause one to try and make use of that property, and this just would turn into a complex form of bug pushing or bug hiding. Uncommoning things I think might well be slightly harder than trivial. A ctor is allowed to dynamically load a shared library, that defines a symbol, maybe, conditional on the environment. But with proper escape analysis, seems like one can figure it all out, just be careful with the edge cases.