http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46770
--- Comment #84 from H.J. Lu <hjl.tools at gmail dot com> 2012-04-17 20:28:25 UTC --- (In reply to comment #83) > > Paul suggested to me offline that maybe you're asking about > translation units with several .ctors or .init_array sections. Since > that doesn't happen in practice, I don't really care so much, and > would prefer to do the easy thing of just reversing the order of all > input sections, even to the point of reversing the order of the > sections within a translation unit. I think the important point is > that we do not reverse the order of entries within a single input > section. > I have seen codes like: void (*const init_array []) (void) __attribute__ ((section (".init_array"), aligned (sizeof (void *)))) = { &init_0, &init_1, &init_2 }; I don't want to reverse its order.