http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53419
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-05-21 10:33:57 UTC --- extern func_ptr_t *init_array_end; isn't an option, because then init_array_end is a pointer variable which needs to be allocated somewhere and initialized somewhere, with [] it can be just a linker defined symbol. I guess you need an optimization barrier (compiler specific).