https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116855
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- the string array has an alignment of 16 byte so is this an issue? Since we know the alignment then there is possibility of incorrect behavior. .align 4 .set .LANCHOR0,. + 0 .type string, %object .size string, 1020 string: .zero 1020 base_address: &string offset from base address: 0 constant offset from base address: 0 step: 1 base alignment: 16 base misalignment: 0 offset alignment: 128 step alignment: 1 base_object: string Access function 0: {0, +, 1}_1 Though doing: char string[1020] __attribute__((aligned(1))); still cause the wrong thing.