http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55909
--- Comment #34 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2013-01-09 19:17:00 UTC --- > so > [10] .init PROGBITS 0000000000059c90 00059c90 > [12] .fini PROGBITS 00000000000caec0 000caec0 > [18] .init_array INIT_ARRAY 00000000001ea510 000ea510 > [25] .plt PROGBITS 00000000001f0c00 000f0c00 > exist and .fini_array has vanished (or been renamed) > > Let me ask, is it g++ itself that assembles the header or is it passed off to > elfutils or similar? Meanwhile I'll rebuild 4.7.2-8 with > --disable-initfini-array explicitly set though I don't think I'm going to see > much difference. The (static) linker creates executables or shared libraries from the object files generated by the compiler and from the system startup files. What's the system compiler on your machine? Is there an earlier C++ compiler that you can install and test?