https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88437
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- For arrays, this is required by x86-64 psABI, which says that arrays 16 bytes or larger must be 16 bytes aligned. For other aggregates, this is an optimization, so that one can use vector loads/stores to copy the object etc. If you want to use section attribute and place the structures as an array, you need to use aligned attribute and specify the exact alignment you want, then it will be honored and no gaps will be inserted.