http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53419
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |RESOLVED Resolution| |INVALID --- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-05-19 21:54:03 UTC --- > extern func_ptr_t init_array_begin[1]; > extern func_ptr_t init_array_end[1]; The array sizes say they are size of one. If you want to be correct and not allow GCC to optimize away the check because array overflow, use [] instead of [1].