http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50237
--- Comment #41 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-19 16:32:08 UTC --- It isn't mandated by the ELF spec, but if the linker doesn't do that and either keeps .ctors and .init_array etc. separate, or merges them but without ensuring the right order, ctor/dtor priorities won't work correctly.