http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46770
--- Comment #65 from Ian Lance Taylor <ian at airs dot com> 2011-06-23 16:22:05 UTC --- The mainline versions of both GNU ld and gold now put .ctors sections into .init_array sections, and put .dtors sections into .fini_array sections. .ctors/.dtors sections with priorities are sorted correctly with .init_array/.fini_array sections with priorities. The gcc patch is still useful as it will permit eliminating the support for constructors and destructors in crtbegin.o and crtend.o. If we can do that I believe that crtend.o can be removed, and crtbegin.o will only be needed to call _Jv_RegisterClasses.