https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114532
--- Comment #10 from Xi Ruoyao <xry111 at gcc dot gnu.org> --- Anyway if you really require a specific order of some data you need to either use -fno-toplevel-reorder, or group the data with a struct or linker script explicitly. Relying on any implicit behavior like -fcommon is just fragile and it may "break" if the compiler or the linker are changed.